Zahlavi

Sprache auswählen

Namen der programmierten Satelliten ändern

Laut EPS-103-Handbuch im Bereich Dateien zum Download / Originaldokumentation sind die ersten 16 Satelliten fest programmiert und können nicht geändert werden. Die anderen 16 Satelliten können manuell programmiert werden, aber ihr Name kann nicht geschrieben werden. Anstelle des Satellitennamens erscheint nur ein Leerzeichen auf dem Display. Es stellt sich heraus, dass dies bei meiner Firmware-Version 5.0 nicht der Fall ist. Die Position der ersten 16 Satelliten kann im Modus PRG 04 überschrieben werden, das Gerät merkt sich die neu gespeicherten Positionen auch nach Aus- und Einschalten. Die Namen der Satelliten sind nicht editierbar, aber in einer Tabelle in der Firmware hinterlegt.

Wenn wir die Firmware vom Programmierer in die *.bin-Datei geladen haben, können wir versuchen, sie zu ändern. Wir öffnen die gelesene Firmware in einem beliebigen Binärdatei-Editor. Zum Beispiel im HexEditor.

Die Datei beginnt mit einer Tabelle von Interrupt-Vektoren entsprechend den Anforderungen des D8085-Prozessors. In der V5000-Datei finden wir am Anfang folgende Zahlenfolge.

Adresse Code Instruktion Kommentar
 $0000  C3 07 05  JMP $0507  vektor RST0
 ~  $FF ...    nicht benutzt
 $003C  C3 AF 05  JMP $05AF  vektor RST7.5
 $003F  $FF    nicht benutzt
 $0040  $19  Data  die Anzahl der Satelliten in der Tabelle

 

Adressen, die $FF enthalten, werden für die Zwecke dieser Firmware nicht verwendet (unprogrammiert). Die folgende Adresse enthält die Anzahl aller im Gerät programmierten Satelliten. Für V.5.000 kann es maximal 32 = 20 $ geben. Aber es gibt nur 25 ($19) in meiner Firmware.

Das Folgende ist eine Tabelle dieser Satelliten. Jeder Satellit hat einen Datensatz von 9 Bytes. Das erste Byte gibt die Azimutrichtung an. 01 = Westen, 02 = Osten. Das zweite und dritte Byte bestimmen die Position des Satelliten. Die Bytes sind in umgekehrter Reihenfolge, also zum Beispiel $58, $1B stellt die Zahl $1B58 dar, was dezimal 7000 ist. Das ist Position 70,00°. Die nächsten 6 Bytes sind die Buchstaben des Satellitennamens im ASCII-Code. Schauen wir uns ein einfaches Beispiel an. Zum Beispiel Hotbird 13.00°E.

E = 02

13,00° = 1300 dec = $0514; es wird in umgekehrter Reihenfolge sein $14, $05

HOTBRD = $48, $4F, $54, $42, $52, $44 (maximal 6 Zeichen aus der ASCII-Tabelle)        

Dieser Satellit ist in der Firmware als Zahlenfolge zu finden $02, $14, $05, $48, $4F, $54, $42, $52, $44.

Die folgende Tabelle ist in meiner Firmware hinterlegt. Sie können versuchen, einzelne Einträge in der Datei EPS103V5000.bin zu identifizieren.

Adresse 01 = Westen
02 = Ost
Position
[Niedriges Byte]
Position
[Hohes Byte]
Name
[6 Bytes]
Name
[ASCII]
Längengrad
 $0041  02  $C8  $19  $49 $4E $54 $2D $30 $37  INT-07 66.00°E
 $004A  02  $70  $17  $49 $4E $54 $2D $31 $35 INT-15 60,00°E
 $0053  02  $28  $0A  $41 $52 $41 $2D $31 $42 ARA-1B 26,00°E
 $005C  02  $2E  $09  $44 $46 $53 $2D $31 $20  DFS-1 23,50°E
 $0065  02  $80  $07  $41 $53 $54 $2D $41 $31 AST-A1 19,20°E
 $006E  02  $40  $06  $45 $54 $53 $2D $31 $20 ETS-1 16,00°E
 $0077  02  $14  $05  $45 $54 $53 $2D $34 $20 ETS-4 13,00°E
 $0080  02  $E8  $03  $45 $54 $53 $2D $35 $20 ETS-5 10,00°E
 $0089  02  $BC  $02  $45 $54 $53 $2D $32 $20 ETS-2 7,00°E
 $0092  02  $F4  $01  $54 $45 $4C $2D $58 $20 TEL-X 5,00°E
 $009B  01  $64  $00  $49 $4E $54 $2D $31 $32 INT-12 1,00°W
 $00A4  01  $F4  $01  $54 $45 $4C $2D $31 $43 TEL-1C 5,00°W
 $00AD  01  $20  $03  $54 $45 $4C $2D $31 $41 TEL-1A 8,00°W
 $00B6  01  $78  $05  $47 $52 $5A $2D $31 $35 GRZ-15 14,00°W
 $00BF  01  $3A  $07  $49 $4E $54 $2D $36 $20 INT-6 18,50°W
 $00C8  01  $6C  $07  $54 $44 $46 $2D $31 $20 TDF-1 19,00°W
 $00D1  01  $6C  $07  $4F $4D $50 $2D $31 $20 OMP-1 19,00°W
 $00DA  01  $6C  $07  $54 $56 $53 $2D $32 $20 TVS-2 19,00°W
 $00E3  01  $BE  $0A  $49 $4E $54 $2D $31 $31 INT-11 27,50°W
 $00EC  01  $1C  $0C  $42 $53 $42 $2D $31 $20 BSB-1 31,00°W
 $00F5  01  $7A  $0D  $49 $4E $54 $2D $34 $20 INT-4 34,50°W
 $00FE  01  $74  $0E  $44 $53 $42 $2D $33 $37 DSB-37 37,00°W
 $0107  01  $94  $11  $50 $41 $53 $2D $31 $20 PAS-1 45,00°W
 $0110  01  $B4  $14  $49 $4E $54 $2D $31 $33 INT-13 53,00°W
 $0119  01  $9C  $18  $49 $4E $54 $2D $35 $20 INT-5 63,00°W

 

Das letzte Zeichen des 32. Satelliten wäre die Adresse $0160. Nach dem Einschalten des Gerätes werden die Namen der Satelliten in den RAM-Speicher kopiert. Aber nicht die anderen Daten. Die vom Benutzer programmierte Satellitenposition ändert sich also nicht, auch wenn in der Firmware ein anderer Eintrag in der Tabelle vorhanden ist. Wir können die maximale Anzahl von Satelliten nicht auf 32 erhöhen, indem wir einfach diese Tabelle erweitern. Dies würde die hinter der Tabelle gespeicherten Adressen des Programms verschieben. Und das Programm würde seine Integrität verlieren.

Firmware-Version 5.015 ist anders. Das Programm verwendet auch den RST6.5-Interrupt, Vektor bei Adresse $0034. Dies wird natürlich am Anfang der Datei in der Vektortabelle widergespiegelt. Von der Adresse $0034 finden wir den Code C3 23 19, d.h. wir springen zur Adresse $1923. Die Adressen der anderen beiden Vektoren sind ebenfalls unterschiedlich. Viel interessanter ist aber, dass die Firmware Daten von bis zu 60 Satelliten enthält. Daher gilt die im Handbuch geschriebene Einschränkung, dass maximal 32 Satellitenpositionen programmiert werden können, für diese Version nicht.

Die Kennzeichnung einzelner Satelliten in der Firmware sollte Ihnen nun klar sein. Sie sollten also in der Lage sein, die Firmware aus dem EPROM zu lesen, zu modifizieren und wieder in das gelöschte EPROM zu laden. Wirst du es versuchen? Kaufen Sie in diesem Fall ein Ersatz-EPROM für diese Experimente und bewahren Sie das Original gut als Backup auf. Viel Glück.

Keine Kommentare

Kommentar hinterlassen

Als Antwort auf Some User