A Spanish Hacking Device from HM (Hard Micro, S.A.).
- Uses a 16KB ROM paged into memory at &0000.
- Uses a 8KB static RAM paged into memory at &c000-&dfff and repeats again at &e000-&ffff.
- ROM is paged into the range &0000-&3fff when the red button is pressed (this causes an NMI).
- When the black button is pressed the ROM is paged into the range &0000-&3fff and executes it at &0000. (this is a reset)
This checks the BASIC ROM version, and clears the extra ram if a BASIC ROM from a CPC6128 is found.
- Uses NMI
- Only captures upper/lower ROM enabled state and nothing else. Doesn't capture the hardware state like the Multiface does. Code in the ROM reads the hardware state which it restores when resuming the program.
- RAMDIS is asserted when ROM or RAM are active meaning no write through to ram behind. This also means that c000-ffff reads unmapped ram when ram is not actually enabled.
- Menu code is at offset &3810 and is copied into RAM at &A200.
- ram is disabled when the transtape returns to the program and can only be enabled using i/o port.
- Uses port FBF0 (write only)
FBF0 decoding is: 1111 1011 1111 00xx
FBF0 output: bit 0 is ram enable/disable state bit 1 is rom enable/disable state bit 2 is A10 on RAM bit 3 is A11 on RAM bit 4 is A12 on RAM bits 5-7 are not used.
- an opcode read of an address with the following bits:
0011 1xxx xxxx xxxx causes the ram and rom to be disabled. (it jumps to 3800 in the ROM to restore the state)
- Uses port FBFF (input).
bit 7 is used to report lower rom and upper rom enabled state.
Transtape ROM performs a read of 3ffe (lower rom) and fffe (upper rom) and records the state of ROMEN.
Decoding of FBFF is:
1111 1011 1111 11xx
- The same plastic case is used by the Spectrum version of this interface.
- The spectrum version has two switches on the top. One of which chooses load/save. In the Amstrad these holes are filled with plastic caps.