summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/cps3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/cps3.cpp')
-rw-r--r--src/mame/drivers/cps3.cpp88
1 files changed, 45 insertions, 43 deletions
diff --git a/src/mame/drivers/cps3.cpp b/src/mame/drivers/cps3.cpp
index aed09d9f26d..d2a468f2e2c 100644
--- a/src/mame/drivers/cps3.cpp
+++ b/src/mame/drivers/cps3.cpp
@@ -2147,77 +2147,79 @@ WRITE32_MEMBER(cps3_state::cps3_colourram_w)
/* there are more unknown writes, but you get the idea */
-ADDRESS_MAP_START(cps3_state::cps3_map)
- AM_RANGE(0x00000000, 0x0007ffff) AM_ROM AM_REGION("bios", 0) // Bios ROM
- AM_RANGE(0x02000000, 0x0207ffff) AM_RAM AM_SHARE("mainram") // Main RAM
+void cps3_state::cps3_map(address_map &map)
+{
+ map(0x00000000, 0x0007ffff).rom().region("bios", 0); // Bios ROM
+ map(0x02000000, 0x0207ffff).ram().share("mainram"); // Main RAM
- AM_RANGE(0x03000000, 0x030003ff) AM_RAM // 'FRAM' (SFIII memory test mode ONLY)
+ map(0x03000000, 0x030003ff).ram(); // 'FRAM' (SFIII memory test mode ONLY)
// AM_RANGE(0x04000000, 0x0407dfff) AM_RAM AM_SHARE("spriteram")//AM_WRITEONLY // Sprite RAM (jojoba tests this size)
- AM_RANGE(0x04000000, 0x0407ffff) AM_RAM AM_SHARE("spriteram")//AM_WRITEONLY // Sprite RAM
+ map(0x04000000, 0x0407ffff).ram().share("spriteram");//AM_WRITEONLY // Sprite RAM
- AM_RANGE(0x04080000, 0x040bffff) AM_READWRITE(cps3_colourram_r, cps3_colourram_w) AM_SHARE("colourram") // Colour RAM (jojoba tests this size) 0x20000 colours?!
+ map(0x04080000, 0x040bffff).rw(this, FUNC(cps3_state::cps3_colourram_r), FUNC(cps3_state::cps3_colourram_w)).share("colourram"); // Colour RAM (jojoba tests this size) 0x20000 colours?!
// video registers of some kind probably
- AM_RANGE(0x040C0000, 0x040C0003) AM_READ(cps3_40C0000_r)//?? every frame
- AM_RANGE(0x040C0004, 0x040C0007) AM_READ(cps3_40C0004_r)//AM_READ(cps3_40C0004_r) // warzard reads this!
+ map(0x040C0000, 0x040C0003).r(this, FUNC(cps3_state::cps3_40C0000_r));//?? every frame
+ map(0x040C0004, 0x040C0007).r(this, FUNC(cps3_state::cps3_40C0004_r));//AM_READ(cps3_40C0004_r) // warzard reads this!
// AM_RANGE(0x040C0008, 0x040C000b) AM_WRITENOP//??
- AM_RANGE(0x040C000c, 0x040C000f) AM_READ(cps3_vbl_r)// AM_WRITENOP/
+ map(0x040C000c, 0x040C000f).r(this, FUNC(cps3_state::cps3_vbl_r));// AM_WRITENOP/
- AM_RANGE(0x040C0000, 0x040C001f) AM_WRITE(cps3_unk_vidregs_w)
- AM_RANGE(0x040C0020, 0x040C002b) AM_WRITEONLY AM_SHARE("tmap20_regs")
- AM_RANGE(0x040C0030, 0x040C003b) AM_WRITEONLY AM_SHARE("tmap30_regs")
- AM_RANGE(0x040C0040, 0x040C004b) AM_WRITEONLY AM_SHARE("tmap40_regs")
- AM_RANGE(0x040C0050, 0x040C005b) AM_WRITEONLY AM_SHARE("tmap50_regs")
+ map(0x040C0000, 0x040C001f).w(this, FUNC(cps3_state::cps3_unk_vidregs_w));
+ map(0x040C0020, 0x040C002b).writeonly().share("tmap20_regs");
+ map(0x040C0030, 0x040C003b).writeonly().share("tmap30_regs");
+ map(0x040C0040, 0x040C004b).writeonly().share("tmap40_regs");
+ map(0x040C0050, 0x040C005b).writeonly().share("tmap50_regs");
- AM_RANGE(0x040C0060, 0x040C007f) AM_RAM AM_SHARE("fullscreenzoom")
+ map(0x040C0060, 0x040C007f).ram().share("fullscreenzoom");
- AM_RANGE(0x040C0094, 0x040C009b) AM_WRITE(cps3_characterdma_w)
+ map(0x040C0094, 0x040C009b).w(this, FUNC(cps3_state::cps3_characterdma_w));
- AM_RANGE(0x040C00a0, 0x040C00af) AM_WRITE(cps3_palettedma_w)
+ map(0x040C00a0, 0x040C00af).w(this, FUNC(cps3_state::cps3_palettedma_w));
- AM_RANGE(0x040C0084, 0x040C0087) AM_WRITE(cram_bank_w)
- AM_RANGE(0x040C0088, 0x040C008b) AM_WRITE(cram_gfxflash_bank_w)
+ map(0x040C0084, 0x040C0087).w(this, FUNC(cps3_state::cram_bank_w));
+ map(0x040C0088, 0x040C008b).w(this, FUNC(cps3_state::cram_gfxflash_bank_w));
- AM_RANGE(0x040e0000, 0x040e02ff) AM_DEVREADWRITE("cps3sound", cps3_sound_device, cps3_sound_r, cps3_sound_w)
+ map(0x040e0000, 0x040e02ff).rw(m_cps3sound, FUNC(cps3_sound_device::cps3_sound_r), FUNC(cps3_sound_device::cps3_sound_w));
- AM_RANGE(0x04100000, 0x041fffff) AM_READWRITE(cram_data_r, cram_data_w)
- AM_RANGE(0x04200000, 0x043fffff) AM_READWRITE(cps3_gfxflash_r, cps3_gfxflash_w) // GFX Flash ROMS
+ map(0x04100000, 0x041fffff).rw(this, FUNC(cps3_state::cram_data_r), FUNC(cps3_state::cram_data_w));
+ map(0x04200000, 0x043fffff).rw(this, FUNC(cps3_state::cps3_gfxflash_r), FUNC(cps3_state::cps3_gfxflash_w)); // GFX Flash ROMS
- AM_RANGE(0x05000000, 0x05000003) AM_READ_PORT("INPUTS")
- AM_RANGE(0x05000004, 0x05000007) AM_READ_PORT("EXTRA")
+ map(0x05000000, 0x05000003).portr("INPUTS");
+ map(0x05000004, 0x05000007).portr("EXTRA");
- AM_RANGE(0x05000008, 0x0500000b) AM_WRITENOP // ?? every frame
+ map(0x05000008, 0x0500000b).nopw(); // ?? every frame
- AM_RANGE(0x05000a00, 0x05000a1f) AM_READ(cps3_unk_io_r ) // ?? every frame
+ map(0x05000a00, 0x05000a1f).r(this, FUNC(cps3_state::cps3_unk_io_r)); // ?? every frame
- AM_RANGE(0x05001000, 0x05001203) AM_READWRITE(cps3_eeprom_r, cps3_eeprom_w )
+ map(0x05001000, 0x05001203).rw(this, FUNC(cps3_state::cps3_eeprom_r), FUNC(cps3_state::cps3_eeprom_w));
- AM_RANGE(0x05040000, 0x0504ffff) AM_READWRITE(cps3_ssram_r,cps3_ssram_w) // 'SS' RAM (Score Screen) (text tilemap + toles)
+ map(0x05040000, 0x0504ffff).rw(this, FUNC(cps3_state::cps3_ssram_r), FUNC(cps3_state::cps3_ssram_w)); // 'SS' RAM (Score Screen) (text tilemap + toles)
//0x25050020
- AM_RANGE(0x05050020, 0x05050023) AM_WRITE(cps3_ss_bank_base_w )
- AM_RANGE(0x05050024, 0x05050027) AM_WRITE(cps3_ss_pal_base_w )
+ map(0x05050020, 0x05050023).w(this, FUNC(cps3_state::cps3_ss_bank_base_w));
+ map(0x05050024, 0x05050027).w(this, FUNC(cps3_state::cps3_ss_pal_base_w));
- AM_RANGE(0x05100000, 0x05100003) AM_WRITE(cps3_irq12_ack_w )
- AM_RANGE(0x05110000, 0x05110003) AM_WRITE(cps3_irq10_ack_w )
+ map(0x05100000, 0x05100003).w(this, FUNC(cps3_state::cps3_irq12_ack_w));
+ map(0x05110000, 0x05110003).w(this, FUNC(cps3_state::cps3_irq10_ack_w));
- AM_RANGE(0x05140000, 0x05140003) AM_DEVREADWRITE8("wd33c93", wd33c93_device, read, write, 0x00ff00ff )
+ map(0x05140000, 0x05140003).rw("wd33c93", FUNC(wd33c93_device::read), FUNC(wd33c93_device::write)).umask32(0x00ff00ff);
- AM_RANGE(0x06000000, 0x067fffff) AM_READWRITE(cps3_flash1_r, cps3_flash1_w ) /* Flash ROMs simm 1 */
- AM_RANGE(0x06800000, 0x06ffffff) AM_READWRITE(cps3_flash2_r, cps3_flash2_w ) /* Flash ROMs simm 2 */
+ map(0x06000000, 0x067fffff).rw(this, FUNC(cps3_state::cps3_flash1_r), FUNC(cps3_state::cps3_flash1_w)); /* Flash ROMs simm 1 */
+ map(0x06800000, 0x06ffffff).rw(this, FUNC(cps3_state::cps3_flash2_r), FUNC(cps3_state::cps3_flash2_w)); /* Flash ROMs simm 2 */
- AM_RANGE(0x07ff0048, 0x07ff004b) AM_WRITENOP // bit 0 toggles during programming
- AM_RANGE(0xc0000000, 0xc00003ff) AM_RAM_WRITE(cps3_0xc0000000_ram_w ) AM_SHARE("0xc0000000_ram") /* Executes code from here */
-ADDRESS_MAP_END
+ map(0x07ff0048, 0x07ff004b).nopw(); // bit 0 toggles during programming
+ map(0xc0000000, 0xc00003ff).ram().w(this, FUNC(cps3_state::cps3_0xc0000000_ram_w)).share("0xc0000000_ram"); /* Executes code from here */
+}
-ADDRESS_MAP_START(cps3_state::decrypted_opcodes_map)
- AM_RANGE(0x00000000, 0x0007ffff) AM_ROM AM_REGION("bios", 0) // Bios ROM
- AM_RANGE(0x06000000, 0x06ffffff) AM_ROM AM_SHARE("decrypted_gamerom")
- AM_RANGE(0xc0000000, 0xc00003ff) AM_ROM AM_SHARE("0xc0000000_ram_decrypted")
-ADDRESS_MAP_END
+void cps3_state::decrypted_opcodes_map(address_map &map)
+{
+ map(0x00000000, 0x0007ffff).rom().region("bios", 0); // Bios ROM
+ map(0x06000000, 0x06ffffff).rom().share("decrypted_gamerom");
+ map(0xc0000000, 0xc00003ff).rom().share("0xc0000000_ram_decrypted");
+}
static INPUT_PORTS_START( cps3 )
PORT_START("INPUTS")