summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/flower.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/flower.cpp')
-rw-r--r--src/mame/drivers/flower.cpp62
1 files changed, 32 insertions, 30 deletions
diff --git a/src/mame/drivers/flower.cpp b/src/mame/drivers/flower.cpp
index fc1a66688c1..01561e7d7f7 100644
--- a/src/mame/drivers/flower.cpp
+++ b/src/mame/drivers/flower.cpp
@@ -335,36 +335,38 @@ WRITE8_MEMBER(flower_state::fgvram_w)
m_fg_tilemap->mark_tile_dirty(offset & 0xff);
}
-ADDRESS_MAP_START(flower_state::shared_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("workram")
- AM_RANGE(0xa000, 0xa000) AM_WRITENOP
- AM_RANGE(0xa001, 0xa001) AM_WRITE(flipscreen_w)
- AM_RANGE(0xa002, 0xa002) AM_WRITENOP // master irq related (0 at start, 1 at end)
- AM_RANGE(0xa003, 0xa003) AM_WRITENOP // slave irq related (0 at start, 1 at end)
- AM_RANGE(0xa004, 0xa004) AM_WRITE(coin_counter_w)
- AM_RANGE(0xa005, 0xa005) AM_WRITENOP
- AM_RANGE(0xa100, 0xa100) AM_READ_PORT("P1")
- AM_RANGE(0xa101, 0xa101) AM_READ_PORT("P2")
- AM_RANGE(0xa102, 0xa102) AM_READ_PORT("DSW1")
- AM_RANGE(0xa103, 0xa103) AM_READ_PORT("DSW2")
- AM_RANGE(0xa400, 0xa400) AM_WRITE(sound_command_w)
- AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("txvram")
- AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(fgvram_w) AM_SHARE("fgvram")
- AM_RANGE(0xf200, 0xf200) AM_RAM AM_SHARE("fgscroll")
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(bgvram_w) AM_SHARE("bgvram")
- AM_RANGE(0xfa00, 0xfa00) AM_RAM AM_SHARE("bgscroll")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(flower_state::audio_map)
- AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x4000) AM_WRITENOP // audio irq related (0 at start, 1 at end)
- AM_RANGE(0x4001, 0x4001) AM_WRITE(audio_nmi_mask_w)
- AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
- AM_RANGE(0x8000, 0x803f) AM_DEVWRITE("flower", flower_sound_device, lower_write)
- AM_RANGE(0xa000, 0xa03f) AM_DEVWRITE("flower", flower_sound_device, upper_write)
- AM_RANGE(0xc000, 0xc7ff) AM_RAM
-ADDRESS_MAP_END
+void flower_state::shared_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0xc000, 0xdfff).ram().share("workram");
+ map(0xa000, 0xa000).nopw();
+ map(0xa001, 0xa001).w(this, FUNC(flower_state::flipscreen_w));
+ map(0xa002, 0xa002).nopw(); // master irq related (0 at start, 1 at end)
+ map(0xa003, 0xa003).nopw(); // slave irq related (0 at start, 1 at end)
+ map(0xa004, 0xa004).w(this, FUNC(flower_state::coin_counter_w));
+ map(0xa005, 0xa005).nopw();
+ map(0xa100, 0xa100).portr("P1");
+ map(0xa101, 0xa101).portr("P2");
+ map(0xa102, 0xa102).portr("DSW1");
+ map(0xa103, 0xa103).portr("DSW2");
+ map(0xa400, 0xa400).w(this, FUNC(flower_state::sound_command_w));
+ map(0xe000, 0xefff).ram().share("txvram");
+ map(0xf000, 0xf1ff).ram().w(this, FUNC(flower_state::fgvram_w)).share("fgvram");
+ map(0xf200, 0xf200).ram().share("fgscroll");
+ map(0xf800, 0xf9ff).ram().w(this, FUNC(flower_state::bgvram_w)).share("bgvram");
+ map(0xfa00, 0xfa00).ram().share("bgscroll");
+}
+
+void flower_state::audio_map(address_map &map)
+{
+ map(0x0000, 0x3fff).rom();
+ map(0x4000, 0x4000).nopw(); // audio irq related (0 at start, 1 at end)
+ map(0x4001, 0x4001).w(this, FUNC(flower_state::audio_nmi_mask_w));
+ map(0x6000, 0x6000).r(m_soundlatch, FUNC(generic_latch_8_device::read));
+ map(0x8000, 0x803f).w("flower", FUNC(flower_sound_device::lower_write));
+ map(0xa000, 0xa03f).w("flower", FUNC(flower_sound_device::upper_write));
+ map(0xc000, 0xc7ff).ram();
+}
INPUT_CHANGED_MEMBER(flower_state::coin_inserted)
{