Změna názvu naprogramovaných satelitů
Podle manuálu EPS-103 v sekci Soubory ke stažení / Originální dokumentace je prvních 16 satelitů naprogramovaných pevně a nelze je měnit. Dalších 16 satelitů lze naprogramovat ručně, ale nejde zapsat jejich název. Na displeji se bude zobrazovat místo názvu satelitu jen prázdné místo. Ukázalo se, že tohle pro můj firmware verze 5.0 neplatí. Pozici prvních 16 satelitů jde přepsat v režimu PRG 04. Nově uložené pozice si přístroj pamatuje i po vypnutí a zapnutí. Názvy satelitů sice editovat nejdou, ale jsou uloženy v tabulce ve firmware.
Pokud máme firmware načtený programátorem do souboru *.bin, můžeme jej zkusit modifikovat. Přečtený firmware otevřeme v libovolném editoru binárních souborů. Například v HexEditoru.
Soubor začíná v souladu s potřebami procesoru D8085 tabulkou vektorů přerušení. V souboru V5000 najdeme na začátku následující posloupnost čísel.
Adresa | Kód | Instrukce | Komentář |
$0000 | C3 07 05 | JMP $0507 | vektor RST0 |
~ | $FF ... | nepoužito | |
$003C | C3 AF 05 | JMP $05AF | vektor RST7.5 |
$003F | $FF | nepoužito | |
$0040 | $19 | Data | počet satelitů v tabulce |
Adresy s obsahem $FF jsou pro potřeby tohoto firmware nepoužity (nenaprogramovány). Na následující adrese je počet všech satelitů naprogramovaných v přístroji. Pro V.5.000 jich může být maximálně 32 = $20. V mém firmware jich je ale pouze 25 ($19).
Následuje tabulka těchto satelitů. Každý satelit má záznam o délce 9 bajtů. První bajt určuje směr azimutu. 01 = západně, 02 = východně. Druhý a třetí bajt určuje pozici satelitu. Bajty jsou v opačném pořadí, takže například $58, $1B představuje číslo $1B58, což je desítkově 7000. To je pozice 70,00°. Následujících 6 bajtů jsou písmena názvu satelitu v ASCII kódu. Podívejme se na jednoduchý příklad. Třeba Hotbird 13,00°E.
E = 02
13,00° = 1300 dec = $0514; v opačném pořadí to bude $14, $05
HOTBRD = $48, $4F, $54, $42, $52, $44 (maximálně 6 znaků z tabulky ASCII)
Tento satelit by šlo najít ve firmware jako posloupnost čísel $02, $14, $05, $48, $4F, $54, $42, $52, $44.
V mém firmware je uložená následující tabulka. Můžete si zkusit jednotlivé záznamy identifikovat v souboru EPS103V5000.bin.
Adresa | 01 = západně 02 = východně |
Pozice [spodní bajt] |
Pozice [horní bajt] |
Název [6 Bytes] |
Název [ASCII] |
Poloha satelitu |
$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 |
Poslední znak 32. satelitu by byl na adrese $0160. Po zapnutí přístroje se názvy satelitů okopírují do paměti RAM. Ostatní údaje ale ne. Takže uživatelem naprogramovaná pozice satelitu se nezmění, i když je v tabulce ve firmware odlišný údaj. Maximální počet satelitů 32 nemůžeme zvýšit jednoduchým rozšířením této tabulky. Tím by se posunuly adresy programu uloženého za tabulkou. A program by ztratil integritu.
Firmware verze 5.015 je odlišný. Program používá i přerušení RST6.5, vektor na adrese $0034. To se samozřejmě projeví na začátku souboru v tabulce vektorů. Od adresy $0034 najdeme kód C3 23 19, tedy skok na adresu $1923. I adresy ostatních dvou vektorů jsou jiné. Mnohem zajímavější je ale to, že firmware obsahuje údaje až o 60 satelitech. Pro tuto verzi tedy neplatí ani omezení napsané v manuálu, že lze naprogramovat maximálně 32 pozic satelitů.
Teď už byste měli mít jasno ve značení jednotlivých satelitů ve firmware. Měli byste tedy být schopni přečíst firmware z EPROM, upravit ho a nahrát zpět do smazané EPROM. Zkusíte to? Pokud ano, kupte si na tyto pokusy náhradní EPROM a tu původní si dobře schovejte jako bezpečnou zálohu. Hodně štěstí.