summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/ssfindo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/ssfindo.cpp')
-rw-r--r--src/mame/drivers/ssfindo.cpp87
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()
{