summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/gamecom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/gamecom.cpp')
-rw-r--r--src/mame/drivers/gamecom.cpp31
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")