ET-3400 ROM - Editing the EEPROM firmware

Before I can program the EEPROM with the two monitor versions I am planning to install I have to figure out where in the EEPROM memory each bank should go into.

The EEPROM is 8KB in size and the monitor program is only 1KB in size. Address bits A0..A9 are used to select any address in the 1KB address range. i.e. 10 address bits = 2^10 bytes = 1024 bytes (1KB). Incoming Address line A10, A11 and A12 and CS are used as the address decoding bits to map the ROM into memory at $FC00..$FFFF.

I am using EEPROM address lines A10, A11 and A12 to select which of the eight 1K banks possible in the EEPROM is selected by tying them hi or low. That gives us our 8 possible banks below:

A12  A11  A10  EEPROM bank  EEPROM address range
0    0    0    0            $0000..$03FF
0    0    1    1            $0400..$07FF
0    1    0    2            $0800..$0BFF
0    1    1    3            $0C00..$0FFF 
1    0    0    4            $1000..$13FF
1    0    1    5            $1400..$17FF
1    1    0    6            $1800..$1BFF
1    1    1    7            $1C00..$1FFF                        

For testing purposes I have tied A10 and A11 hi, and A12 will be used to select from two of the banks only. That means we will only be using banks 3 and 7 from the above list. And this is where I need to place my two different ROM versions.

To create the binary file I used a free program called HxD on my PC. First I created an empty file of exactly 8KB (8192 bytes) in size full of #$FF's.

The original ET-3400 ROM was dumped by someone previously on the ET-3400@groups.io web site. https://groups.io/g/ET-3400. The files are in the 'Files' section, but you need to be a member before you can access those.

Also one of the forum members (Gilbert Coville) has uploaded a patched ROM file to fix the OUTCH routine in the original monitor firmware that has a small bug in it. I could have downloaded the patched version, but since there is only 5 bytes difference I decided to edit those after loading into the HxD buffer.

I loaded the original 1KB ROM into bank 7 and another copy into bank 3. I then edited the five bytes that needed changing for the patched version as can be seen in red below between $0E3F to $0E49.


HxD screen shot.

next I will program the EEPROM in my programmer...


Comments

Popular posts from this blog

ET-3400 ROM - Message Program Assembly

ET-3400 ROM - Schematic Draft

ET-3400 ROM - Programming gains and losses