Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Version ermitteln » Themenansicht

Autor Thread - Seiten: -1-
000
14.01.2017, 13:38 Uhr
PIC18F2550

Avatar von PIC18F2550

Hallo

wie kann ich Programmtechnisch feststellen ob das System ein K85/2/3/4/5 und was für ein Prom/Eprom drinn steckt.

Danke.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
14.01.2017, 14:35 Uhr
maleuma




Quellcode:

LD A,(0E011H) ; ab KC85/4 steht hier Menüwort „BASIC“
CP 7Fh        ; KC 85/4 ?
LD A,0        ; KC85/2 und KC85/3 = Version 0.0
RET NZ
LD A,(0EDFFH) ; CAOS-Versionsnummer
RET

siehe Handbuch CAOS 4.5 Seite 107
--
Mario.

Dieser Beitrag wurde am 14.01.2017 um 14:36 Uhr von maleuma editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
14.01.2017, 14:42 Uhr
maleuma



Ich hätte auch noch eine erweiterte Variante, falls Du noch unterscheiden musst zwischen KC85/2, KC85/3 mit CAOS 3.1 und KC85/3 mit CAOS 3.4:

Quellcode:

;
; Test, welche CAOS-Version vorliegt und abspeichern in Arbeitszelle "VERSION"
; (zur Unterscheidung CAOS 3.1 und CAOS 3.4 wird das Menuewort BASIC im ROM-E
; gesucht, welches unter 4.3 wie beim KC85/4 am Anfang des ROM-E steht, aber
; auf einer anderen Adresse...)
; PA:    CY=1    CAOS 3.4 oder hoeher
;    A    CAOS-Versionsnummer BCD
; VR:    AF

KCTEST:    LD    A,(0E011H)    ; Beim ist KC85/4 hier immer BASIC-Menuewort
    CP    7Fh        ; KC 85/4 ?
    JR    NZ,KCT1
    SCF            ; wir haben CAOS 4.x
    LD    A,(CAOSNR)    ; Versionsnummer steht seit CAOS 4.1 immer hier
    JR    KCT4
    ;
KCT1:    PUSH    HL        ; Beim KC85/3 Suche nach Menuewort "BASIC"
    PUSH    DE        ; im ROM E -> dann CAOS 3.4
    PUSH    BC
    LD    A,7FH        ; A = CAOS-Prologbyte
    LD    DE,BASIC    ; DE = Vergleichszeichenkette
    LD    HL,0E000h    ; HL = Beginn Suchbereich
    LD    BC,100h        ; BC = Laenge des Suchbereichs
    CALL    PV1        ; BASIC-Menuewort suchen ab E000h
    DB    ZSUCH        ; wenn vorhanden, dann CAOS 3.4 oder hoeher
    LD    A,34h        ; CAOS 3.4 melden
    JR    C,KCT3        ; Menuewort gefunden
    LD    HL,0E800H
    LD    (HL),0FFH    ; Beim KC85/2 ist hier kein ROM, evtl. aber RAM?
    LD    A,(HL)        ; Testen was drin steht in der Speicherzelle
    INC    A
    LD    A,31h        ; CAOS 3.1 melden
    JR    NZ,KCT3
    LD    A,22h        ; CAOS 2.2 melden
KCT3:    POP    BC
    POP    DE
    POP    HL
KCT4:    LD    (VERSION),A    ; fuer weitere Abfragen hier ablegen
    RET
    ;
BASIC:    DB    'BASIC',0    ; Vergleichskette fuer Suche CAOS 3.4



--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
14.01.2017, 15:13 Uhr
PIC18F2550

Avatar von PIC18F2550

Ich dachte da eher an eine Variante mit Prüfsummen.
Ansonnsten scheind die letzte Variante aber die wichtigsten Versionen abzudecken.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
14.01.2017, 15:48 Uhr
maleuma



OK, Prüfsumme könnte auch funktionieren, zumindest für das was es gibt.
Das müsste aber immer ergänzt werden für jede neue CAOS-Version.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
14.01.2017, 16:36 Uhr
ralle



Es gibt neben den Versionen 2.2 und 3.1 auch noch die 900 und 901. Daneben von freien Programmierern, meistens Frank Klemm V3.2; 3.3 und 3.4, also alles ziemlich wild. Das wird nicht einfach, alles abzudecken...
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
14.01.2017, 16:52 Uhr
maleuma



Kommt immer drauf an, wozu man die Version benötigt.
Die einfache Abfrage in 001 reicht aus wenn man nur den Hardware-Unterschied, z.B. im Bildschirmspeicher benötigt.
Die Abfrage nach 002 ist z.B. in der M030-Software drin. Dort unterscheide ich noch weitere Details, z.B. Umschaltung des System-Prompts, Parameterübergabe bzw. Rückgabe von System-UP's.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
14.01.2017, 18:15 Uhr
PIC18F2550

Avatar von PIC18F2550

Ja Mario ich muss die Version etwas genauer haben.

Eine Version einer einfachen CRC berechnung habe ich hier gefunden:
http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=3846

Sollte die CRC unbekannt sein kann ich ja immernoch auf deine 2. Version Zurückgreifen.

Danke für eure Hilfe.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
14.01.2017, 18:47 Uhr
ralle



in BoulderDash glaube ich auch, nur das eine von 2 Zeichensätzen halt hergenommen wird. Da geht es nur um die Abfrage, was bist du.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
18.12.2017, 20:18 Uhr
maleuma



Hallo PIC18F2550,

ich antworte noch einmal auf dieses schon etwas ältere Thema.
Man kann die Unterscheidung KC85/2/3 oder KC85/4 auch noch anders ermitteln. Denn Beim KC85/2 und KC85/3 geht vom System-PIO Bit 4 eine Leitung zum Signal /NMI der CPU. Wenn Du per Software das Bit auf Low legst, dann springt der KC85/2 und /3 auf die Adresse 66h. Dort muss natürlich vorher ein entsprechendes Programm hin kopieren.
Beim KC85/4 geht das Bit zur TAPE-Buchse als Signal KOUT. Da passiert also nichts mit NMI.
Hier ein Beispielprogramm, welches anzeigt ob NMI wirklich verdrahtet ist:

Quellcode:
        DW      7F7FH
        DB      'NMITEST'
        DB      1
        LD      DE,66H
        LD      HL,NMI
        LD      BC,END-NMI
        LDIR
        IN      A,(88H)
        RES     4,A     ; NMI AUF LOW
        OUT     (88H),A
        NOP
        NOP     ; Zur Sicherheit kurz warten
        NOP
        SET     4,A
        OUT     (88H),A
        RET

NMI:    PUSH    AF
        CALL    0F003H
        DB      23H
        DB      'NMI IST VERDRAHTET!'
        DB      0AH,0DH,0
        POP     AF
        RETN
END:


--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
26.03.2018, 12:47 Uhr
PIC18F2550

Avatar von PIC18F2550

Mario alt aber nicht Vergessen.

Ist der NMI sonstig mit Software im beschlag oder kann ich ohne Rücksicht ihn missbrauchen?
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
26.03.2018, 16:57 Uhr
maleuma



Ich kenne zumindest keine Software, die das NMI am KC85/2-5 verwendet.
Nur der Adressbereich um die Adresse 66h wird von verschiedenen Programmen genutzt, was zu Problemen führen kann.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
26.03.2018, 17:46 Uhr
PIC18F2550

Avatar von PIC18F2550

Danke, schön zu wissen.

Da werde ich um das sichern nicht umherkommen.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
26.03.2018, 20:34 Uhr
PIC18F2550

Avatar von PIC18F2550

etwas stimmt nicht mit dem int.

Nach dem aufruf des programmes ist mein M027 nicht mehr im Menü,
und die LED neben der Tape Buchse leuchtet.
Erst nach Reset ist es wieder da und die Led aus.

Hab den Deppen gerade im Spiegel gefunden.
Wenn der wert von 66h in 88h geschoben wird, kann das ja auch nichts werden.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 27.03.2018 um 07:38 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
29.03.2018, 12:49 Uhr
PIC18F2550

Avatar von PIC18F2550

So die Hartware wird mit dem NMI richtig erkannt und es wird auf die Richtigen CRC prüfbereiche gesprungen.

Da ich nur für den KC85/3 eine VGA habe habe ich auch nur den mitgenommen.
Was keine gute Idee die Hotellglotze konte die Auflösung nicht.
Also wieder nur Matsch Scartbild.

Mein KC wird erkannt mit volgender Ausgabe.

KC85/3 CRC=2044 OS:3.4i

Die prüfung geht noch über C000 bis FFFF.

Aber ich will die bereiche noch etwas weiter aufteilen.

Gibt es sowas wie die Funktion PRINT string (HL)?

HL ist ein Zeiger auf den String.

Die vielzahl der möglichkeiten will ich damit etwas reduzieren.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 29.03.2018 um 18:08 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
29.03.2018, 19:09 Uhr
maleuma




Zitat:
PIC18F2550 schrieb
Gibt es sowas wie die Funktion PRINT string (HL)?

HL ist ein Zeiger auf den String.



Meinst Du die Funktion ZKOUT (CAOS UP Nr. 45H)? Die gibt es seit CAOS 3.1.
Die Ausgabe geht im Normalfall auf den Bildschirm. Du kannst aber die Ausgabe auch auf die Anwender-Routinen umlenken mit Hilfe der CAOS-Routine SOUT (UP Nr. 1EH)
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
29.03.2018, 23:38 Uhr
PIC18F2550

Avatar von PIC18F2550

Jo das ist es.
Wiso hab ich das in meiner Doku nicht erkannt?


Quellcode:
LD
   HL, TXT
   LD E, 45H
   CALL PV5
;  ...
;
TXT:
   DEFB 0CH   ; CLS
   DEFB 0AH   ; CUD
   DEFM '===Testprogramm==='
   DEFW 0A0DH ; Newline
   DEFB 0


--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
01.04.2018, 23:33 Uhr
PIC18F2550

Avatar von PIC18F2550

Irgendwie schmiert mir der Code ständig ab.


Quellcode:

    LD HL,TXT
    LD E, 45H
    .
    .
    .
    CALL PV 5
TXT DEFB 00CH;CLS
    DEFB 0AH ;CUD
    DEFB '===Testprogramm==='
    DEFW 0A0DH ;Newline
    DEFB 0



Was mich aber wundert das der Text direkt nach cem CALL PV5 steht.

So sieht das Testmuster aus

Quellcode:

    LD HL,TXT
    LD E, 45H
    CALL PV 5
    .
    .
    .
    RET
TXT DEFB 00CH;CLS
    DEFB 0AH ;CUD
    DEFB '===Testprogramm==='
    DEFW 0A0DH ;Newline
    DEFB 0



Der Text wird noch ausgegeben aber dann scheind er irgendwas in den Speicher zu schreiben und ich komme nur noch mit RESET raus.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
02.04.2018, 00:00 Uhr
PIC18F2550

Avatar von PIC18F2550

Habe gerade mal in die Quellen geschaut.


Quellcode:

PV5    PUSH    BC
    CALL    IRMON
    CALL    PV3
PV51    CALL    IRMOF
    POP    BC
    RET





Damit kann es nicht funktionieren.
Im PV3 wird HL nicht beachtet.
Nur die UP-Nr. wird im Register E wird beachtet
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
02.04.2018, 20:13 Uhr
maleuma



PV5 schaltet den IRM und den Stack, wenn Du das nicht benötigst, dann nimm PV3.
Wie kommst Du zu der Aussage, dass beim PV3 HL nicht beachtet wird?
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
02.04.2018, 23:02 Uhr
PIC18F2550

Avatar von PIC18F2550

Wenn ich den quelltext vom 3.1 richtig verstehe, wird im pv5 nur Reg E für commando verwendet dannach springt er in die PV1 und läd den Text hinter Call PV5.
Wenn ich morgen im Hotel bin muss ich das mit PV3 nochmal prüfen.
Nicht das ich auf den holzweg bin.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 02.04.2018 um 23:03 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
03.04.2018, 23:37 Uhr
PIC18F2550

Avatar von PIC18F2550

Das war ein ganz schön morscher Holzweg.


Quellcode:

    ld hl,x000
    call 0f003h
    defb 45h
    ret

x000
    defm 'OK'
    defb 00h



--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 03.04.2018 um 23:38 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
04.04.2018, 20:13 Uhr
maleuma



Sollte aber auch so gehen:


Quellcode:

    ld hl,x000
    ld e,45h
    call 0f009h
    ret

x000
    defm 'OK'
    defb 00h


--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
04.04.2018, 21:46 Uhr
PIC18F2550

Avatar von PIC18F2550

Ja das geht auch.

Ich binn beim ganzen ändern warscheinlich mit HL durcheinander gekommen.





Jetzt muss ich das nur noch wissen welche Bits ich an der pio und den zwei Ausgabekanälen kippen muss.

--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 04.04.2018 um 22:40 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
07.04.2018, 11:07 Uhr
PIC18F2550

Avatar von PIC18F2550

Hat jemand Info oder Asm Beispiele zu den Themen.

Umschaltung CAOS-Rom C, Basic-Rom und User-Rom.

Ansteuerung des 256k Arbeitsspechers.

Empfehlung zum Ausbau des Arbeitsspeichers>256K. (habe noch einige TC511000AP)
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
07.04.2018, 19:59 Uhr
maleuma




Zitat:
PIC18F2550 schrieb
Hat jemand Info oder Asm Beispiele zu den Themen.

Umschaltung CAOS-Rom C, Basic-Rom und User-Rom.


Das geht mit dem UP 26H = SWITCH bzw. MODU
EDIT: Voraussetzung hierfür ist CAOS ab Version 4.3!

Quellcode:

    LD    D,0C1h     ; Steuerbyte C1= BASIC, D1/E1/F1 die anderen 3 Ebenen
    LD    L,2        ; Moduladresse 2 = USER-ROM
    LD    A,2        ; Modul "schalten"
    CALL  0F003H     ; PV1
    DB    26H        ; USER-ROM schalten


Beim RAM geht das ähnlich mit Moduladresse 3 = RAM8.
--
Mario.

Dieser Beitrag wurde am 07.04.2018 um 22:18 Uhr von maleuma editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
07.04.2018, 22:28 Uhr
maleuma




Zitat:
PIC18F2550 schrieb
Hat jemand Info zu den Themen.

Empfehlung zum Ausbau des Arbeitsspeichers>256K. (habe noch einige TC511000AP)


Eine Erweiterung auf 2MB RAM intern wurde in den KC-News 4/95 beschrieben.
EDIT: Für 1MB kannst Du auch nur den Teil für die Moduladresse 3 verwenden.
--
Mario.

Dieser Beitrag wurde am 07.04.2018 um 22:32 Uhr von maleuma editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
08.04.2018, 00:27 Uhr
PIC18F2550

Avatar von PIC18F2550

Danke Mario,

Da ich noch 4.2 habe ist mir das verständlich warum es bei mir nicht geht.

Da CAOS-Rom C vom System verwaltet wird denke ich ich werde das bit7 einfach selber setzen und rücksetzen. Die int Freigabe werde ich in der Zeit einfach mal mopsen.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek