diff options
Diffstat (limited to 'src/mame/drivers/ssfindo.cpp')
-rw-r--r-- | src/mame/drivers/ssfindo.cpp | 87 |
1 files changed, 45 insertions, 42 deletions
diff --git a/src/mame/drivers/ssfindo.cpp b/src/mame/drivers/ssfindo.cpp index 89fffd54122..57f7ba3529a 100644 --- a/src/mame/drivers/ssfindo.cpp +++ b/src/mame/drivers/ssfindo.cpp @@ -601,38 +601,40 @@ READ32_MEMBER(ssfindo_state::randomized_r) return machine().rand(); } -ADDRESS_MAP_START(ssfindo_state::ssfindo_map) - AM_RANGE(0x00000000, 0x000fffff) AM_ROM - AM_RANGE(0x03200000, 0x032001ff) AM_READWRITE(PS7500_IO_r,PS7500_IO_w) - AM_RANGE(0x03012e60, 0x03012e67) AM_NOP - AM_RANGE(0x03012fe0, 0x03012fe3) AM_WRITE(debug_w) - AM_RANGE(0x03012ff0, 0x03012ff3) AM_NOP - AM_RANGE(0x03012ff4, 0x03012ff7) AM_WRITENOP AM_READ(ff4_r) //status flag ? - AM_RANGE(0x03012ff8, 0x03012fff) AM_NOP - AM_RANGE(0x03240000, 0x03240003) AM_READ_PORT("IN0") AM_WRITENOP - AM_RANGE(0x03241000, 0x03241003) AM_READ_PORT("IN1") AM_WRITENOP - AM_RANGE(0x03242000, 0x03242003) AM_READ(io_r) AM_WRITE(io_w) - AM_RANGE(0x03243000, 0x03243003) AM_READ_PORT("DSW") AM_WRITENOP - AM_RANGE(0x0324f000, 0x0324f003) AM_READ(SIMPLEIO_r) - AM_RANGE(0x03245000, 0x03245003) AM_WRITENOP /* sound ? */ - AM_RANGE(0x03400000, 0x03400003) AM_WRITE(FIFO_w) - AM_RANGE(0x10000000, 0x11ffffff) AM_RAM AM_SHARE("vram") -ADDRESS_MAP_END - -ADDRESS_MAP_START(ssfindo_state::ppcar_map) - AM_RANGE(0x00000000, 0x000fffff) AM_ROM - AM_RANGE(0x03200000, 0x032001ff) AM_READWRITE(PS7500_IO_r,PS7500_IO_w) - AM_RANGE(0x03012b00, 0x03012bff) AM_READ(randomized_r) AM_WRITENOP - AM_RANGE(0x03012e60, 0x03012e67) AM_WRITENOP - AM_RANGE(0x03012ff8, 0x03012ffb) AM_READ_PORT("IN0") AM_WRITENOP - AM_RANGE(0x032c0000, 0x032c0003) AM_READ_PORT("IN1") AM_WRITENOP - AM_RANGE(0x03340000, 0x03340007) AM_WRITENOP - AM_RANGE(0x03341000, 0x0334101f) AM_WRITENOP - AM_RANGE(0x033c0000, 0x033c0003) AM_READ(io_r) AM_WRITE(io_w) - AM_RANGE(0x03400000, 0x03400003) AM_WRITE(FIFO_w) - AM_RANGE(0x08000000, 0x08ffffff) AM_RAM - AM_RANGE(0x10000000, 0x10ffffff) AM_RAM AM_SHARE("vram") -ADDRESS_MAP_END +void ssfindo_state::ssfindo_map(address_map &map) +{ + map(0x00000000, 0x000fffff).rom(); + map(0x03200000, 0x032001ff).rw(this, FUNC(ssfindo_state::PS7500_IO_r), FUNC(ssfindo_state::PS7500_IO_w)); + map(0x03012e60, 0x03012e67).noprw(); + map(0x03012fe0, 0x03012fe3).w(this, FUNC(ssfindo_state::debug_w)); + map(0x03012ff0, 0x03012ff3).noprw(); + map(0x03012ff4, 0x03012ff7).nopw().r(this, FUNC(ssfindo_state::ff4_r)); //status flag ? + map(0x03012ff8, 0x03012fff).noprw(); + map(0x03240000, 0x03240003).portr("IN0").nopw(); + map(0x03241000, 0x03241003).portr("IN1").nopw(); + map(0x03242000, 0x03242003).r(this, FUNC(ssfindo_state::io_r)).w(this, FUNC(ssfindo_state::io_w)); + map(0x03243000, 0x03243003).portr("DSW").nopw(); + map(0x0324f000, 0x0324f003).r(this, FUNC(ssfindo_state::SIMPLEIO_r)); + map(0x03245000, 0x03245003).nopw(); /* sound ? */ + map(0x03400000, 0x03400003).w(this, FUNC(ssfindo_state::FIFO_w)); + map(0x10000000, 0x11ffffff).ram().share("vram"); +} + +void ssfindo_state::ppcar_map(address_map &map) +{ + map(0x00000000, 0x000fffff).rom(); + map(0x03200000, 0x032001ff).rw(this, FUNC(ssfindo_state::PS7500_IO_r), FUNC(ssfindo_state::PS7500_IO_w)); + map(0x03012b00, 0x03012bff).r(this, FUNC(ssfindo_state::randomized_r)).nopw(); + map(0x03012e60, 0x03012e67).nopw(); + map(0x03012ff8, 0x03012ffb).portr("IN0").nopw(); + map(0x032c0000, 0x032c0003).portr("IN1").nopw(); + map(0x03340000, 0x03340007).nopw(); + map(0x03341000, 0x0334101f).nopw(); + map(0x033c0000, 0x033c0003).r(this, FUNC(ssfindo_state::io_r)).w(this, FUNC(ssfindo_state::io_w)); + map(0x03400000, 0x03400003).w(this, FUNC(ssfindo_state::FIFO_w)); + map(0x08000000, 0x08ffffff).ram(); + map(0x10000000, 0x10ffffff).ram().share("vram"); +} READ32_MEMBER(ssfindo_state::tetfight_unk_r) { @@ -645,16 +647,17 @@ WRITE32_MEMBER(ssfindo_state::tetfight_unk_w) //sound latch ? } -ADDRESS_MAP_START(ssfindo_state::tetfight_map) - AM_RANGE(0x00000000, 0x001fffff) AM_ROM - AM_RANGE(0x03200000, 0x032001ff) AM_READWRITE(PS7500_IO_r,PS7500_IO_w) - AM_RANGE(0x03400000, 0x03400003) AM_WRITE(FIFO_w) - AM_RANGE(0x03240000, 0x03240003) AM_READ_PORT("IN0") - AM_RANGE(0x03240004, 0x03240007) AM_READ_PORT("IN1") - AM_RANGE(0x03240008, 0x0324000b) AM_READ_PORT("DSW2") - AM_RANGE(0x03240020, 0x03240023) AM_READWRITE(tetfight_unk_r, tetfight_unk_w) - AM_RANGE(0x10000000, 0x14ffffff) AM_RAM AM_SHARE("vram") -ADDRESS_MAP_END +void ssfindo_state::tetfight_map(address_map &map) +{ + map(0x00000000, 0x001fffff).rom(); + map(0x03200000, 0x032001ff).rw(this, FUNC(ssfindo_state::PS7500_IO_r), FUNC(ssfindo_state::PS7500_IO_w)); + map(0x03400000, 0x03400003).w(this, FUNC(ssfindo_state::FIFO_w)); + map(0x03240000, 0x03240003).portr("IN0"); + map(0x03240004, 0x03240007).portr("IN1"); + map(0x03240008, 0x0324000b).portr("DSW2"); + map(0x03240020, 0x03240023).rw(this, FUNC(ssfindo_state::tetfight_unk_r), FUNC(ssfindo_state::tetfight_unk_w)); + map(0x10000000, 0x14ffffff).ram().share("vram"); +} void ssfindo_state::machine_reset() { |