summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/jangou.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/jangou.cpp')
-rw-r--r--src/mame/drivers/jangou.cpp176
1 files changed, 94 insertions, 82 deletions
diff --git a/src/mame/drivers/jangou.cpp b/src/mame/drivers/jangou.cpp
index 6b674b8a08e..3e859eb9a73 100644
--- a/src/mame/drivers/jangou.cpp
+++ b/src/mame/drivers/jangou.cpp
@@ -338,34 +338,38 @@ WRITE8_MEMBER(jangou_state::slave_com_w)
*
*************************************/
-ADDRESS_MAP_START(jangou_state::cpu0_map)
- AM_RANGE(0x0000, 0x9fff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(jangou_state::cpu0_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x01,0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
- AM_RANGE(0x02,0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
- AM_RANGE(0x10,0x10) AM_READ_PORT("DSW") AM_WRITE(output_w) //dsw + blitter busy flag
- AM_RANGE(0x11,0x11) AM_WRITE(mux_w)
- AM_RANGE(0x12,0x17) AM_DEVICE("blitter",jangou_blitter_device, blit_v1_regs)
- AM_RANGE(0x20,0x2f) AM_DEVWRITE("blitter",jangou_blitter_device, vregs_w)
- AM_RANGE(0x30,0x30) AM_WRITENOP //? polls 0x03 continuously
- AM_RANGE(0x31,0x31) AM_WRITE(sound_latch_w)
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(jangou_state::cpu1_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITENOP
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(jangou_state::cpu1_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00,0x00) AM_READ(sound_latch_r)
- AM_RANGE(0x01,0x01) AM_WRITE(cvsd_w)
- AM_RANGE(0x02,0x02) AM_WRITENOP // Echoes sound command - acknowledge?
-ADDRESS_MAP_END
+void jangou_state::cpu0_map(address_map &map)
+{
+ map(0x0000, 0x9fff).rom();
+ map(0xc000, 0xc7ff).ram();
+}
+
+void jangou_state::cpu0_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x01, 0x01).r("aysnd", FUNC(ay8910_device::data_r));
+ map(0x02, 0x03).w("aysnd", FUNC(ay8910_device::data_address_w));
+ map(0x10, 0x10).portr("DSW").w(this, FUNC(jangou_state::output_w)); //dsw + blitter busy flag
+ map(0x11, 0x11).w(this, FUNC(jangou_state::mux_w));
+ map(0x12, 0x17).m(m_blitter, FUNC(jangou_blitter_device::blit_v1_regs));
+ map(0x20, 0x2f).w(m_blitter, FUNC(jangou_blitter_device::vregs_w));
+ map(0x30, 0x30).nopw(); //? polls 0x03 continuously
+ map(0x31, 0x31).w(this, FUNC(jangou_state::sound_latch_w));
+}
+
+
+void jangou_state::cpu1_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom().nopw();
+}
+
+void jangou_state::cpu1_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).r(this, FUNC(jangou_state::sound_latch_r));
+ map(0x01, 0x01).w(this, FUNC(jangou_state::cvsd_w));
+ map(0x02, 0x02).nopw(); // Echoes sound command - acknowledge?
+}
/*************************************
@@ -374,32 +378,36 @@ ADDRESS_MAP_END
*
*************************************/
-ADDRESS_MAP_START(jangou_state::jngolady_cpu0_map)
- AM_RANGE(0x0000, 0x9fff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0xe000, 0xe000) AM_READWRITE(master_com_r,master_com_w)
-ADDRESS_MAP_END
+void jangou_state::jngolady_cpu0_map(address_map &map)
+{
+ map(0x0000, 0x9fff).rom();
+ map(0xc000, 0xc7ff).ram().share("share1");
+ map(0xe000, 0xe000).rw(this, FUNC(jangou_state::master_com_r), FUNC(jangou_state::master_com_w));
+}
-ADDRESS_MAP_START(jangou_state::jngolady_cpu1_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITENOP
-ADDRESS_MAP_END
+void jangou_state::jngolady_cpu1_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom().nopw();
+}
-ADDRESS_MAP_START(jangou_state::jngolady_cpu1_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00,0x00) AM_READ(sound_latch_r)
- AM_RANGE(0x01,0x01) AM_WRITE(adpcm_w)
- AM_RANGE(0x02,0x02) AM_WRITENOP
-ADDRESS_MAP_END
+void jangou_state::jngolady_cpu1_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).r(this, FUNC(jangou_state::sound_latch_r));
+ map(0x01, 0x01).w(this, FUNC(jangou_state::adpcm_w));
+ map(0x02, 0x02).nopw();
+}
-ADDRESS_MAP_START(jangou_state::nsc_map)
- AM_RANGE(0x0000, 0x007f) AM_RAM //internal ram for irq etc.
- AM_RANGE(0x8000, 0x8000) AM_WRITENOP //write-only,irq related?
- AM_RANGE(0x9000, 0x9000) AM_READWRITE(slave_com_r,slave_com_w)
- AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0xf000, 0xffff) AM_ROM
-ADDRESS_MAP_END
+void jangou_state::nsc_map(address_map &map)
+{
+ map(0x0000, 0x007f).ram(); //internal ram for irq etc.
+ map(0x8000, 0x8000).nopw(); //write-only,irq related?
+ map(0x9000, 0x9000).rw(this, FUNC(jangou_state::slave_com_r), FUNC(jangou_state::slave_com_w));
+ map(0xc000, 0xc7ff).ram().share("share1");
+ map(0xf000, 0xffff).rom();
+}
/*************************************
*
@@ -407,24 +415,26 @@ ADDRESS_MAP_END
*
*************************************/
-ADDRESS_MAP_START(jangou_state::cntrygrl_cpu0_map)
- AM_RANGE(0x0000, 0x3fff) AM_ROM
+void jangou_state::cntrygrl_cpu0_map(address_map &map)
+{
+ map(0x0000, 0x3fff).rom();
// AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xefff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(jangou_state::cntrygrl_cpu0_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x01,0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
- AM_RANGE(0x02,0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
- AM_RANGE(0x10,0x10) AM_READ_PORT("DSW") //dsw + blitter busy flag
- AM_RANGE(0x10,0x10) AM_WRITE(output_w)
- AM_RANGE(0x11,0x11) AM_WRITE(mux_w)
- AM_RANGE(0x12,0x17) AM_DEVICE("blitter",jangou_blitter_device, blit_v1_regs)
- AM_RANGE(0x20,0x2f) AM_DEVWRITE("blitter",jangou_blitter_device, vregs_w)
- AM_RANGE(0x30,0x30) AM_WRITENOP //? polls 0x03 continuously
+ map(0xe000, 0xefff).ram();
+}
+
+void jangou_state::cntrygrl_cpu0_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x01, 0x01).r("aysnd", FUNC(ay8910_device::data_r));
+ map(0x02, 0x03).w("aysnd", FUNC(ay8910_device::data_address_w));
+ map(0x10, 0x10).portr("DSW"); //dsw + blitter busy flag
+ map(0x10, 0x10).w(this, FUNC(jangou_state::output_w));
+ map(0x11, 0x11).w(this, FUNC(jangou_state::mux_w));
+ map(0x12, 0x17).m(m_blitter, FUNC(jangou_blitter_device::blit_v1_regs));
+ map(0x20, 0x2f).w(m_blitter, FUNC(jangou_blitter_device::vregs_w));
+ map(0x30, 0x30).nopw(); //? polls 0x03 continuously
// AM_RANGE(0x31,0x31) AM_WRITE(sound_latch_w)
-ADDRESS_MAP_END
+}
/*************************************
*
@@ -432,23 +442,25 @@ ADDRESS_MAP_END
*
*************************************/
-ADDRESS_MAP_START(jangou_state::roylcrdn_cpu0_map)
- AM_RANGE(0x0000, 0x2fff) AM_ROM
- AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("nvram") /* MK48Z02B-15 ZEROPOWER RAM */
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(jangou_state::roylcrdn_cpu0_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x01,0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
- AM_RANGE(0x02,0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
- AM_RANGE(0x10,0x10) AM_READ_PORT("DSW") /* DSW + blitter busy flag */
- AM_RANGE(0x10,0x10) AM_WRITENOP /* Writes continuosly 0's in attract mode, and 1's in game */
- AM_RANGE(0x11,0x11) AM_WRITE(mux_w)
- AM_RANGE(0x12,0x17) AM_DEVICE("blitter",jangou_blitter_device, blit_v1_regs)
- AM_RANGE(0x13,0x13) AM_READNOP /* Often reads bit7 with unknown purposes */
- AM_RANGE(0x20,0x2f) AM_DEVWRITE("blitter",jangou_blitter_device, vregs_w)
- AM_RANGE(0x30,0x30) AM_WRITENOP /* Seems to write 0x10 on each sound event */
-ADDRESS_MAP_END
+void jangou_state::roylcrdn_cpu0_map(address_map &map)
+{
+ map(0x0000, 0x2fff).rom();
+ map(0x7000, 0x77ff).ram().share("nvram"); /* MK48Z02B-15 ZEROPOWER RAM */
+}
+
+void jangou_state::roylcrdn_cpu0_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x01, 0x01).r("aysnd", FUNC(ay8910_device::data_r));
+ map(0x02, 0x03).w("aysnd", FUNC(ay8910_device::data_address_w));
+ map(0x10, 0x10).portr("DSW"); /* DSW + blitter busy flag */
+ map(0x10, 0x10).nopw(); /* Writes continuosly 0's in attract mode, and 1's in game */
+ map(0x11, 0x11).w(this, FUNC(jangou_state::mux_w));
+ map(0x12, 0x17).m(m_blitter, FUNC(jangou_blitter_device::blit_v1_regs));
+ map(0x13, 0x13).nopr(); /* Often reads bit7 with unknown purposes */
+ map(0x20, 0x2f).w(m_blitter, FUNC(jangou_blitter_device::vregs_w));
+ map(0x30, 0x30).nopw(); /* Seems to write 0x10 on each sound event */
+}
/*************************************