summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/rx78.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/rx78.cpp')
-rw-r--r--src/mame/drivers/rx78.cpp42
1 files changed, 22 insertions, 20 deletions
diff --git a/src/mame/drivers/rx78.cpp b/src/mame/drivers/rx78.cpp
index 05d806feb06..ee68fb8589c 100644
--- a/src/mame/drivers/rx78.cpp
+++ b/src/mame/drivers/rx78.cpp
@@ -275,29 +275,31 @@ WRITE8_MEMBER( rx78_state::vdp_pri_mask_w )
}
-ADDRESS_MAP_START(rx78_state::rx78_mem)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("roms", 0)
+void rx78_state::rx78_mem(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x0000, 0x1fff).rom().region("roms", 0);
//AM_RANGE(0x2000, 0x5fff) // mapped by the cartslot
- AM_RANGE(0x6000, 0xafff) AM_RAM //ext RAM
- AM_RANGE(0xb000, 0xebff) AM_RAM
- AM_RANGE(0xec00, 0xffff) AM_READWRITE(vram_r, vram_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(rx78_state::rx78_io)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK(0xff)
+ map(0x6000, 0xafff).ram(); //ext RAM
+ map(0xb000, 0xebff).ram();
+ map(0xec00, 0xffff).rw(this, FUNC(rx78_state::vram_r), FUNC(rx78_state::vram_w));
+}
+
+void rx78_state::rx78_io(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
// AM_RANGE(0xe2, 0xe2) AM_READNOP AM_WRITENOP //printer
// AM_RANGE(0xe3, 0xe3) AM_WRITENOP //printer
- AM_RANGE(0xf0, 0xf0) AM_READWRITE(cass_r, cass_w) //cmt
- AM_RANGE(0xf1, 0xf1) AM_WRITE(vram_read_bank_w)
- AM_RANGE(0xf2, 0xf2) AM_WRITE(vram_write_bank_w)
- AM_RANGE(0xf4, 0xf4) AM_READWRITE(key_r, key_w) //keyboard
- AM_RANGE(0xf5, 0xfb) AM_WRITE(vdp_reg_w) //vdp
- AM_RANGE(0xfc, 0xfc) AM_WRITE(vdp_bg_reg_w) //vdp
- AM_RANGE(0xfe, 0xfe) AM_WRITE(vdp_pri_mask_w)
- AM_RANGE(0xff, 0xff) AM_DEVWRITE("sn1", sn76489a_device, write) //psg
-ADDRESS_MAP_END
+ map(0xf0, 0xf0).rw(this, FUNC(rx78_state::cass_r), FUNC(rx78_state::cass_w)); //cmt
+ map(0xf1, 0xf1).w(this, FUNC(rx78_state::vram_read_bank_w));
+ map(0xf2, 0xf2).w(this, FUNC(rx78_state::vram_write_bank_w));
+ map(0xf4, 0xf4).rw(this, FUNC(rx78_state::key_r), FUNC(rx78_state::key_w)); //keyboard
+ map(0xf5, 0xfb).w(this, FUNC(rx78_state::vdp_reg_w)); //vdp
+ map(0xfc, 0xfc).w(this, FUNC(rx78_state::vdp_bg_reg_w)); //vdp
+ map(0xfe, 0xfe).w(this, FUNC(rx78_state::vdp_pri_mask_w));
+ map(0xff, 0xff).w("sn1", FUNC(sn76489a_device::write)); //psg
+}
/* Input ports */
static INPUT_PORTS_START( rx78 )