diff options
Diffstat (limited to 'src/mame/drivers/firetrap.cpp')
-rw-r--r-- | src/mame/drivers/firetrap.cpp | 50 |
1 files changed, 18 insertions, 32 deletions
diff --git a/src/mame/drivers/firetrap.cpp b/src/mame/drivers/firetrap.cpp index e4063e437cf..e06362f1495 100644 --- a/src/mame/drivers/firetrap.cpp +++ b/src/mame/drivers/firetrap.cpp @@ -347,8 +347,7 @@ WRITE8_MEMBER(firetrap_state::flip_screen_w) flip_screen_set(data); } - -static ADDRESS_MAP_START( firetrap_map, AS_PROGRAM, 8, firetrap_state ) +static ADDRESS_MAP_START( firetrap_base_map, AS_PROGRAM, 8, firetrap_state ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") AM_RANGE(0xc000, 0xcfff) AM_RAM @@ -371,32 +370,15 @@ static ADDRESS_MAP_START( firetrap_map, AS_PROGRAM, 8, firetrap_state ) AM_RANGE(0xf012, 0xf012) AM_READ_PORT("IN2") AM_RANGE(0xf013, 0xf013) AM_READ_PORT("DSW0") AM_RANGE(0xf014, 0xf014) AM_READ_PORT("DSW1") +ADDRESS_MAP_END + +static ADDRESS_MAP_START( firetrap_map, AS_PROGRAM, 8, firetrap_state ) + AM_IMPORT_FROM( firetrap_base_map ) AM_RANGE(0xf016, 0xf016) AM_READ(firetrap_8751_r) ADDRESS_MAP_END static ADDRESS_MAP_START( firetrap_bootleg_map, AS_PROGRAM, 8, firetrap_state ) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") - AM_RANGE(0xc000, 0xcfff) AM_RAM - AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(firetrap_bg1videoram_w) AM_SHARE("bg1videoram") - AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(firetrap_bg2videoram_w) AM_SHARE("bg2videoram") - AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(firetrap_fgvideoram_w) AM_SHARE("fgvideoram") - AM_RANGE(0xe800, 0xe97f) AM_RAM AM_SHARE("spriteram") - AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* IRQ acknowledge */ - AM_RANGE(0xf001, 0xf001) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) - AM_RANGE(0xf002, 0xf002) AM_WRITE(firetrap_bankselect_w) - AM_RANGE(0xf003, 0xf003) AM_WRITE(flip_screen_w) - AM_RANGE(0xf004, 0xf004) AM_WRITE(firetrap_nmi_disable_w) - AM_RANGE(0xf005, 0xf005) AM_WRITENOP - AM_RANGE(0xf008, 0xf009) AM_WRITE(firetrap_bg1_scrollx_w) - AM_RANGE(0xf00a, 0xf00b) AM_WRITE(firetrap_bg1_scrolly_w) - AM_RANGE(0xf00c, 0xf00d) AM_WRITE(firetrap_bg2_scrollx_w) - AM_RANGE(0xf00e, 0xf00f) AM_WRITE(firetrap_bg2_scrolly_w) - AM_RANGE(0xf010, 0xf010) AM_READ_PORT("IN0") - AM_RANGE(0xf011, 0xf011) AM_READ_PORT("IN1") - AM_RANGE(0xf012, 0xf012) AM_READ_PORT("IN2") - AM_RANGE(0xf013, 0xf013) AM_READ_PORT("DSW0") - AM_RANGE(0xf014, 0xf014) AM_READ_PORT("DSW1") + AM_IMPORT_FROM( firetrap_base_map ) AM_RANGE(0xf016, 0xf016) AM_READ(firetrap_8751_bootleg_r) AM_RANGE(0xf800, 0xf8ff) AM_ROM /* extra ROM in the bootleg with unprotection code */ ADDRESS_MAP_END @@ -646,10 +628,12 @@ static MACHINE_CONFIG_START( firetrap ) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(57.4034) // PCB measurement - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) +// MCFG_SCREEN_REFRESH_RATE(57.4034) // PCB measurement +// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) +// MCFG_SCREEN_SIZE(32*8, 32*8) +// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) + // HMC20 + MCFG_SCREEN_RAW_PARAMS(XTAL_11_9931MHz/2,384,0,256,272,8,248) MCFG_SCREEN_UPDATE_DRIVER(firetrap_state, screen_update_firetrap) MCFG_SCREEN_PALETTE("palette") @@ -689,10 +673,12 @@ static MACHINE_CONFIG_START( firetrapbl ) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(57.4034) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) +// MCFG_SCREEN_REFRESH_RATE(57.4034) +// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) +// MCFG_SCREEN_SIZE(32*8, 32*8) +// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) + // HMC20 + MCFG_SCREEN_RAW_PARAMS(XTAL_11_9931MHz/2,384,0,256,272,8,248) MCFG_SCREEN_UPDATE_DRIVER(firetrap_state, screen_update_firetrap) MCFG_SCREEN_PALETTE("palette") |