diff options
Diffstat (limited to 'src/mame/drivers/gamecom.cpp')
-rw-r--r-- | src/mame/drivers/gamecom.cpp | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/mame/drivers/gamecom.cpp b/src/mame/drivers/gamecom.cpp index bfc336a3a64..df803979066 100644 --- a/src/mame/drivers/gamecom.cpp +++ b/src/mame/drivers/gamecom.cpp @@ -34,21 +34,22 @@ Game Status: #include "gamecom.lh" -ADDRESS_MAP_START(gamecom_state::gamecom_mem_map) - AM_RANGE( 0x0000, 0x0013 ) AM_RAM AM_REGION("maincpu", 0x00) - AM_RANGE( 0x0014, 0x0017 ) AM_READWRITE( gamecom_pio_r, gamecom_pio_w ) // buttons - AM_RANGE( 0x0018, 0x001F ) AM_RAM AM_REGION("maincpu", 0x18) - AM_RANGE( 0x0020, 0x007F ) AM_READWRITE( gamecom_internal_r, gamecom_internal_w )/* CPU internal register file */ - AM_RANGE( 0x0080, 0x03FF ) AM_RAM AM_REGION("maincpu", 0x80) /* RAM */ - AM_RANGE( 0x0400, 0x0FFF ) AM_NOP /* Nothing */ - AM_RANGE( 0x1000, 0x1FFF ) AM_ROM /* Internal ROM (initially), or External ROM/Flash. Controlled by MMU0 (never swapped out in game.com) */ - AM_RANGE( 0x2000, 0x3FFF ) AM_ROMBANK("bank1") /* External ROM/Flash. Controlled by MMU1 */ - AM_RANGE( 0x4000, 0x5FFF ) AM_ROMBANK("bank2") /* External ROM/Flash. Controlled by MMU2 */ - AM_RANGE( 0x6000, 0x7FFF ) AM_ROMBANK("bank3") /* External ROM/Flash. Controlled by MMU3 */ - AM_RANGE( 0x8000, 0x9FFF ) AM_ROMBANK("bank4") /* External ROM/Flash. Controlled by MMU4 */ - AM_RANGE( 0xA000, 0xDFFF ) AM_RAM AM_SHARE("videoram") /* VRAM */ - AM_RANGE( 0xE000, 0xFFFF ) AM_RAM AM_SHARE("nvram") /* Extended I/O, Extended RAM */ -ADDRESS_MAP_END +void gamecom_state::gamecom_mem_map(address_map &map) +{ + map(0x0000, 0x0013).ram().region("maincpu", 0x00); + map(0x0014, 0x0017).rw(this, FUNC(gamecom_state::gamecom_pio_r), FUNC(gamecom_state::gamecom_pio_w)); // buttons + map(0x0018, 0x001F).ram().region("maincpu", 0x18); + map(0x0020, 0x007F).rw(this, FUNC(gamecom_state::gamecom_internal_r), FUNC(gamecom_state::gamecom_internal_w));/* CPU internal register file */ + map(0x0080, 0x03FF).ram().region("maincpu", 0x80); /* RAM */ + map(0x0400, 0x0FFF).noprw(); /* Nothing */ + map(0x1000, 0x1FFF).rom(); /* Internal ROM (initially), or External ROM/Flash. Controlled by MMU0 (never swapped out in game.com) */ + map(0x2000, 0x3FFF).bankr("bank1"); /* External ROM/Flash. Controlled by MMU1 */ + map(0x4000, 0x5FFF).bankr("bank2"); /* External ROM/Flash. Controlled by MMU2 */ + map(0x6000, 0x7FFF).bankr("bank3"); /* External ROM/Flash. Controlled by MMU3 */ + map(0x8000, 0x9FFF).bankr("bank4"); /* External ROM/Flash. Controlled by MMU4 */ + map(0xA000, 0xDFFF).ram().share("videoram"); /* VRAM */ + map(0xE000, 0xFFFF).ram().share("nvram"); /* Extended I/O, Extended RAM */ +} static INPUT_PORTS_START( gamecom ) PORT_START("IN0") |