summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/1945kiii.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/1945kiii.cpp')
-rw-r--r--src/mame/drivers/1945kiii.cpp73
1 files changed, 38 insertions, 35 deletions
diff --git a/src/mame/drivers/1945kiii.cpp b/src/mame/drivers/1945kiii.cpp
index 549f54ef9da..76cc7b1d560 100644
--- a/src/mame/drivers/1945kiii.cpp
+++ b/src/mame/drivers/1945kiii.cpp
@@ -188,41 +188,44 @@ WRITE16_MEMBER(k3_state::flagrall_soundbanks_w)
}
-ADDRESS_MAP_START(k3_state::k3_base_map)
- AM_RANGE(0x0009ce, 0x0009cf) AM_WRITENOP // k3 - bug in code? (clean up log)
- AM_RANGE(0x0009d2, 0x0009d3) AM_WRITENOP // l3 - bug in code? (clean up log)
-
- AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x100000, 0x10ffff) AM_RAM // Main Ram
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
- AM_RANGE(0x240000, 0x240fff) AM_RAM AM_SHARE("spritera1")
- AM_RANGE(0x280000, 0x280fff) AM_RAM AM_SHARE("spritera2")
- AM_RANGE(0x2c0000, 0x2c07ff) AM_RAM_WRITE(k3_bgram_w) AM_SHARE("bgram")
- AM_RANGE(0x2c0800, 0x2c0fff) AM_RAM // or does k3 have a bigger tilemap? (flagrall is definitely 32x32 tiles)
- AM_RANGE(0x340000, 0x340001) AM_WRITE(k3_scrollx_w)
- AM_RANGE(0x380000, 0x380001) AM_WRITE(k3_scrolly_w)
- AM_RANGE(0x400000, 0x400001) AM_READ_PORT("INPUTS")
- AM_RANGE(0x440000, 0x440001) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x480000, 0x480001) AM_READ_PORT("DSW")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(k3_state::k3_map)
- AM_IMPORT_FROM( k3_base_map )
-
- AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE(k3_soundbanks_w)
-
- AM_RANGE(0x4c0000, 0x4c0001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0xff00)
- AM_RANGE(0x500000, 0x500001) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0xff00)
- AM_RANGE(0x8c0000, 0x8cffff) AM_RAM // not used? (bug in code?)
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(k3_state::flagrall_map)
- AM_IMPORT_FROM( k3_base_map )
-
- AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE(flagrall_soundbanks_w)
- AM_RANGE(0x4c0000, 0x4c0001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
-ADDRESS_MAP_END
+void k3_state::k3_base_map(address_map &map)
+{
+ map(0x0009ce, 0x0009cf).nopw(); // k3 - bug in code? (clean up log)
+ map(0x0009d2, 0x0009d3).nopw(); // l3 - bug in code? (clean up log)
+
+ map(0x000000, 0x0fffff).rom(); // ROM
+ map(0x100000, 0x10ffff).ram(); // Main Ram
+ map(0x200000, 0x200fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
+ map(0x240000, 0x240fff).ram().share("spritera1");
+ map(0x280000, 0x280fff).ram().share("spritera2");
+ map(0x2c0000, 0x2c07ff).ram().w(this, FUNC(k3_state::k3_bgram_w)).share("bgram");
+ map(0x2c0800, 0x2c0fff).ram(); // or does k3 have a bigger tilemap? (flagrall is definitely 32x32 tiles)
+ map(0x340000, 0x340001).w(this, FUNC(k3_state::k3_scrollx_w));
+ map(0x380000, 0x380001).w(this, FUNC(k3_state::k3_scrolly_w));
+ map(0x400000, 0x400001).portr("INPUTS");
+ map(0x440000, 0x440001).portr("SYSTEM");
+ map(0x480000, 0x480001).portr("DSW");
+}
+
+void k3_state::k3_map(address_map &map)
+{
+ k3_base_map(map);
+
+ map(0x3c0000, 0x3c0001).w(this, FUNC(k3_state::k3_soundbanks_w));
+
+ map(0x4c0000, 0x4c0000).rw(m_oki1, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+ map(0x500000, 0x500000).rw(m_oki2, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+ map(0x8c0000, 0x8cffff).ram(); // not used? (bug in code?)
+}
+
+
+void k3_state::flagrall_map(address_map &map)
+{
+ k3_base_map(map);
+
+ map(0x3c0000, 0x3c0001).w(this, FUNC(k3_state::flagrall_soundbanks_w));
+ map(0x4c0001, 0x4c0001).rw(m_oki1, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+}
static INPUT_PORTS_START( k3 )