summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/qdrmfgp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/qdrmfgp.cpp')
-rw-r--r--src/mame/drivers/qdrmfgp.cpp103
1 files changed, 53 insertions, 50 deletions
diff --git a/src/mame/drivers/qdrmfgp.cpp b/src/mame/drivers/qdrmfgp.cpp
index 3b3697db9c7..fa93ba96d07 100644
--- a/src/mame/drivers/qdrmfgp.cpp
+++ b/src/mame/drivers/qdrmfgp.cpp
@@ -248,56 +248,59 @@ WRITE_LINE_MEMBER(qdrmfgp_state::gp2_ide_interrupt)
*
*************************************/
-ADDRESS_MAP_START(qdrmfgp_state::qdrmfgp_map)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("workram") /* work ram */
- AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
- AM_RANGE(0x280000, 0x280fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
- AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE("k056832", k056832_device, word_w) /* video reg */
- AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* ccu */
- AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service sw */
- AM_RANGE(0x340000, 0x340001) AM_READ(inputs_r) /* inputport */
- AM_RANGE(0x350000, 0x350001) AM_WRITENOP /* unknown */
- AM_RANGE(0x360000, 0x360001) AM_WRITENOP /* unknown */
- AM_RANGE(0x370000, 0x370001) AM_WRITE(gp_control_w) /* control reg */
- AM_RANGE(0x380000, 0x380001) AM_WRITENOP /* Watchdog */
- AM_RANGE(0x800000, 0x80045f) AM_DEVREADWRITE8("k054539", k054539_device, read, write, 0x00ff) /* sound regs */
- AM_RANGE(0x880000, 0x881fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* vram */
- AM_RANGE(0x882000, 0x883fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* vram (mirror) */
- AM_RANGE(0x900000, 0x901fff) AM_READ(v_rom_r) /* gfxrom through */
- AM_RANGE(0xa00000, 0xa0000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs0, write_cs0) /* IDE control regs */
- AM_RANGE(0xa40000, 0xa4000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs1, write_cs1) /* IDE status control reg */
- AM_RANGE(0xc00000, 0xcbffff) AM_READWRITE(sndram_r, sndram_w) /* sound ram */
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(qdrmfgp_state::qdrmfgp2_map)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x100000, 0x110fff) AM_RAM AM_SHARE("workram") /* work ram */
- AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
- AM_RANGE(0x280000, 0x280fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
- AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE("k056832", k056832_device, word_w) /* video reg */
- AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00) /* ccu */
- AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service */
- AM_RANGE(0x340000, 0x340001) AM_READ(inputs_r) /* inputport */
- AM_RANGE(0x350000, 0x350001) AM_WRITENOP /* unknown */
- AM_RANGE(0x360000, 0x360001) AM_WRITENOP /* unknown */
- AM_RANGE(0x370000, 0x370001) AM_WRITE(gp2_control_w) /* control reg */
- AM_RANGE(0x380000, 0x380001) AM_WRITENOP /* Watchdog */
- AM_RANGE(0x800000, 0x80045f) AM_DEVREADWRITE8("k054539", k054539_device, read, write, 0x00ff) /* sound regs */
- AM_RANGE(0x880000, 0x881fff) AM_READWRITE(gp2_vram_r, gp2_vram_w) /* vram */
- AM_RANGE(0x89f000, 0x8a0fff) AM_READWRITE(gp2_vram_mirror_r, gp2_vram_mirror_w) /* vram (mirror) */
- AM_RANGE(0x900000, 0x901fff) AM_READ(v_rom_r) /* gfxrom through */
- AM_RANGE(0xa00000, 0xa0000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs0, write_cs0) /* IDE control regs */
- AM_RANGE(0xa40000, 0xa4000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs1, write_cs1) /* IDE status control reg */
- AM_RANGE(0xc00000, 0xcbffff) AM_READWRITE(sndram_r,sndram_w) /* sound ram */
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(qdrmfgp_state::qdrmfgp_k054539_map)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_REGION("k054539", 0)
- AM_RANGE(0x100000, 0x45ffff) AM_RAM AM_SHARE("sndram")
-ADDRESS_MAP_END
+void qdrmfgp_state::qdrmfgp_map(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom();
+ map(0x100000, 0x10ffff).ram().share("workram"); /* work ram */
+ map(0x180000, 0x183fff).ram().share("nvram"); /* backup ram */
+ map(0x280000, 0x280fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
+ map(0x300000, 0x30003f).w(m_k056832, FUNC(k056832_device::word_w)); /* video reg */
+ map(0x320000, 0x32001f).rw(m_k053252, FUNC(k053252_device::read), FUNC(k053252_device::write)).umask16(0x00ff); /* ccu */
+ map(0x330000, 0x330001).portr("SENSOR"); /* battery power & service sw */
+ map(0x340000, 0x340001).r(this, FUNC(qdrmfgp_state::inputs_r)); /* inputport */
+ map(0x350000, 0x350001).nopw(); /* unknown */
+ map(0x360000, 0x360001).nopw(); /* unknown */
+ map(0x370000, 0x370001).w(this, FUNC(qdrmfgp_state::gp_control_w)); /* control reg */
+ map(0x380000, 0x380001).nopw(); /* Watchdog */
+ map(0x800000, 0x80045f).rw(m_k054539, FUNC(k054539_device::read), FUNC(k054539_device::write)).umask16(0x00ff); /* sound regs */
+ map(0x880000, 0x881fff).rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w)); /* vram */
+ map(0x882000, 0x883fff).rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w)); /* vram (mirror) */
+ map(0x900000, 0x901fff).r(this, FUNC(qdrmfgp_state::v_rom_r)); /* gfxrom through */
+ map(0xa00000, 0xa0000f).rw(m_ata, FUNC(ata_interface_device::read_cs0), FUNC(ata_interface_device::write_cs0)); /* IDE control regs */
+ map(0xa40000, 0xa4000f).rw(m_ata, FUNC(ata_interface_device::read_cs1), FUNC(ata_interface_device::write_cs1)); /* IDE status control reg */
+ map(0xc00000, 0xcbffff).rw(this, FUNC(qdrmfgp_state::sndram_r), FUNC(qdrmfgp_state::sndram_w)); /* sound ram */
+}
+
+
+void qdrmfgp_state::qdrmfgp2_map(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom();
+ map(0x100000, 0x110fff).ram().share("workram"); /* work ram */
+ map(0x180000, 0x183fff).ram().share("nvram"); /* backup ram */
+ map(0x280000, 0x280fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
+ map(0x300000, 0x30003f).w(m_k056832, FUNC(k056832_device::word_w)); /* video reg */
+ map(0x320000, 0x32001f).rw(m_k053252, FUNC(k053252_device::read), FUNC(k053252_device::write)).umask16(0xff00); /* ccu */
+ map(0x330000, 0x330001).portr("SENSOR"); /* battery power & service */
+ map(0x340000, 0x340001).r(this, FUNC(qdrmfgp_state::inputs_r)); /* inputport */
+ map(0x350000, 0x350001).nopw(); /* unknown */
+ map(0x360000, 0x360001).nopw(); /* unknown */
+ map(0x370000, 0x370001).w(this, FUNC(qdrmfgp_state::gp2_control_w)); /* control reg */
+ map(0x380000, 0x380001).nopw(); /* Watchdog */
+ map(0x800000, 0x80045f).rw(m_k054539, FUNC(k054539_device::read), FUNC(k054539_device::write)).umask16(0x00ff); /* sound regs */
+ map(0x880000, 0x881fff).rw(this, FUNC(qdrmfgp_state::gp2_vram_r), FUNC(qdrmfgp_state::gp2_vram_w)); /* vram */
+ map(0x89f000, 0x8a0fff).rw(this, FUNC(qdrmfgp_state::gp2_vram_mirror_r), FUNC(qdrmfgp_state::gp2_vram_mirror_w)); /* vram (mirror) */
+ map(0x900000, 0x901fff).r(this, FUNC(qdrmfgp_state::v_rom_r)); /* gfxrom through */
+ map(0xa00000, 0xa0000f).rw(m_ata, FUNC(ata_interface_device::read_cs0), FUNC(ata_interface_device::write_cs0)); /* IDE control regs */
+ map(0xa40000, 0xa4000f).rw(m_ata, FUNC(ata_interface_device::read_cs1), FUNC(ata_interface_device::write_cs1)); /* IDE status control reg */
+ map(0xc00000, 0xcbffff).rw(this, FUNC(qdrmfgp_state::sndram_r), FUNC(qdrmfgp_state::sndram_w)); /* sound ram */
+}
+
+
+void qdrmfgp_state::qdrmfgp_k054539_map(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom().region("k054539", 0);
+ map(0x100000, 0x45ffff).ram().share("sndram");
+}
/*************************************
*