diff options
Diffstat (limited to 'src/devices/cpu/hmcs40/hmcs40.cpp')
-rw-r--r-- | src/devices/cpu/hmcs40/hmcs40.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/devices/cpu/hmcs40/hmcs40.cpp b/src/devices/cpu/hmcs40/hmcs40.cpp index 33ee981e512..abcde1d500a 100644 --- a/src/devices/cpu/hmcs40/hmcs40.cpp +++ b/src/devices/cpu/hmcs40/hmcs40.cpp @@ -7,7 +7,8 @@ References: - 1985 #AP1 Hitachi 4-bit Single-Chip Microcomputer Data Book - 1988 HMCS400 Series Handbook (note: *400 is a newer MCU series, with similarities) - - opcode decoding by Tatsuyuki Satoh, Olivier Galibert, Kevin Horton, Lord Nightmare - and verified + - opcode decoding by Tatsuyuki Satoh, Olivier Galibert, Kevin Horton, Lord Nightmare + (verified a while later after new documentation was found) */ @@ -56,16 +57,20 @@ DEFINE_DEVICE_TYPE(HD44828, hd44828_device, "hd44828", "Hitachi HD44828") // CMO // internal memory maps + +// On HMCS42/3/4/5, only half of the ROM address range contains user-executable code, +// there is up to 128 bytes of pattern data in the 2nd half. The 2nd half also includes +// a couple of pages with factory test code by Hitachi, only executable when MCU test +// mode is enabled externally. This data can still be accessed with the P opcode. + void hmcs40_cpu_device::program_1k(address_map &map) { - map(0x0000, 0x03ff).rom(); - map(0x0780, 0x07bf).rom(); // patterns on page 30 + map(0x0000, 0x07ff).rom(); } void hmcs40_cpu_device::program_2k(address_map &map) { - map(0x0000, 0x07ff).rom(); - map(0x0f40, 0x0fbf).rom(); // patterns on page 61,62 + map(0x0000, 0x0fff).rom(); } |