Zahlavi

Select your language

Changing the name of the programmed satellites

According to the EPS-103 manual in the Files for download / Original documentation section, the first 16 satellites are hard-programmed and cannot be changed. The other 16 satellites can be programmed manually, but their name cannot be written. Instead of the satellite name, only a blank space will appear on the display. Turns out this isn't the case for my firmware version 5.0. The position of the first 16 satellites can be overwritten in PRG 04 mode. The device remembers the newly saved positions even after turning it off and on. The names of the satellites cannot be edited, but they are stored in a table in the firmware.

If we have the firmware loaded by the programmer into the *.bin file, we can try to modify it. We open the read firmware in any binary file editor. For example in HexEditor.

The file begins with a table of interrupt vectors in accordance with the needs of the D8085 processor. In the V5000 file we find the following sequence of numbers at the beginning.

Address Code Instruction Comment
 $0000  C3 07 05  JMP $0507  vector RST0
 ~  $FF ...    not used
 $003C  C3 AF 05  JMP $05AF  vector RST7.5
 $003F  $FF    not used
 $0040  $19  Data  the number of satellites in the table

 

Addresses containing $FF are unused (unprogrammed) for the purposes of this firmware. The following address contains the number of all satellites programmed into the device. For V.5.000 there can be a maximum of 32 = $20. But there are only 25 ($19) in my firmware.

The following is a table of these satellites. Each satellite has a record of 9 bytes. The first byte specifies the azimuth direction. 01 = West, 02 = East. The second and third bytes determine the position of the satellite. The bytes are in reverse order, so for example $58, $1B represents the number $1B58, which in decimal is 7000. That's position 70.00°. The next 6 bytes are the letters of the satellite name in ASCII code. Let's look at a simple example. For example Hotbird 13.00°E.

E = 02

13,00° = 1300 dec = $0514; it will be in the reverse order $14, $05

HOTBRD = $48, $4F, $54, $42, $52, $44 (a maximum of 6 characters from the ASCII table)        

This satellite could be found in the firmware as a sequence of numbers $02, $14, $05, $48, $4F, $54, $42, $52, $44.

The following table is stored in my firmware. You can try to identify individual entries in the EPS103V5000.bin file.

Address 01 = west
02 = east
Position
[low byte]
Position
[high byte]
Name
[6 Bytes]
Name
[ASCII]
Longitude
 $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

 

The last character of the 32nd satellite would be at address $0160. After switching on the device, the names of the satellites are copied to the RAM memory. But not the other data. So the user-programmed satellite position will not change even if there is a different entry in the table in the firmware. We cannot increase the maximum number of satellites to 32 by simply expanding this table. This would shift the addresses of the program stored behind the table. And the program would lose its integrity.

Firmware version 5.015 is different. The program also uses the RST6.5 interrupt, vector at address $0034. This will of course be reflected at the beginning of the file in the vector table. From address $0034 we find the code C3 23 19, i.e. jump to address $1923. The addresses of the other two vectors are also different. But what is much more interesting is that the firmware contains data on up to 60 satellites. Therefore, the limitation written in the manual that a maximum of 32 satellite positions can be programmed does not apply to this version.

You should now be clear about the marking of individual satellites in the firmware. So you should be able to read the firmware from the EPROM, modify it and load it back into the erased EPROM. Will you try it? If so, buy a spare EPROM for these experiments and keep the original one well as a safe backup. Good luck.

No comments

Leave your comment

In reply to Some User