summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/galpani2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/galpani2.cpp')
-rw-r--r--src/mame/drivers/galpani2.cpp102
1 files changed, 52 insertions, 50 deletions
diff --git a/src/mame/drivers/galpani2.cpp b/src/mame/drivers/galpani2.cpp
index 81e7a951119..f5a2b596810 100644
--- a/src/mame/drivers/galpani2.cpp
+++ b/src/mame/drivers/galpani2.cpp
@@ -347,54 +347,55 @@ WRITE8_MEMBER(galpani2_state::galpani2_oki2_bank_w)
}
-ADDRESS_MAP_START(galpani2_state::galpani2_mem1)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("ram") // Work RAM
- AM_RANGE(0x110000, 0x11000f) AM_RAM // ? corrupted? stack dumper on POST failure, pc+sr on gp2se
- AM_RANGE(0x300000, 0x301fff) AM_RAM // ?
- AM_RANGE(0x302000, 0x303fff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0x304000, 0x30401f) AM_DEVREADWRITE("kan_spr", kaneko16_sprite_device, kaneko16_sprites_regs_r, kaneko16_sprites_regs_w)
+void galpani2_state::galpani2_mem1(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom(); // ROM
+ map(0x100000, 0x10ffff).ram().share("ram"); // Work RAM
+ map(0x110000, 0x11000f).ram(); // ? corrupted? stack dumper on POST failure, pc+sr on gp2se
+ map(0x300000, 0x301fff).ram(); // ?
+ map(0x302000, 0x303fff).ram().share("spriteram"); // Sprites
+ map(0x304000, 0x30401f).rw(m_kaneko_spr, FUNC(kaneko16_sprite_device::kaneko16_sprites_regs_r), FUNC(kaneko16_sprite_device::kaneko16_sprites_regs_w));
// AM_RANGE(0x308000, 0x308001) AM_WRITENOP // ? 0 at startup
// AM_RANGE(0x30c000, 0x30c001) AM_WRITENOP // ? hblank effect ?
- AM_RANGE(0x310000, 0x3101ff) AM_RAM_DEVWRITE("bg8palette", palette_device, write16) AM_SHARE("bg8palette") // ?
- AM_RANGE(0x314000, 0x314001) AM_WRITENOP // ? flip backgrounds ?
- AM_RANGE(0x318000, 0x318001) AM_READWRITE(galpani2_eeprom_r, galpani2_eeprom_w) // EEPROM
- AM_RANGE(0x380000, 0x387fff) AM_RAM // Palette?
- AM_RANGE(0x388000, 0x38ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
+ map(0x310000, 0x3101ff).ram().w(m_bg8palette, FUNC(palette_device::write16)).share("bg8palette"); // ?
+ map(0x314000, 0x314001).nopw(); // ? flip backgrounds ?
+ map(0x318000, 0x318001).rw(this, FUNC(galpani2_state::galpani2_eeprom_r), FUNC(galpani2_state::galpani2_eeprom_w)); // EEPROM
+ map(0x380000, 0x387fff).ram(); // Palette?
+ map(0x388000, 0x38ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
// AM_RANGE(0x390000, 0x3901ff) AM_WRITENOP // ? at startup of service mode
- AM_RANGE(0x400000, 0x43ffff) AM_RAM AM_SHARE("bg8.0") // Background 0
- AM_RANGE(0x440000, 0x440001) AM_RAM AM_SHARE("bg8_scrolly.0") // Background 0 Scroll Y
- AM_RANGE(0x480000, 0x480001) AM_RAM AM_SHARE("bg8_scrollx.0") // Background 0 Scroll X
+ map(0x400000, 0x43ffff).ram().share("bg8.0"); // Background 0
+ map(0x440000, 0x440001).ram().share("bg8_scrolly.0"); // Background 0 Scroll Y
+ map(0x480000, 0x480001).ram().share("bg8_scrollx.0"); // Background 0 Scroll X
// AM_RANGE(0x4c0000, 0x4c0001) AM_WRITENOP // ? 0 at startup only
- AM_RANGE(0x500000, 0x53ffff) AM_RAM AM_SHARE("bg8.1") // Background 1
- AM_RANGE(0x540000, 0x540001) AM_RAM AM_SHARE("bg8_scrolly.1") // Background 1 Scroll Y
- AM_RANGE(0x580000, 0x580001) AM_RAM AM_SHARE("bg8_scrollx.1") // Background 1 Scroll X
+ map(0x500000, 0x53ffff).ram().share("bg8.1"); // Background 1
+ map(0x540000, 0x540001).ram().share("bg8_scrolly.1"); // Background 1 Scroll Y
+ map(0x580000, 0x580001).ram().share("bg8_scrollx.1"); // Background 1 Scroll X
// AM_RANGE(0x5c0000, 0x5c0001) AM_WRITENOP // ? 0 at startup only
- AM_RANGE(0x540572, 0x540573) AM_READNOP // ? galpani2 at F0A4
- AM_RANGE(0x54057a, 0x54057b) AM_READNOP // ? galpani2 at F148
- AM_RANGE(0x54059a, 0x54059b) AM_READNOP // ? galpani2 at F0A4
- AM_RANGE(0x5405a2, 0x5405a3) AM_READNOP // ? galpani2 at F0A4 and F148
- AM_RANGE(0x5405aa, 0x5405ab) AM_READNOP // ? galpani2 at F0A4 and F148
- AM_RANGE(0x5405b2, 0x5405b3) AM_READNOP // ? galpani2 at F0A4 and F148
- AM_RANGE(0x5405ba, 0x5405bb) AM_READNOP // ? galpani2 at F0A4 and F148
- AM_RANGE(0x5405c2, 0x5405c3) AM_READNOP // ? galpani2 at F0A4 and F148
- AM_RANGE(0x5405ca, 0x5405cb) AM_READNOP // ? galpani2 at F148
-
- AM_RANGE(0x600000, 0x600001) AM_NOP // Watchdog
- AM_RANGE(0x640000, 0x640001) AM_WRITE8(galpani2_mcu_init_w, 0x00ff ) // ? 0 before resetting and at startup, Reset mcu ?
- AM_RANGE(0x680000, 0x680001) AM_WRITE8(galpani2_mcu_nmi1_w, 0x00ff) // ? 0 -> 1 -> 0 (lev 5) / 0 -> $10 -> 0
- AM_RANGE(0x6c0000, 0x6c0001) AM_WRITE8(galpani2_coin_lockout_w, 0xff00 ) // Coin + Card Lockout
- AM_RANGE(0x780000, 0x780001) AM_READ_PORT("DSW1_P1")
- AM_RANGE(0x780002, 0x780003) AM_READ_PORT("DSW2_P2")
- AM_RANGE(0x780004, 0x780005) AM_READ_PORT("SPECIAL")
- AM_RANGE(0x780006, 0x780007) AM_READ_PORT("SERVICE")
- AM_RANGE(0xc00000, 0xc00001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff ) // 2 x OKIM6295
- AM_RANGE(0xc40000, 0xc40001) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff ) //
- AM_RANGE(0xc80000, 0xc80001) AM_WRITE8(galpani2_oki1_bank_w, 0x00ff ) //
- AM_RANGE(0xcc0000, 0xcc0001) AM_WRITE8(galpani2_oki2_bank_w, 0x00ff ) //
-ADDRESS_MAP_END
+ map(0x540572, 0x540573).nopr(); // ? galpani2 at F0A4
+ map(0x54057a, 0x54057b).nopr(); // ? galpani2 at F148
+ map(0x54059a, 0x54059b).nopr(); // ? galpani2 at F0A4
+ map(0x5405a2, 0x5405a3).nopr(); // ? galpani2 at F0A4 and F148
+ map(0x5405aa, 0x5405ab).nopr(); // ? galpani2 at F0A4 and F148
+ map(0x5405b2, 0x5405b3).nopr(); // ? galpani2 at F0A4 and F148
+ map(0x5405ba, 0x5405bb).nopr(); // ? galpani2 at F0A4 and F148
+ map(0x5405c2, 0x5405c3).nopr(); // ? galpani2 at F0A4 and F148
+ map(0x5405ca, 0x5405cb).nopr(); // ? galpani2 at F148
+
+ map(0x600000, 0x600001).noprw(); // Watchdog
+ map(0x640001, 0x640001).w(this, FUNC(galpani2_state::galpani2_mcu_init_w)); // ? 0 before resetting and at startup, Reset mcu ?
+ map(0x680001, 0x680001).w(this, FUNC(galpani2_state::galpani2_mcu_nmi1_w)); // ? 0 -> 1 -> 0 (lev 5) / 0 -> $10 -> 0
+ map(0x6c0000, 0x6c0000).w(this, FUNC(galpani2_state::galpani2_coin_lockout_w)); // Coin + Card Lockout
+ map(0x780000, 0x780001).portr("DSW1_P1");
+ map(0x780002, 0x780003).portr("DSW2_P2");
+ map(0x780004, 0x780005).portr("SPECIAL");
+ map(0x780006, 0x780007).portr("SERVICE");
+ map(0xc00001, 0xc00001).rw("oki1", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); // 2 x OKIM6295
+ map(0xc40001, 0xc40001).rw(m_oki2, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); //
+ map(0xc80001, 0xc80001).w(this, FUNC(galpani2_state::galpani2_oki1_bank_w)); //
+ map(0xcc0001, 0xcc0001).w(this, FUNC(galpani2_state::galpani2_oki2_bank_w)); //
+}
/***************************************************************************
@@ -415,20 +416,21 @@ WRITE16_MEMBER(galpani2_state::subdatabank_select_w)
}
-ADDRESS_MAP_START(galpani2_state::galpani2_mem2)
- AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
- AM_RANGE(0x100000, 0x13ffff) AM_RAM AM_SHARE("ram2") // Work RAM
- AM_RANGE(0x400000, 0x5fffff) AM_RAM AM_SHARE("bg15") // bg15
+void galpani2_state::galpani2_mem2(address_map &map)
+{
+ map(0x000000, 0x03ffff).rom(); // ROM
+ map(0x100000, 0x13ffff).ram().share("ram2"); // Work RAM
+ map(0x400000, 0x5fffff).ram().share("bg15"); // bg15
// AM_RANGE(0x600000, 0x600001) AM_NOP // ? 0 at startup only
// AM_RANGE(0x640000, 0x640001) AM_WRITENOP // ? 0 at startup only
// AM_RANGE(0x680000, 0x680001) AM_WRITENOP // ? 0 at startup only
// AM_RANGE(0x6c0000, 0x6c0001) AM_WRITENOP // ? 0 at startup only
- AM_RANGE(0x700000, 0x700001) AM_NOP // Watchdog
+ map(0x700000, 0x700001).noprw(); // Watchdog
// AM_RANGE(0x740000, 0x740001) AM_WRITENOP // ? Reset mcu
- AM_RANGE(0x780000, 0x780001) AM_WRITE8(galpani2_mcu_nmi2_w, 0x00ff) // ? 0 -> 1 -> 0 (lev 5)
- AM_RANGE(0x7c0000, 0x7c0001) AM_WRITE(subdatabank_select_w) // Rom Bank
- AM_RANGE(0x800000, 0xffffff) AM_ROMBANK("subdatabank")
-ADDRESS_MAP_END
+ map(0x780001, 0x780001).w(this, FUNC(galpani2_state::galpani2_mcu_nmi2_w)); // ? 0 -> 1 -> 0 (lev 5)
+ map(0x7c0000, 0x7c0001).w(this, FUNC(galpani2_state::subdatabank_select_w)); // Rom Bank
+ map(0x800000, 0xffffff).bankr("subdatabank");
+}
/***************************************************************************