summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/funybubl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/funybubl.cpp')
-rw-r--r--src/mame/drivers/funybubl.cpp53
1 files changed, 28 insertions, 25 deletions
diff --git a/src/mame/drivers/funybubl.cpp b/src/mame/drivers/funybubl.cpp
index e2f2e99bf98..3b004a800ff 100644
--- a/src/mame/drivers/funybubl.cpp
+++ b/src/mame/drivers/funybubl.cpp
@@ -81,34 +81,37 @@ WRITE8_MEMBER(funybubl_state::funybubl_oki_bank_sw)
}
-ADDRESS_MAP_START(funybubl_state::funybubl_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2") // banked port 1?
- AM_RANGE(0xc400, 0xcfff) AM_RAM_WRITE(funybubl_paldatawrite) AM_SHARE("paletteram") // palette
- AM_RANGE(0xd000, 0xdfff) AM_RAMBANK("bank1") // banked port 0?
- AM_RANGE(0xe000, 0xffff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(funybubl_state::io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_WRITE(funybubl_vidram_bank_w) // vidram bank
- AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(funybubl_cpurombank_w) // rom bank?
- AM_RANGE(0x02, 0x02) AM_READ_PORT("P2")
- AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW") AM_WRITE(funybubl_soundcommand_w)
- AM_RANGE(0x06, 0x06) AM_READNOP /* Nothing is done with the data read */
- AM_RANGE(0x06, 0x06) AM_WRITENOP /* Written directly after IO port 0 */
- AM_RANGE(0x07, 0x07) AM_WRITENOP /* Reset something on startup - Sound CPU ?? */
-ADDRESS_MAP_END
+void funybubl_state::funybubl_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0xbfff).bankr("bank2"); // banked port 1?
+ map(0xc400, 0xcfff).ram().w(this, FUNC(funybubl_state::funybubl_paldatawrite)).share("paletteram"); // palette
+ map(0xd000, 0xdfff).bankrw("bank1"); // banked port 0?
+ map(0xe000, 0xffff).ram();
+}
+
+void funybubl_state::io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).portr("SYSTEM").w(this, FUNC(funybubl_state::funybubl_vidram_bank_w)); // vidram bank
+ map(0x01, 0x01).portr("P1").w(this, FUNC(funybubl_state::funybubl_cpurombank_w)); // rom bank?
+ map(0x02, 0x02).portr("P2");
+ map(0x03, 0x03).portr("DSW").w(this, FUNC(funybubl_state::funybubl_soundcommand_w));
+ map(0x06, 0x06).nopr(); /* Nothing is done with the data read */
+ map(0x06, 0x06).nopw(); /* Written directly after IO port 0 */
+ map(0x07, 0x07).nopw(); /* Reset something on startup - Sound CPU ?? */
+}
/* Sound CPU */
-ADDRESS_MAP_START(funybubl_state::sound_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0x9000, 0x9000) AM_WRITE(funybubl_oki_bank_sw)
- AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
-ADDRESS_MAP_END
+void funybubl_state::sound_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x87ff).ram();
+ map(0x9000, 0x9000).w(this, FUNC(funybubl_state::funybubl_oki_bank_sw));
+ map(0x9800, 0x9800).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+ map(0xa000, 0xa000).r(m_soundlatch, FUNC(generic_latch_8_device::read));
+}