The HX-20 memory map is quite complicated/interesting. The basic machine has 32 kByte ROM and 16 kByte RAM, another ROM socket is available for a 8 kByte ROM. But as the Expansion Unit can contain 16 kByte RAM and two ROM sockets 16 kByte each, the 64 kByte addressing space is quite overloaded.
The Expansion Unit adds six different configurations to the Standard memory map.
Address | Standard | 2 x 16 kByte ROM | 8 + 16 kByte ROM, 8 kByte RAM | 1 x 16 kByte ROM, 16 kByte RAM | 2 x 8 kByte ROM, 16 kByte RAM | 2 x 8 kByte ROM | 2 x 8 kByte ROM, 8 kByte RAM |
---|---|---|---|---|---|---|---|
0000-007F | CPU internal registers or Clock RAM (64 bytes) or LCD buffer (480 bytes) | - | - | - | - | - | - |
0080-00FF | CPU internal RAM | - | - | - | - | - | - |
0100-3FFF | HX-20 board RAM | - | - | - | - | - | - |
4000-5FFF | empty | Ext. ROM 1 (13B) | Ext. RAM (1B,2B,4B,8B) | Ext. RAM (1B,2B,4B,8B) | Ext. RAM (1B,2B,4B,8B) | X | Ext. RAM (1B,2B,4B,8B) |
6000-7FFF | HX-20 board option ROM 4 (11E) | ROM 1 (13B) | Ext. RAM (11B,10B,6B,7B) | Ext. RAM (11B,10B,6B,7B) | X | X | |
8000-9FFF | HX-20 board BASIC ROM 3 (12E) | Ext. ROM 0 (14B) | Ext. ROM 0 (14B) | Ext. ROM 0 (14B) | Ext. ROM 1 (14B) | Ext. ROM 1 (14B) | Ext. ROM 1 (14B) |
A000-BFFF | HX-20 board BASIC ROM 2 (13E) | Ext. ROM 0 (13B) | Ext. ROM 0 (13B) | Ext. ROM 0 (13B) | |||
C000-DFFF | HX-20 board UTILITY ROM 1 (14E) | - | - | - | - | - | - |
E000-FFFF | HX-20 board MONITOR ROM 1 (15E) | - | - | - | - | - | - |
Settings in Expansion Unit | SW2-1 | OFF | OFF | ON | ON | OFF | OFF |
SW2-2 | OFF | ON | OFF | OFF | OFF | ON | |
SW2-3 | ON | ON | ON | OFF | OFF | OFF | |
SW2-4 | OFF | OFF | OFF | ON | ON | ON | |
J1 | A | A | A | B | B | B | |
J2 | A | A | A | B | B | B |
Source: HX-20 Technical Manual, H8290013-1, P. 3-24, 3-30, 4-34 and Technical Support Document number 72a
Legend:
- | same as Standard |
X | not usable |
(..) | board positons |
So, to keep it short:
Last update: 2009-12-05