summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/mcs96/i8xc196.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/mcs96/i8xc196.cpp')
-rw-r--r--src/devices/cpu/mcs96/i8xc196.cpp50
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()