diff options
Diffstat (limited to 'src/devices/cpu/mcs96/i8xc196.cpp')
-rw-r--r-- | src/devices/cpu/mcs96/i8xc196.cpp | 50 |
1 files changed, 4 insertions, 46 deletions
diff --git a/src/devices/cpu/mcs96/i8xc196.cpp b/src/devices/cpu/mcs96/i8xc196.cpp index ccedc5e741d..4fa9b251c43 100644 --- a/src/devices/cpu/mcs96/i8xc196.cpp +++ b/src/devices/cpu/mcs96/i8xc196.cpp @@ -13,7 +13,7 @@ #include "i8xc196d.h" i8xc196_device::i8xc196_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : - mcs96_device(mconfig, type, tag, owner, clock, 16) + mcs96_device(mconfig, type, tag, owner, clock, 16, address_map_constructor(FUNC(i8xc196_device::internal_regs), this)) { } @@ -22,52 +22,10 @@ std::unique_ptr<util::disasm_interface> i8xc196_device::create_disassembler() return std::make_unique<i8xc196_disassembler>(); } -void i8xc196_device::io_w8(uint8_t adr, uint8_t data) +void i8xc196_device::internal_regs(address_map &map) { - switch(adr) { - case 0: - break; - case 1: - break; - default: - logerror("%s: io_w8 %02x, %02x (%04x)\n", tag(), adr, data, PPC); - } - return; -} - -void i8xc196_device::io_w16(uint8_t adr, uint16_t data) -{ - switch(adr) { - case 0: - break; - default: - io_w8(adr, data); - io_w8(adr+1, data>>8); - break; - } - return; -} - -uint8_t i8xc196_device::io_r8(uint8_t adr) -{ - switch(adr) { - case 0x00: - return 0x00; - case 0x01: - return 0x00; - } - uint8_t data = 0x00; - logerror("%s: io_r8 %02x, %02x (%04x)\n", tag(), adr, data, PPC); - return data; -} - -uint16_t i8xc196_device::io_r16(uint8_t adr) -{ - if(adr < 2) - return 0x0000; - uint16_t data = 0x0000; - logerror("%s: io_r16 %02x, %04x (%04x)\n", tag(), adr, data, PPC); - return data; + map(0x00, 0x01).lr16("r0", []() -> u16 { return 0; }).nopw(); + map(0x18, 0xff).ram().share("register_file"); } void i8xc196_device::do_exec_partial() |