summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/istellar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/istellar.cpp')
-rw-r--r--src/mame/drivers/istellar.cpp84
1 files changed, 45 insertions, 39 deletions
diff --git a/src/mame/drivers/istellar.cpp b/src/mame/drivers/istellar.cpp
index 2afb8cc846a..f985f1e77d3 100644
--- a/src/mame/drivers/istellar.cpp
+++ b/src/mame/drivers/istellar.cpp
@@ -180,50 +180,56 @@ WRITE8_MEMBER(istellar_state::z80_2_ldp_write)
/* PROGRAM MAPS */
-ADDRESS_MAP_START(istellar_state::z80_0_mem)
- AM_RANGE(0x0000,0x9fff) AM_ROM
- AM_RANGE(0xa000,0xa7ff) AM_RAM
- AM_RANGE(0xa800,0xabff) AM_RAM AM_SHARE("tile_ram")
- AM_RANGE(0xac00,0xafff) AM_RAM AM_SHARE("tile_ctrl_ram")
- AM_RANGE(0xb000,0xb3ff) AM_RAM AM_SHARE("sprite_ram")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(istellar_state::z80_1_mem)
- AM_RANGE(0x0000,0x1fff) AM_ROM
- AM_RANGE(0x4000,0x47ff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(istellar_state::z80_2_mem)
- AM_RANGE(0x0000,0x17ff) AM_ROM
- AM_RANGE(0x1800,0x1fff) AM_RAM
- AM_RANGE(0xc000,0xc000) AM_READ(z80_2_unknown_read) /* Seems to be thrown away every time it's read - maybe interrupt related? */
-ADDRESS_MAP_END
+void istellar_state::z80_0_mem(address_map &map)
+{
+ map(0x0000, 0x9fff).rom();
+ map(0xa000, 0xa7ff).ram();
+ map(0xa800, 0xabff).ram().share("tile_ram");
+ map(0xac00, 0xafff).ram().share("tile_ctrl_ram");
+ map(0xb000, 0xb3ff).ram().share("sprite_ram");
+}
+
+void istellar_state::z80_1_mem(address_map &map)
+{
+ map(0x0000, 0x1fff).rom();
+ map(0x4000, 0x47ff).ram();
+}
+
+void istellar_state::z80_2_mem(address_map &map)
+{
+ map(0x0000, 0x17ff).rom();
+ map(0x1800, 0x1fff).ram();
+ map(0xc000, 0xc000).r(this, FUNC(istellar_state::z80_2_unknown_read)); /* Seems to be thrown away every time it's read - maybe interrupt related? */
+}
/* IO MAPS */
-ADDRESS_MAP_START(istellar_state::z80_0_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00,0x00) AM_READ_PORT("IN0")
- AM_RANGE(0x02,0x02) AM_READ_PORT("DSW1")
- AM_RANGE(0x03,0x03) AM_READ_PORT("DSW2")
+void istellar_state::z80_0_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).portr("IN0");
+ map(0x02, 0x02).portr("DSW1");
+ map(0x03, 0x03).portr("DSW2");
/*AM_RANGE(0x04,0x04) AM_WRITE(volatile_palette_write)*/
- AM_RANGE(0x05,0x05) AM_READWRITE(z80_0_latch1_read,z80_0_latch2_write)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(istellar_state::z80_1_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00,0x00) AM_NOP /*AM_READWRITE(z80_1_slatch_read,z80_1_slatch_write)*/
- AM_RANGE(0x01,0x01) AM_NOP /*AM_READWRITE(z80_1_nmienable,z80_1_soundwrite_front)*/
- AM_RANGE(0x02,0x02) AM_NOP /*AM_WRITE(z80_1_soundwrite_rear)*/
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(istellar_state::z80_2_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00,0x00) AM_READWRITE(z80_2_ldp_read,z80_2_ldp_write)
- AM_RANGE(0x01,0x01) AM_READWRITE(z80_2_latch2_read,z80_2_latch1_write)
- AM_RANGE(0x02,0x02) AM_READ(z80_2_nmienable)
+ map(0x05, 0x05).rw(this, FUNC(istellar_state::z80_0_latch1_read), FUNC(istellar_state::z80_0_latch2_write));
+}
+
+void istellar_state::z80_1_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).noprw(); /*AM_READWRITE(z80_1_slatch_read,z80_1_slatch_write)*/
+ map(0x01, 0x01).noprw(); /*AM_READWRITE(z80_1_nmienable,z80_1_soundwrite_front)*/
+ map(0x02, 0x02).noprw(); /*AM_WRITE(z80_1_soundwrite_rear)*/
+}
+
+void istellar_state::z80_2_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).rw(this, FUNC(istellar_state::z80_2_ldp_read), FUNC(istellar_state::z80_2_ldp_write));
+ map(0x01, 0x01).rw(this, FUNC(istellar_state::z80_2_latch2_read), FUNC(istellar_state::z80_2_latch1_write));
+ map(0x02, 0x02).r(this, FUNC(istellar_state::z80_2_nmienable));
/* AM_RANGE(0x03,0x03) AM_WRITE(z80_2_ldtrans_write)*/
-ADDRESS_MAP_END
+}
/* PORTS */