From cb3ebf5bf8b6f2dcabe714d02004fd0e998e3ded Mon Sep 17 00:00:00 2001 From: Ryan Holtz Date: Fri, 8 May 2009 23:58:06 +0000 Subject: [PATCH] Merged memory maps in the follow remaining drivers and cleaned up some comments. The terms readmem and writemem no longer exist in src/mame/drivers. [MooglyGuy] - homedata.c, intrscti.c, inufuku.c, irobot.c, jack.c, kaneko16.c, naughtyb.c, scobra.c, scramble.c, slapfght.c, spaceg.c --- src/mame/drivers/homedata.c | 89 +++------ src/mame/drivers/intrscti.c | 19 +- src/mame/drivers/inufuku.c | 58 ++---- src/mame/drivers/irobot.c | 33 ++-- src/mame/drivers/jack.c | 42 ++--- src/mame/drivers/kaneko16.c | 156 ++++++++-------- src/mame/drivers/naughtyb.c | 2 +- src/mame/drivers/scobra.c | 299 +++++++++++------------------- src/mame/drivers/scramble.c | 354 ++++++++++++++---------------------- src/mame/drivers/slapfght.c | 2 +- src/mame/drivers/spaceg.c | 4 +- 11 files changed, 415 insertions(+), 643 deletions(-) diff --git a/src/mame/drivers/homedata.c b/src/mame/drivers/homedata.c index b5eee680db0..860d36fc490 100644 --- a/src/mame/drivers/homedata.c +++ b/src/mame/drivers/homedata.c @@ -586,15 +586,8 @@ static ADDRESS_MAP_START( mrokumei_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END -static ADDRESS_MAP_START( mrokumei_writemem, ADDRESS_SPACE_PROGRAM, 8 ) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( mrokumei_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( mrokumei_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) +static ADDRESS_MAP_START( mrokumei_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0xfffc, 0xfffd) AM_WRITENOP /* stack writes happen here, but there's no RAM */ AM_RANGE(0x8080, 0x8080) AM_WRITE(mrokumei_sound_bank_w) ADDRESS_MAP_END @@ -606,23 +599,14 @@ ADDRESS_MAP_END /********************************************************************************/ -static ADDRESS_MAP_START( reikaids_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_RAM) /* videoram */ - AM_RANGE(0x4000, 0x5fff) AM_READ(SMH_RAM) - AM_RANGE(0x6000, 0x6fff) AM_READ(SMH_RAM) /* work ram */ - AM_RANGE(0x7800, 0x7800) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( reikaids_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(reikaids_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x4000, 0x5fff) AM_RAM + AM_RANGE(0x6000, 0x6fff) AM_RAM /* work RAM */ + AM_RANGE(0x7800, 0x7800) AM_RAM /* behaves as normal RAM */ AM_RANGE(0x7801, 0x7801) AM_READ_PORT("IN0") AM_RANGE(0x7802, 0x7802) AM_READ_PORT("IN1") AM_RANGE(0x7803, 0x7803) AM_READ(reikaids_io_r) // coin, blitter, upd7807 - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(1)) - AM_RANGE(0xc000, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( reikaids_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(reikaids_videoram_w) AM_BASE(&videoram) - AM_RANGE(0x4000, 0x5fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x6000, 0x6fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x7800, 0x7800) AM_WRITE(SMH_RAM) /* behaves as normal RAM */ AM_RANGE(0x7ff0, 0x7ffd) AM_WRITE(SMH_RAM) AM_BASE(&homedata_vreg) AM_RANGE(0x7ffe, 0x7ffe) AM_WRITE(reikaids_blitter_bank_w) AM_RANGE(0x7fff, 0x7fff) AM_WRITE(reikaids_blitter_start_w) @@ -630,17 +614,13 @@ static ADDRESS_MAP_START( reikaids_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8002, 0x8002) AM_WRITE(reikaids_snd_command_w) AM_RANGE(0x8005, 0x8005) AM_WRITE(reikaids_gfx_bank_w) AM_RANGE(0x8006, 0x8006) AM_WRITE(homedata_blitter_param_w) - AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1) + AM_RANGE(0xc000, 0xffff) AM_ROM ADDRESS_MAP_END -static ADDRESS_MAP_START( reikaids_upd7807_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xfeff) AM_READ(SMH_BANK(2)) /* External ROM (Banked) */ - AM_RANGE(0xff00, 0xffff) AM_READ(SMH_RAM) /* Internal RAM */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( reikaids_upd7807_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xfeff) AM_WRITE(SMH_ROM) - AM_RANGE(0xff00, 0xffff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( reikaids_upd7807_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xfeff) AM_ROMBANK(2) /* External ROM (Banked) */ + AM_RANGE(0xff00, 0xffff) AM_RAM /* Internal RAM */ ADDRESS_MAP_END static ADDRESS_MAP_START( reikaids_upd7807_io_map, ADDRESS_SPACE_IO, 8 ) @@ -653,23 +633,14 @@ ADDRESS_MAP_END /**************************************************************************/ -static ADDRESS_MAP_START( pteacher_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_RAM) - AM_RANGE(0x4000, 0x5fff) AM_READ(SMH_RAM) - AM_RANGE(0x6000, 0x6fff) AM_READ(SMH_RAM) /* work ram */ - AM_RANGE(0x7800, 0x7800) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( pteacher_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(pteacher_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x4000, 0x5eff) AM_RAM + AM_RANGE(0x5f00, 0x5fff) AM_RAM + AM_RANGE(0x6000, 0x6fff) AM_RAM /* work ram */ + AM_RANGE(0x7800, 0x7800) AM_RAM /* behaves as normal RAM */ AM_RANGE(0x7801, 0x7801) AM_READ(pteacher_io_r) // vblank, visible page AM_RANGE(0x7ff2, 0x7ff2) AM_READ(pteacher_snd_r) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(1)) - AM_RANGE(0xc000, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( pteacher_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(pteacher_videoram_w) AM_BASE(&videoram) - AM_RANGE(0x4000, 0x5eff) AM_WRITE(SMH_RAM) - AM_RANGE(0x5f00, 0x5fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x6000, 0x6fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x7800, 0x7800) AM_WRITE(SMH_RAM) /* behaves as normal RAM */ AM_RANGE(0x7ff0, 0x7ffd) AM_WRITE(SMH_RAM) AM_BASE(&homedata_vreg) AM_RANGE(0x7fff, 0x7fff) AM_WRITE(pteacher_blitter_start_w) AM_RANGE(0x8000, 0x8000) AM_WRITE(bankswitch_w) @@ -677,18 +648,14 @@ static ADDRESS_MAP_START( pteacher_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x8005, 0x8005) AM_WRITE(pteacher_blitter_bank_w) AM_RANGE(0x8006, 0x8006) AM_WRITE(homedata_blitter_param_w) AM_RANGE(0x8007, 0x8007) AM_WRITE(pteacher_gfx_bank_w) - AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1) + AM_RANGE(0xc000, 0xffff) AM_ROM ADDRESS_MAP_END -static ADDRESS_MAP_START( pteacher_upd7807_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xfeff) AM_READ(SMH_BANK(2)) /* External ROM (Banked) */ - AM_RANGE(0xff00, 0xffff) AM_READ(SMH_RAM) /* Internal RAM */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( pteacher_upd7807_writemem, ADDRESS_SPACE_PROGRAM, 8 ) +static ADDRESS_MAP_START( pteacher_upd7807_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0000) AM_WRITE(pteacher_snd_answer_w) - AM_RANGE(0x0000, 0xfeff) AM_WRITE(SMH_ROM) - AM_RANGE(0xff00, 0xffff) AM_WRITE(SMH_RAM) + AM_RANGE(0x0000, 0xfeff) AM_ROMBANK(1) /* External ROM (Banked) */ + AM_RANGE(0xff00, 0xffff) AM_RAM /* Internal RAM */ ADDRESS_MAP_END static ADDRESS_MAP_START( pteacher_upd7807_io_map, ADDRESS_SPACE_IO, 8 ) @@ -1209,7 +1176,7 @@ static MACHINE_DRIVER_START( mrokumei ) MDRV_CPU_VBLANK_INT("screen", homedata_irq) /* also triggered by the blitter */ MDRV_CPU_ADD("audiocpu", Z80, 16000000/4) /* 4MHz ? */ - MDRV_CPU_PROGRAM_MAP(mrokumei_sound_readmem,mrokumei_sound_writemem) + MDRV_CPU_PROGRAM_MAP(mrokumei_sound_map,0) MDRV_CPU_IO_MAP(mrokumei_sound_io_map,0) /* video hardware */ @@ -1268,12 +1235,12 @@ static MACHINE_DRIVER_START( reikaids ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M6809, 16000000/4) /* 4MHz ? */ - MDRV_CPU_PROGRAM_MAP(reikaids_readmem,reikaids_writemem) + MDRV_CPU_PROGRAM_MAP(reikaids_map,0) MDRV_CPU_VBLANK_INT("screen", homedata_irq) /* also triggered by the blitter */ MDRV_CPU_ADD("audiocpu", UPD7807, 8000000) /* ??? MHz (max speed for the 7807 is 12MHz) */ MDRV_CPU_CONFIG(upd_config) - MDRV_CPU_PROGRAM_MAP(reikaids_upd7807_readmem,reikaids_upd7807_writemem) + MDRV_CPU_PROGRAM_MAP(reikaids_upd7807_map,0) MDRV_CPU_IO_MAP(reikaids_upd7807_io_map,0) MDRV_CPU_VBLANK_INT("screen", upd7807_irq) @@ -1318,12 +1285,12 @@ static MACHINE_DRIVER_START( pteacher ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M6809, 16000000/4) /* 4MHz ? */ - MDRV_CPU_PROGRAM_MAP(pteacher_readmem,pteacher_writemem) + MDRV_CPU_PROGRAM_MAP(pteacher_map,0) MDRV_CPU_VBLANK_INT("screen", homedata_irq) /* also triggered by the blitter */ MDRV_CPU_ADD("audiocpu", UPD7807, 9000000) /* 9MHz ? */ MDRV_CPU_CONFIG(upd_config) - MDRV_CPU_PROGRAM_MAP(pteacher_upd7807_readmem,pteacher_upd7807_writemem) + MDRV_CPU_PROGRAM_MAP(pteacher_upd7807_map,0) MDRV_CPU_IO_MAP(pteacher_upd7807_io_map,0) MDRV_CPU_VBLANK_INT("screen", upd7807_irq) diff --git a/src/mame/drivers/intrscti.c b/src/mame/drivers/intrscti.c index b4507648dff..f0754ec9848 100644 --- a/src/mame/drivers/intrscti.c +++ b/src/mame/drivers/intrscti.c @@ -21,18 +21,11 @@ static READ8_HANDLER( unk_r ) static UINT8 *intrscti_ram; -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) - AM_RANGE(0x6000, 0x67ff) AM_READ(SMH_RAM) - AM_RANGE(0x7000, 0x77ff) AM_READ(SMH_RAM) - AM_RANGE(0x8000, 0x8fff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x6000, 0x67ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x7000, 0x77ff) AM_WRITE(SMH_RAM) AM_BASE(&intrscti_ram) // video ram - AM_RANGE(0x8000, 0x8fff) AM_WRITE(SMH_ROM) +static ADDRESS_MAP_START( intrscti_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x1fff) AM_ROM + AM_RANGE(0x6000, 0x67ff) AM_RAM + AM_RANGE(0x7000, 0x77ff) AM_RAM AM_BASE(&intrscti_ram) // video ram + AM_RANGE(0x8000, 0x8fff) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 ) @@ -90,7 +83,7 @@ static VIDEO_UPDATE(intrscti) static MACHINE_DRIVER_START( intrscti ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(intrscti_map,0) MDRV_CPU_IO_MAP(readport,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) diff --git a/src/mame/drivers/inufuku.c b/src/mame/drivers/inufuku.c index 164bee6c508..e99cf71c6df 100644 --- a/src/mame/drivers/inufuku.c +++ b/src/mame/drivers/inufuku.c @@ -167,8 +167,10 @@ static WRITE16_HANDLER( inufuku_eeprom_w ) ******************************************************************************/ -static ADDRESS_MAP_START( inufuku_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) // main rom +static ADDRESS_MAP_START( inufuku_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x0fffff) AM_ROM // main rom + + AM_RANGE(0x100000, 0x100007) AM_WRITENOP // ? AM_RANGE(0x180000, 0x180001) AM_READ_PORT("P1") AM_RANGE(0x180002, 0x180003) AM_READ_PORT("P2") @@ -177,36 +179,22 @@ static ADDRESS_MAP_START( inufuku_readmem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x180008, 0x180009) AM_READ_PORT("EXTRA") AM_RANGE(0x18000a, 0x18000b) AM_READ_PORT("P3") - AM_RANGE(0x300000, 0x301fff) AM_READ(SMH_RAM) // palette ram - AM_RANGE(0x400000, 0x401fff) AM_READ(inufuku_bg_videoram_r) // bg ram - AM_RANGE(0x402000, 0x403fff) AM_READ(inufuku_text_videoram_r)// text ram - AM_RANGE(0x580000, 0x580fff) AM_READ(SMH_RAM) // sprite table + sprite attribute - AM_RANGE(0x600000, 0x61ffff) AM_READ(SMH_RAM) // cell table - - AM_RANGE(0x800000, 0xbfffff) AM_READ(SMH_ROM) // data rom - AM_RANGE(0xfd0000, 0xfdffff) AM_READ(SMH_RAM) // work ram -ADDRESS_MAP_END - -static ADDRESS_MAP_START( inufuku_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM) // main rom - - AM_RANGE(0x100000, 0x100007) AM_WRITENOP // ? - AM_RANGE(0x200000, 0x200001) AM_WRITE(inufuku_eeprom_w) // eeprom + AM_RANGE(0x200000, 0x200001) AM_WRITE(inufuku_eeprom_w) // eeprom AM_RANGE(0x280000, 0x280001) AM_WRITE(inufuku_soundcommand_w) // sound command - AM_RANGE(0x300000, 0x301fff) AM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE(&paletteram16) // palette ram - AM_RANGE(0x380000, 0x3801ff) AM_WRITE(SMH_RAM) AM_BASE(&inufuku_bg_rasterram) // bg raster ram - AM_RANGE(0x400000, 0x401fff) AM_WRITE(inufuku_bg_videoram_w) AM_BASE(&inufuku_bg_videoram) // bg ram - AM_RANGE(0x402000, 0x403fff) AM_WRITE(inufuku_text_videoram_w) AM_BASE(&inufuku_text_videoram) // text ram - AM_RANGE(0x580000, 0x580fff) AM_WRITE(SMH_RAM) AM_BASE(&inufuku_spriteram1) AM_SIZE(&inufuku_spriteram1_size) // sprite table + sprite attribute - AM_RANGE(0x600000, 0x61ffff) AM_WRITE(SMH_RAM) AM_BASE(&inufuku_spriteram2) // cell table + AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE(&paletteram16) // palette ram + AM_RANGE(0x380000, 0x3801ff) AM_WRITE(SMH_RAM) AM_BASE(&inufuku_bg_rasterram) // bg raster ram + AM_RANGE(0x400000, 0x401fff) AM_READWRITE(inufuku_bg_videoram_r, inufuku_bg_videoram_w) AM_BASE(&inufuku_bg_videoram) // bg ram + AM_RANGE(0x402000, 0x403fff) AM_READWRITE(inufuku_text_videoram_r, inufuku_text_videoram_w) AM_BASE(&inufuku_text_videoram) // text ram + AM_RANGE(0x580000, 0x580fff) AM_RAM AM_BASE(&inufuku_spriteram1) AM_SIZE(&inufuku_spriteram1_size) // sprite table + sprite attribute + AM_RANGE(0x600000, 0x61ffff) AM_RAM AM_BASE(&inufuku_spriteram2) // cell table AM_RANGE(0x780000, 0x780013) AM_WRITE(inufuku_palettereg_w) // bg & text palettebank register AM_RANGE(0x7a0000, 0x7a0023) AM_WRITE(inufuku_scrollreg_w) // bg & text scroll register - AM_RANGE(0x7e0000, 0x7e0001) AM_WRITENOP // ? + AM_RANGE(0x7e0000, 0x7e0001) AM_WRITENOP // ? - AM_RANGE(0x800000, 0xbfffff) AM_WRITE(SMH_ROM) // data rom - AM_RANGE(0xfd0000, 0xfdffff) AM_WRITE(SMH_RAM) // work ram + AM_RANGE(0x800000, 0xbfffff) AM_ROM // data rom + AM_RANGE(0xfd0000, 0xfdffff) AM_RAM // work ram ADDRESS_MAP_END @@ -216,16 +204,10 @@ ADDRESS_MAP_END ******************************************************************************/ -static ADDRESS_MAP_START( inufuku_readmem_sound, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x77ff) AM_READ(SMH_ROM) - AM_RANGE(0x7800, 0x7fff) AM_READ(SMH_RAM) - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_BANK(1)) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( inufuku_writemem_sound, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x77ff) AM_WRITE(SMH_ROM) - AM_RANGE(0x7800, 0x7fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) +static ADDRESS_MAP_START( inufuku_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x77ff) AM_ROM + AM_RANGE(0x7800, 0x7fff) AM_RAM + AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1) ADDRESS_MAP_END static ADDRESS_MAP_START( inufuku_sound_io_map, ADDRESS_SPACE_IO, 8 ) @@ -370,11 +352,11 @@ static MACHINE_DRIVER_START( inufuku ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000, 32000000/2) /* 16.00 MHz */ - MDRV_CPU_PROGRAM_MAP(inufuku_readmem, inufuku_writemem) + MDRV_CPU_PROGRAM_MAP(inufuku_map, 0) MDRV_CPU_VBLANK_INT("screen", irq1_line_hold) MDRV_CPU_ADD("audiocpu", Z80, 32000000/4) /* 8.00 MHz */ - MDRV_CPU_PROGRAM_MAP(inufuku_readmem_sound, inufuku_writemem_sound) + MDRV_CPU_PROGRAM_MAP(inufuku_sound_map, 0) MDRV_CPU_IO_MAP(inufuku_sound_io_map,0) /* IRQs are triggered by the YM2610 */ diff --git a/src/mame/drivers/irobot.c b/src/mame/drivers/irobot.c index 091c7b17a64..a0c45b1dccb 100644 --- a/src/mame/drivers/irobot.c +++ b/src/mame/drivers/irobot.c @@ -119,39 +119,28 @@ static WRITE8_HANDLER( irobot_clearfirq_w ) * *************************************/ -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x07ff) AM_READ(SMH_RAM) - AM_RANGE(0x0800, 0x0fff) AM_READ(SMH_BANK(2)) +static ADDRESS_MAP_START( irobot_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x07ff) AM_RAM + AM_RANGE(0x0800, 0x0fff) AM_RAMBANK(2) AM_RANGE(0x1000, 0x103f) AM_READ_PORT("IN0") AM_RANGE(0x1040, 0x1040) AM_READ_PORT("IN1") AM_RANGE(0x1080, 0x1080) AM_READ(irobot_status_r) AM_RANGE(0x10c0, 0x10c0) AM_READ_PORT("DSW1") - AM_RANGE(0x1200, 0x12ff) AM_READ(SMH_RAM) - AM_RANGE(0x1300, 0x13ff) AM_READ(irobot_control_r) - AM_RANGE(0x1400, 0x143f) AM_READ(quad_pokey_r) - AM_RANGE(0x1c00, 0x1fff) AM_READ(SMH_RAM) - AM_RANGE(0x2000, 0x3fff) AM_READ(irobot_sharedmem_r) - AM_RANGE(0x4000, 0x5fff) AM_READ(SMH_BANK(1)) - AM_RANGE(0x6000, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x07ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x0800, 0x0fff) AM_WRITE(SMH_BANK(2)) AM_RANGE(0x1100, 0x1100) AM_WRITE(irobot_clearirq_w) AM_RANGE(0x1140, 0x1140) AM_WRITE(irobot_statwr_w) AM_RANGE(0x1180, 0x1180) AM_WRITE(irobot_out0_w) AM_RANGE(0x11c0, 0x11c0) AM_WRITE(irobot_rom_banksel_w) - AM_RANGE(0x1200, 0x12ff) AM_WRITE(irobot_nvram_w) AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) - AM_RANGE(0x1400, 0x143f) AM_WRITE(quad_pokey_w) + AM_RANGE(0x1200, 0x12ff) AM_RAM_WRITE(irobot_nvram_w) AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) + AM_RANGE(0x1300, 0x13ff) AM_READ(irobot_control_r) + AM_RANGE(0x1400, 0x143f) AM_READWRITE(quad_pokey_r, quad_pokey_w) AM_RANGE(0x1800, 0x18ff) AM_WRITE(irobot_paletteram_w) AM_RANGE(0x1900, 0x19ff) AM_WRITE(SMH_RAM) /* Watchdog reset */ AM_RANGE(0x1a00, 0x1a00) AM_WRITE(irobot_clearfirq_w) AM_RANGE(0x1b00, 0x1bff) AM_WRITE(irobot_control_w) - AM_RANGE(0x1c00, 0x1fff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size) - AM_RANGE(0x2000, 0x3fff) AM_WRITE(irobot_sharedmem_w) - AM_RANGE(0x4000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size) + AM_RANGE(0x2000, 0x3fff) AM_READWRITE(irobot_sharedmem_r, irobot_sharedmem_w) + AM_RANGE(0x4000, 0x5fff) AM_ROMBANK(1) + AM_RANGE(0x6000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -297,7 +286,7 @@ static MACHINE_DRIVER_START( irobot ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M6809,1500000) - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(irobot_map,0) MDRV_MACHINE_RESET(irobot) MDRV_NVRAM_HANDLER(generic_0fill) diff --git a/src/mame/drivers/jack.c b/src/mame/drivers/jack.c index 0a9ba52b188..3cf73f9fddd 100644 --- a/src/mame/drivers/jack.c +++ b/src/mame/drivers/jack.c @@ -138,31 +138,22 @@ static READ8_HANDLER( striv_question_r ) return 0; // the value read from the configuration reads is discarded } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x5fff) AM_READ(SMH_RAM) - AM_RANGE(0xb000, 0xb07f) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( jack_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x5fff) AM_RAM + AM_RANGE(0xb000, 0xb07f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) + AM_RANGE(0xb400, 0xb400) AM_WRITE(jack_sh_command_w) AM_RANGE(0xb500, 0xb500) AM_READ_PORT("DSW1") AM_RANGE(0xb501, 0xb501) AM_READ_PORT("DSW2") AM_RANGE(0xb502, 0xb502) AM_READ_PORT("IN0") AM_RANGE(0xb503, 0xb503) AM_READ_PORT("IN1") AM_RANGE(0xb504, 0xb504) AM_READ_PORT("IN2") AM_RANGE(0xb505, 0xb505) AM_READ_PORT("IN3") - AM_RANGE(0xb506, 0xb507) AM_READ(jack_flipscreen_r) - AM_RANGE(0xb800, 0xbfff) AM_READ(SMH_RAM) - AM_RANGE(0xc000, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x5fff) AM_WRITE(SMH_RAM) - AM_RANGE(0xb000, 0xb07f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0xb400, 0xb400) AM_WRITE(jack_sh_command_w) - AM_RANGE(0xb506, 0xb507) AM_WRITE(jack_flipscreen_w) + AM_RANGE(0xb506, 0xb507) AM_READWRITE(jack_flipscreen_r, jack_flipscreen_w) AM_RANGE(0xb600, 0xb61f) AM_WRITE(jack_paletteram_w) AM_BASE(&paletteram) - AM_RANGE(0xb800, 0xbbff) AM_WRITE(jack_videoram_w) AM_BASE(&videoram) - AM_RANGE(0xbc00, 0xbfff) AM_WRITE(jack_colorram_w) AM_BASE(&colorram) - AM_RANGE(0xc000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0xb800, 0xbbff) AM_RAM_WRITE(jack_videoram_w) AM_BASE(&videoram) + AM_RANGE(0xbc00, 0xbfff) AM_RAM_WRITE(jack_colorram_w) AM_BASE(&colorram) + AM_RANGE(0xc000, 0xffff) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START( joinem_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -182,14 +173,9 @@ static ADDRESS_MAP_START( joinem_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x1fff) AM_ROM + AM_RANGE(0x4000, 0x43ff) AM_RAM AM_RANGE(0x6000, 0x6fff) AM_WRITENOP /* R/C filter ??? */ ADDRESS_MAP_END @@ -855,11 +841,11 @@ static MACHINE_DRIVER_START( jack ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80, 18000000/6) /* 3 MHz */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(jack_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) /* jack needs 1 or its too fast */ MDRV_CPU_ADD("audiocpu", Z80,18000000/12) /* 1.5 MHz */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) MDRV_CPU_IO_MAP(sound_io_map,0) /* video hardware */ diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c index c5085b57fb3..2e8fabb8db0 100644 --- a/src/mame/drivers/kaneko16.c +++ b/src/mame/drivers/kaneko16.c @@ -616,61 +616,52 @@ static WRITE16_DEVICE_HANDLER( gtmr_oki_1_bank_w ) } } -static ADDRESS_MAP_START( gtmr_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0ffffd) AM_READ(SMH_ROM ) // ROM - AM_RANGE(0x0ffffe, 0x0fffff) AM_READ(gtmr_wheel_r ) // Wheel Value - AM_RANGE(0x100000, 0x10ffff) AM_READ(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x20ffff) AM_READ(SMH_RAM ) // Shared With MCU - AM_RANGE(0x300000, 0x30ffff) AM_READ(SMH_RAM ) // Palette - AM_RANGE(0x310000, 0x327fff) AM_READ(SMH_RAM ) // - AM_RANGE(0x400000, 0x401fff) AM_READ(SMH_RAM ) // Sprites - AM_RANGE(0x500000, 0x503fff) AM_READ(SMH_RAM ) // Layers 0 - AM_RANGE(0x580000, 0x583fff) AM_READ(SMH_RAM ) // Layers 1 - AM_RANGE(0x600000, 0x60000f) AM_READ(SMH_RAM ) // Layers 0 Regs - AM_RANGE(0x680000, 0x68000f) AM_READ(SMH_RAM ) // Layers 1 Regs - AM_RANGE(0x700000, 0x70001f) AM_READ(kaneko16_sprites_regs_r ) // Sprites Regs - AM_RANGE(0x800000, 0x800001) AM_DEVREAD8("oki1", okim6295_r, 0x00ff ) // Samples - AM_RANGE(0x880000, 0x880001) AM_DEVREAD8("oki2", okim6295_r, 0x00ff ) - AM_RANGE(0x900014, 0x900015) AM_READ(kaneko16_rnd_r ) // Random Number ? - AM_RANGE(0xa00000, 0xa00001) AM_READ(watchdog_reset16_r ) // Watchdog +static ADDRESS_MAP_START( gtmr_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x0ffffd) AM_ROM // ROM + AM_RANGE(0x0ffffe, 0x0fffff) AM_READ(gtmr_wheel_r) // Wheel Value + + AM_RANGE(0x100000, 0x10ffff) AM_RAM // Work RAM + AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE(&kaneko16_mcu_ram) // Shared With MCU + + AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(toybox_mcu_com0_w) // To MCU ? + AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(toybox_mcu_com1_w) + AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w) + AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w) + + AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette + AM_RANGE(0x310000, 0x327fff) AM_RAM // + AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites + + AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0 + AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) // + AM_RANGE(0x502000, 0x502fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) // + AM_RANGE(0x503000, 0x503fff) AM_RAM AM_BASE(&kaneko16_vscroll_0) // + + AM_RANGE(0x580000, 0x580fff) AM_RAM_WRITE(kaneko16_vram_3_w) AM_BASE(&kaneko16_vram_3) // Layers 1 + AM_RANGE(0x581000, 0x581fff) AM_RAM_WRITE(kaneko16_vram_2_w) AM_BASE(&kaneko16_vram_2) // + AM_RANGE(0x582000, 0x582fff) AM_RAM AM_BASE(&kaneko16_vscroll_3) // + AM_RANGE(0x583000, 0x583fff) AM_RAM AM_BASE(&kaneko16_vscroll_2) // + + AM_RANGE(0x600000, 0x60000f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs + AM_RANGE(0x680000, 0x68000f) AM_RAM_WRITE(kaneko16_layers_1_regs_w) AM_BASE(&kaneko16_layers_1_regs) // Layers 1 Regs + AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff) // Samples + AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff) + + AM_RANGE(0x900014, 0x900015) AM_READ(kaneko16_rnd_r) // Random Number ? + AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // Watchdog + AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1") AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2") AM_RANGE(0xb00004, 0xb00005) AM_READ_PORT("SYSTEM") AM_RANGE(0xb00006, 0xb00007) AM_READ_PORT("UNK") - AM_RANGE(0xd00000, 0xd00001) AM_READ(toybox_mcu_status_r ) -ADDRESS_MAP_END + AM_RANGE(0xb80000, 0xb80001) AM_WRITE(kaneko16_coin_lockout_w) // Coin Lockout + AM_RANGE(0xc00000, 0xc00001) AM_WRITE(kaneko16_display_enable) // might do more than that -static ADDRESS_MAP_START( gtmr_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x10ffff) AM_WRITE(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x20ffff) AM_WRITE(SMH_RAM) AM_BASE(&kaneko16_mcu_ram ) // Shared With MCU - AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(toybox_mcu_com0_w ) // To MCU ? - AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(toybox_mcu_com1_w ) - AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w ) - AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w ) - AM_RANGE(0x300000, 0x30ffff) AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16 ) // Palette - AM_RANGE(0x310000, 0x327fff) AM_WRITE(SMH_RAM ) // - AM_RANGE(0x400000, 0x401fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites - AM_RANGE(0x500000, 0x500fff) AM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1 ) // Layers 0 - AM_RANGE(0x501000, 0x501fff) AM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0 ) // - AM_RANGE(0x502000, 0x502fff) AM_WRITE(SMH_RAM) AM_BASE(&kaneko16_vscroll_1 ) // - AM_RANGE(0x503000, 0x503fff) AM_WRITE(SMH_RAM) AM_BASE(&kaneko16_vscroll_0 ) // - AM_RANGE(0x580000, 0x580fff) AM_WRITE(kaneko16_vram_3_w) AM_BASE(&kaneko16_vram_3 ) // Layers 1 - AM_RANGE(0x581000, 0x581fff) AM_WRITE(kaneko16_vram_2_w) AM_BASE(&kaneko16_vram_2 ) // - AM_RANGE(0x582000, 0x582fff) AM_WRITE(SMH_RAM) AM_BASE(&kaneko16_vscroll_3 ) // - AM_RANGE(0x583000, 0x583fff) AM_WRITE(SMH_RAM) AM_BASE(&kaneko16_vscroll_2 ) // - AM_RANGE(0x600000, 0x60000f) AM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs ) // Layers 0 Regs - AM_RANGE(0x680000, 0x68000f) AM_WRITE(kaneko16_layers_1_regs_w) AM_BASE(&kaneko16_layers_1_regs ) // Layers 1 Regs - AM_RANGE(0x700000, 0x70001f) AM_WRITE(kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs ) // Sprites Regs - AM_RANGE(0x800000, 0x800001) AM_DEVWRITE8("oki1", okim6295_w, 0x00ff ) // Samples - AM_RANGE(0x880000, 0x880001) AM_DEVWRITE8("oki2", okim6295_w, 0x00ff ) - AM_RANGE(0xa00000, 0xa00001) AM_WRITE(watchdog_reset16_w ) // Watchdog - AM_RANGE(0xb80000, 0xb80001) AM_WRITE(kaneko16_coin_lockout_w ) // Coin Lockout - AM_RANGE(0xc00000, 0xc00001) AM_WRITE(kaneko16_display_enable ) // might do more than that - AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE("oki1", gtmr_oki_0_bank_w ) // Samples Bankswitching - AM_RANGE(0xe80000, 0xe80001) AM_DEVWRITE("oki2", gtmr_oki_1_bank_w ) -ADDRESS_MAP_END + AM_RANGE(0xd00000, 0xd00001) AM_READ(toybox_mcu_status_r) + AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE("oki1", gtmr_oki_0_bank_w) // Samples Bankswitching + AM_RANGE(0xe80000, 0xe80001) AM_DEVWRITE("oki2", gtmr_oki_1_bank_w) +ADDRESS_MAP_END /*************************************************************************** Great 1000 Miles Rally 2 @@ -698,31 +689,54 @@ static READ16_HANDLER( gtmr2_IN1_r ) return (input_port_read(space->machine, "P2") & (input_port_read(space->machine, "FAKE") | ~0x7100)); } -static ADDRESS_MAP_START( gtmr2_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0ffffd) AM_READ(SMH_ROM ) // ROM - AM_RANGE(0x0ffffe, 0x0fffff) AM_READ(gtmr2_wheel_r ) // Wheel Value - AM_RANGE(0x100000, 0x10ffff) AM_READ(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x20ffff) AM_READ(SMH_RAM ) // Shared With MCU - AM_RANGE(0x300000, 0x30ffff) AM_READ(SMH_RAM ) // Palette - AM_RANGE(0x310000, 0x327fff) AM_READ(SMH_RAM ) // - AM_RANGE(0x400000, 0x401fff) AM_READ(SMH_RAM ) // Sprites - AM_RANGE(0x500000, 0x503fff) AM_READ(SMH_RAM ) // Layers 0 - AM_RANGE(0x580000, 0x583fff) AM_READ(SMH_RAM ) // Layers 1 - AM_RANGE(0x600000, 0x60000f) AM_READ(SMH_RAM ) // Layers 0 Regs - AM_RANGE(0x680000, 0x68000f) AM_READ(SMH_RAM ) // Layers 1 Regs - AM_RANGE(0x700000, 0x70001f) AM_READ(kaneko16_sprites_regs_r ) // Sprites Regs - AM_RANGE(0x800000, 0x800001) AM_DEVREAD8("oki1", okim6295_r, 0x00ff ) // Samples - AM_RANGE(0x880000, 0x880001) AM_DEVREAD8("oki2", okim6295_r, 0x00ff ) - AM_RANGE(0x900014, 0x900015) AM_READ(kaneko16_rnd_r ) // Random Number ? - AM_RANGE(0xa00000, 0xa00001) AM_READ(watchdog_reset16_r ) // Watchdog +static ADDRESS_MAP_START( gtmr2_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x0ffffd) AM_ROM // ROM + AM_RANGE(0x0ffffe, 0x0fffff) AM_READ(gtmr2_wheel_r) // Wheel Value + + AM_RANGE(0x100000, 0x10ffff) AM_RAM // Work RAM + AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE(&kaneko16_mcu_ram) // Shared With MCU + + AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(toybox_mcu_com0_w) // To MCU ? + AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(toybox_mcu_com1_w) + AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w) + AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w) + + AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette + AM_RANGE(0x310000, 0x327fff) AM_RAM // + AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites + + AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0 + AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) // + AM_RANGE(0x502000, 0x502fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) // + AM_RANGE(0x503000, 0x503fff) AM_RAM AM_BASE(&kaneko16_vscroll_0) // + + AM_RANGE(0x580000, 0x580fff) AM_RAM_WRITE(kaneko16_vram_3_w) AM_BASE(&kaneko16_vram_3) // Layers 1 + AM_RANGE(0x581000, 0x581fff) AM_RAM_WRITE(kaneko16_vram_2_w) AM_BASE(&kaneko16_vram_2) // + AM_RANGE(0x582000, 0x582fff) AM_RAM AM_BASE(&kaneko16_vscroll_3) // + AM_RANGE(0x583000, 0x583fff) AM_RAM AM_BASE(&kaneko16_vscroll_2) // + AM_RANGE(0x600000, 0x60000f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs + + AM_RANGE(0x680000, 0x68000f) AM_RAM_WRITE(kaneko16_layers_1_regs_w) AM_BASE(&kaneko16_layers_1_regs) // Layers 1 Regs + AM_RANGE(0x700000, 0x70001f) AM_READWRITE(kaneko16_sprites_regs_r, kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs) // Sprites Regs + AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff) // Samples + AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff) + + AM_RANGE(0x900014, 0x900015) AM_READ(kaneko16_rnd_r) // Random Number ? + AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // Watchdog + AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1") // AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2") - AM_RANGE(0xb00002, 0xb00003) AM_READ(gtmr2_IN1_r ) + AM_RANGE(0xb00002, 0xb00003) AM_READ(gtmr2_IN1_r) AM_RANGE(0xb00004, 0xb00005) AM_READ_PORT("SYSTEM") AM_RANGE(0xb00006, 0xb00007) AM_READ_PORT("EXTRA") - AM_RANGE(0xd00000, 0xd00001) AM_READ(toybox_mcu_status_r ) -ADDRESS_MAP_END + AM_RANGE(0xb80000, 0xb80001) AM_WRITE(kaneko16_coin_lockout_w) // Coin Lockout + AM_RANGE(0xc00000, 0xc00001) AM_WRITE(kaneko16_display_enable) // might do more than that + AM_RANGE(0xd00000, 0xd00001) AM_READ(toybox_mcu_status_r) + + AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE("oki1", gtmr_oki_0_bank_w) // Samples Bankswitching + AM_RANGE(0xe80000, 0xe80001) AM_DEVWRITE("oki2", gtmr_oki_1_bank_w) +ADDRESS_MAP_END /*************************************************************************** Magical Crystal @@ -1803,7 +1817,7 @@ static MACHINE_DRIVER_START( gtmr ) /* basic machine hardware */ MDRV_CPU_ADD("gtmr", M68000, XTAL_16MHz) /* verified on pcb */ - MDRV_CPU_PROGRAM_MAP(gtmr_readmem,gtmr_writemem) + MDRV_CPU_PROGRAM_MAP(gtmr_map,0) MDRV_CPU_VBLANK_INT_HACK(kaneko16_interrupt,KANEKO16_INTERRUPTS_NUM) MDRV_MACHINE_RESET(gtmr) @@ -1859,7 +1873,7 @@ static MACHINE_DRIVER_START( gtmr2 ) /* basic machine hardware */ MDRV_IMPORT_FROM(gtmr) MDRV_CPU_MODIFY("gtmr") - MDRV_CPU_PROGRAM_MAP(gtmr2_readmem,gtmr_writemem) + MDRV_CPU_PROGRAM_MAP(gtmr2_map,0) MACHINE_DRIVER_END /*************************************************************************** diff --git a/src/mame/drivers/naughtyb.c b/src/mame/drivers/naughtyb.c index 5d5c0cd8c6e..8214cde78cc 100644 --- a/src/mame/drivers/naughtyb.c +++ b/src/mame/drivers/naughtyb.c @@ -398,7 +398,7 @@ static MACHINE_DRIVER_START( naughtyb ) MACHINE_DRIVER_END -/* Exactly the same but for the writemem handler */ +/* Exactly the same but for certain address writes */ static MACHINE_DRIVER_START( popflame ) /* basic machine hardware */ diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c index f46cb8b4e47..d01994389e1 100644 --- a/src/mame/drivers/scobra.c +++ b/src/mame/drivers/scobra.c @@ -100,55 +100,38 @@ static WRITE8_DEVICE_HANDLER(hustler_ppi8255_w) ppi8255_w(device, offset >> 3, data); } -static ADDRESS_MAP_START( type1_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x8bff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( type1_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x8c00, 0x8fff) AM_RAM_WRITE(galaxold_videoram_w) /* mirror */ AM_RANGE(0x8c00, 0x8fff) AM_READ(galaxold_videoram_r) /* mirror */ - AM_RANGE(0x9000, 0x90ff) AM_READ(SMH_RAM) - AM_RANGE(0x9800, 0x9803) AM_DEVREAD("ppi8255_0", ppi8255_r) - AM_RANGE(0xa000, 0xa003) AM_DEVREAD("ppi8255_1", ppi8255_r) - AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( type1_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x8800, 0x8bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x8c00, 0x8fff) AM_WRITE(galaxold_videoram_w) /* mirror */ - AM_RANGE(0x9000, 0x903f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9040, 0x905f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9060, 0x907f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9080, 0x90ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9800, 0x9803) AM_DEVWRITE("ppi8255_0", ppi8255_w) - AM_RANGE(0xa000, 0xa003) AM_DEVWRITE("ppi8255_1", ppi8255_w) + AM_RANGE(0x9000, 0x903f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x9040, 0x905f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x9060, 0x907f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x9080, 0x90ff) AM_RAM + AM_RANGE(0x9800, 0x9803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) + AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) AM_RANGE(0xa801, 0xa801) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0xa802, 0xa802) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0xa804, 0xa804) AM_WRITE(galaxold_stars_enable_w) AM_RANGE(0xa806, 0xa806) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0xa807, 0xa807) AM_WRITE(galaxold_flip_screen_y_w) + AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r) ADDRESS_MAP_END -static ADDRESS_MAP_START( type2_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x88ff) AM_READ(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_READ(SMH_RAM) - AM_RANGE(0x9400, 0x97ff) AM_READ(galaxold_videoram_r) /* mirror */ +static ADDRESS_MAP_START( type2_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x8800, 0x883f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x8840, 0x885f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x8860, 0x887f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x8880, 0x88ff) AM_RAM + AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x9400, 0x97ff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) /* mirror */ AM_RANGE(0x9800, 0x9800) AM_READ(watchdog_reset_r) - AM_RANGE(0xa000, 0xa00f) AM_DEVREAD("ppi8255_0", scobra_type2_ppi8255_r) - AM_RANGE(0xa800, 0xa80f) AM_DEVREAD("ppi8255_1", scobra_type2_ppi8255_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( type2_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x8800, 0x883f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x8840, 0x885f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x8860, 0x887f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x8880, 0x88ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9400, 0x97ff) AM_WRITE(galaxold_videoram_w) /* mirror */ - AM_RANGE(0xa000, 0xa00f) AM_DEVWRITE("ppi8255_0", scobra_type2_ppi8255_w) - AM_RANGE(0xa800, 0xa80f) AM_DEVWRITE("ppi8255_1", scobra_type2_ppi8255_w) + AM_RANGE(0xa000, 0xa00f) AM_DEVREADWRITE("ppi8255_0", scobra_type2_ppi8255_r, scobra_type2_ppi8255_w) + AM_RANGE(0xa800, 0xa80f) AM_DEVREADWRITE("ppi8255_1", scobra_type2_ppi8255_r, scobra_type2_ppi8255_w) AM_RANGE(0xb000, 0xb000) AM_WRITE(galaxold_stars_enable_w) AM_RANGE(0xb004, 0xb004) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_coin_counter_0_w) @@ -157,83 +140,57 @@ static ADDRESS_MAP_START( type2_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xb00e, 0xb00e) AM_WRITE(galaxold_flip_screen_x_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hustler_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x8bff) AM_READ(SMH_RAM) - AM_RANGE(0x9000, 0x90ff) AM_READ(SMH_RAM) - AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) - AM_RANGE(0xd000, 0xd01f) AM_DEVREAD("ppi8255_0", hustler_ppi8255_r) - AM_RANGE(0xe000, 0xe01f) AM_DEVREAD("ppi8255_1", hustler_ppi8255_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( hustler_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x8800, 0x8bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9000, 0x903f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9040, 0x905f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9060, 0x907f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9080, 0x90ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( hustler_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x9000, 0x903f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x9040, 0x905f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x9060, 0x907f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x9080, 0x90ff) AM_RAM AM_RANGE(0xa802, 0xa802) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0xa804, 0xa804) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0xa806, 0xa806) AM_WRITE(galaxold_flip_screen_y_w) AM_RANGE(0xa80e, 0xa80e) AM_WRITENOP /* coin counters */ - AM_RANGE(0xd000, 0xd01f) AM_DEVWRITE("ppi8255_0", hustler_ppi8255_w) - AM_RANGE(0xe000, 0xe01f) AM_DEVWRITE("ppi8255_1", hustler_ppi8255_w) + AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) + AM_RANGE(0xd000, 0xd01f) AM_DEVREADWRITE("ppi8255_0", hustler_ppi8255_r, hustler_ppi8255_w) + AM_RANGE(0xe000, 0xe01f) AM_DEVREADWRITE("ppi8255_1", hustler_ppi8255_r, hustler_ppi8255_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hustlerb_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x8bff) AM_READ(SMH_RAM) - AM_RANGE(0x9000, 0x90ff) AM_READ(SMH_RAM) - AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r) - AM_RANGE(0xc100, 0xc103) AM_DEVREAD("ppi8255_0", ppi8255_r) - AM_RANGE(0xc200, 0xc203) AM_DEVREAD("ppi8255_1", ppi8255_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( hustlerb_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x8800, 0x8bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9000, 0x903f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9040, 0x905f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9060, 0x907f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9080, 0x90ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( hustlerb_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_RAM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x9000, 0x903f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x9040, 0x905f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x9060, 0x907f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x9080, 0x90ff) AM_RAM AM_RANGE(0xa801, 0xa801) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0xa802, 0xa802) AM_WRITENOP /* coin counters */ AM_RANGE(0xa806, 0xa806) AM_WRITE(galaxold_flip_screen_y_w) AM_RANGE(0xa807, 0xa807) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0xc100, 0xc103) AM_DEVWRITE("ppi8255_0", ppi8255_w) - AM_RANGE(0xc200, 0xc203) AM_DEVWRITE("ppi8255_1", ppi8255_w) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( mimonkey_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x8bff) AM_READ(SMH_RAM) - AM_RANGE(0x8c00, 0x8fff) AM_READ(galaxold_videoram_r) /* mirror */ - AM_RANGE(0x9000, 0x90ff) AM_READ(SMH_RAM) - AM_RANGE(0x9800, 0x9803) AM_DEVREAD("ppi8255_0", ppi8255_r) - AM_RANGE(0xa000, 0xa003) AM_DEVREAD("ppi8255_1", ppi8255_r) AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r) - AM_RANGE(0xc000, 0xffff) AM_READ(SMH_ROM) + AM_RANGE(0xc100, 0xc103) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) + AM_RANGE(0xc200, 0xc203) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( mimonkey_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x8800, 0x8bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x8c00, 0x8fff) AM_WRITE(galaxold_videoram_w) /* mirror */ - AM_RANGE(0x9000, 0x903f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9040, 0x905f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9060, 0x907f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9080, 0x90ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9800, 0x9803) AM_DEVWRITE("ppi8255_0", ppi8255_w) - AM_RANGE(0xa000, 0xa003) AM_DEVWRITE("ppi8255_1", ppi8255_w) +static ADDRESS_MAP_START( mimonkey_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x8c00, 0x8fff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) /* mirror */ + AM_RANGE(0x9000, 0x903f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x9040, 0x905f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x9060, 0x907f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x9080, 0x90ff) AM_RAM + AM_RANGE(0x9800, 0x9803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) + AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) AM_RANGE(0xa801, 0xa801) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0xa800, 0xa802) AM_WRITE(galaxold_gfxbank_w) AM_RANGE(0xa806, 0xa806) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0xa807, 0xa807) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0xc000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r) + AM_RANGE(0xc000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -292,30 +249,14 @@ static WRITE8_DEVICE_HANDLER( anteatg_ppi8255_1_reg3_w ) ppi8255_w(device, 3, data); } -static ADDRESS_MAP_START( anteatg_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_READ(SMH_ROM) - AM_RANGE(0x0400, 0x0fff) AM_READ(SMH_RAM) - AM_RANGE(0x2000, 0x20ff) AM_READ(SMH_RAM) - AM_RANGE(0x4600, 0x4fff) AM_READ(SMH_ROM) - AM_RANGE(0x6400, 0x7aff) AM_READ(SMH_ROM) - AM_RANGE(0x7c00, 0x7fff) AM_READ(galaxold_videoram_r) /* mirror */ - AM_RANGE(0x8300, 0x98ff) AM_READ(SMH_ROM) - AM_RANGE(0xa300, 0xa7ff) AM_READ(SMH_ROM) - AM_RANGE(0xf521, 0xf521) AM_READ(watchdog_reset_r) - AM_RANGE(0xf612, 0xf612) AM_DEVREAD("ppi8255_0", anteatg_ppi8255_0_reg0_r) - AM_RANGE(0xf631, 0xf631) AM_DEVREAD("ppi8255_0", anteatg_ppi8255_0_reg1_r) - AM_RANGE(0xf710, 0xf710) AM_DEVREAD("ppi8255_0", anteatg_ppi8255_0_reg2_r) - AM_RANGE(0xf753, 0xf753) AM_DEVREAD("ppi8255_0", anteatg_ppi8255_0_reg3_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( anteatg_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_WRITE(SMH_ROM) - AM_RANGE(0x0400, 0x0bff) AM_WRITE(SMH_RAM) - AM_RANGE(0x0c00, 0x0fff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x2000, 0x203f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x2040, 0x205f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x2060, 0x207f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x2080, 0x20ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( anteatg_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x03ff) AM_ROM + AM_RANGE(0x0400, 0x0bff) AM_RAM + AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x2000, 0x203f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x2040, 0x205f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x2060, 0x207f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x2080, 0x20ff) AM_RAM AM_RANGE(0x2423, 0x2423) AM_DEVWRITE("ppi8255_1", anteatg_ppi8255_1_reg3_w) AM_RANGE(0x2450, 0x2450) AM_DEVWRITE("ppi8255_1", anteatg_ppi8255_1_reg0_w) AM_RANGE(0x2511, 0x2511) AM_DEVWRITE("ppi8255_1", anteatg_ppi8255_1_reg1_w) @@ -325,50 +266,39 @@ static ADDRESS_MAP_START( anteatg_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x2653, 0x2653) AM_WRITE(scrambold_background_enable_w) AM_RANGE(0x2702, 0x2702) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0x2736, 0x2736) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0x4600, 0x4fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x6400, 0x7aff) AM_WRITE(SMH_ROM) - AM_RANGE(0x7c00, 0x7fff) AM_WRITE(galaxold_videoram_w) /* mirror */ - AM_RANGE(0x8300, 0x98ff) AM_WRITE(SMH_ROM) - AM_RANGE(0xa300, 0xa7ff) AM_WRITE(SMH_ROM) - AM_RANGE(0xf612, 0xf612) AM_DEVWRITE("ppi8255_0", anteatg_ppi8255_0_reg0_w) - AM_RANGE(0xf631, 0xf631) AM_DEVWRITE("ppi8255_0", anteatg_ppi8255_0_reg1_w) - AM_RANGE(0xf710, 0xf710) AM_DEVWRITE("ppi8255_0", anteatg_ppi8255_0_reg2_w) - AM_RANGE(0xf753, 0xf753) AM_DEVWRITE("ppi8255_0", anteatg_ppi8255_0_reg3_w) + AM_RANGE(0x4600, 0x4fff) AM_ROM + AM_RANGE(0x6400, 0x7aff) AM_ROM + AM_RANGE(0x7c00, 0x7fff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) /* mirror */ + AM_RANGE(0x8300, 0x98ff) AM_ROM + AM_RANGE(0xa300, 0xa7ff) AM_ROM + AM_RANGE(0xf521, 0xf521) AM_READ(watchdog_reset_r) + AM_RANGE(0xf612, 0xf612) AM_DEVREADWRITE("ppi8255_0", anteatg_ppi8255_0_reg0_r, anteatg_ppi8255_0_reg0_w) + AM_RANGE(0xf631, 0xf631) AM_DEVREADWRITE("ppi8255_0", anteatg_ppi8255_0_reg1_r, anteatg_ppi8255_0_reg1_w) + AM_RANGE(0xf710, 0xf710) AM_DEVREADWRITE("ppi8255_0", anteatg_ppi8255_0_reg2_r, anteatg_ppi8255_0_reg2_w) + AM_RANGE(0xf753, 0xf753) AM_DEVREADWRITE("ppi8255_0", anteatg_ppi8255_0_reg3_r, anteatg_ppi8255_0_reg3_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( anteatgb_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_READ(SMH_ROM) - AM_RANGE(0x0400, 0x0fff) AM_READ(SMH_RAM) - AM_RANGE(0x1200, 0x12ff) AM_READ(SMH_RAM) - AM_RANGE(0x145b, 0x145b) AM_READ(watchdog_reset_r) - AM_RANGE(0x4600, 0x4fff) AM_READ(SMH_ROM) - AM_RANGE(0x6400, 0x7aff) AM_READ(SMH_ROM) - AM_RANGE(0x8300, 0x98ff) AM_READ(SMH_ROM) - AM_RANGE(0xa300, 0xa7ff) AM_READ(SMH_ROM) - AM_RANGE(0xf300, 0xf303) AM_DEVREAD("ppi8255_0", ppi8255_r) - AM_RANGE(0xfe00, 0xfe03) AM_DEVREAD("ppi8255_1", ppi8255_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( anteatgb_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_WRITE(SMH_ROM) - AM_RANGE(0x0400, 0x0bff) AM_WRITE(SMH_RAM) - AM_RANGE(0x0c00, 0x0fff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x1200, 0x123f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x1240, 0x125f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x1260, 0x127f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x1280, 0x12ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( anteatgb_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x03ff) AM_ROM + AM_RANGE(0x0400, 0x0bff) AM_ROM + AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) AM_RANGE(0x1171, 0x1171) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0x1174, 0x1174) AM_WRITE(galaxold_stars_enable_w) AM_RANGE(0x1177, 0x1177) AM_WRITE(galaxold_flip_screen_y_w) AM_RANGE(0x1173, 0x1173) AM_WRITE(scrambold_background_enable_w) AM_RANGE(0x1172, 0x1172) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0x1176, 0x1176) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0x4600, 0x4fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x6400, 0x7aff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8300, 0x98ff) AM_WRITE(SMH_ROM) - AM_RANGE(0xa300, 0xa7ff) AM_WRITE(SMH_ROM) - AM_RANGE(0xf300, 0xf303) AM_DEVWRITE("ppi8255_0", ppi8255_w) - AM_RANGE(0xfe00, 0xfe03) AM_DEVWRITE("ppi8255_1", ppi8255_w) + AM_RANGE(0x1200, 0x123f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x1240, 0x125f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x1260, 0x127f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x1280, 0x12ff) AM_RAM + AM_RANGE(0x145b, 0x145b) AM_READ(watchdog_reset_r) + AM_RANGE(0x4600, 0x4fff) AM_ROM + AM_RANGE(0x6400, 0x7aff) AM_ROM + AM_RANGE(0x8300, 0x98ff) AM_ROM + AM_RANGE(0xa300, 0xa7ff) AM_ROM + AM_RANGE(0xf300, 0xf303) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) + AM_RANGE(0xfe00, 0xfe03) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) ADDRESS_MAP_END static UINT8 *scobra_soundram; @@ -383,24 +313,18 @@ static WRITE8_HANDLER(scobra_soundram_w) scobra_soundram[offset & 0x03ff] = data; } -static ADDRESS_MAP_START( scobra_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x2fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x8fff) AM_READ(scobra_soundram_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( scobra_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x2fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x8fff) AM_WRITE(scobra_soundram_w) +static ADDRESS_MAP_START( scobra_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x2fff) AM_ROM + AM_RANGE(0x8000, 0x8fff) AM_READWRITE(scobra_soundram_r, scobra_soundram_w) AM_RANGE(0x8000, 0x83ff) AM_WRITENOP AM_BASE(&scobra_soundram) /* only here to initialize pointer */ AM_RANGE(0x9000, 0x9fff) AM_WRITE(scramble_filter_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hustlerb_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM) +static ADDRESS_MAP_START( hustlerb_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x2fff) AM_ROM AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w) - AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x8000, 0x83ff) AM_WRITENOP AM_BASE(&scobra_soundram) /* only here to initialize pointer */ + AM_RANGE(0x8000, 0x8fff) AM_READWRITE(scobra_soundram_r, SMH_RAM) AM_BASE(&scobra_soundram) /* only here to initialize pointer */ ADDRESS_MAP_END @@ -412,14 +336,9 @@ static ADDRESS_MAP_START( scobra_sound_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("ay2", ay8910_r, ay8910_data_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hustler_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( hustler_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( hustler_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x1fff) AM_ROM + AM_RANGE(0x4000, 0x43ff) AM_RAM AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w) ADDRESS_MAP_END @@ -934,10 +853,10 @@ static MACHINE_DRIVER_START( type1 ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */ - MDRV_CPU_PROGRAM_MAP(type1_readmem,type1_writemem) + MDRV_CPU_PROGRAM_MAP(type1_map,0) MDRV_CPU_ADD("audiocpu", Z80,14318000/8) /* 1.78975 MHz */ - MDRV_CPU_PROGRAM_MAP(scobra_sound_readmem,scobra_sound_writemem) + MDRV_CPU_PROGRAM_MAP(scobra_sound_map,0) MDRV_CPU_IO_MAP(scobra_sound_io_map,0) MDRV_MACHINE_RESET(scramble) @@ -1009,7 +928,7 @@ static MACHINE_DRIVER_START( mimonkey ) /* basic machine hardware */ MDRV_IMPORT_FROM(type1) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(mimonkey_readmem,mimonkey_writemem) + MDRV_CPU_PROGRAM_MAP(mimonkey_map,0) /* video hardware */ MDRV_VIDEO_START(mimonkey) @@ -1021,7 +940,7 @@ static MACHINE_DRIVER_START( type2 ) /* basic machine hardware */ MDRV_IMPORT_FROM(type1) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(type2_readmem,type2_writemem) + MDRV_CPU_PROGRAM_MAP(type2_map,0) MACHINE_DRIVER_END @@ -1058,10 +977,10 @@ static MACHINE_DRIVER_START( hustler ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */ - MDRV_CPU_PROGRAM_MAP(hustler_readmem,hustler_writemem) + MDRV_CPU_PROGRAM_MAP(hustler_map,0) MDRV_CPU_ADD("audiocpu",Z80,14318000/8) /* 1.78975 MHz */ - MDRV_CPU_PROGRAM_MAP(hustler_sound_readmem,hustler_sound_writemem) + MDRV_CPU_PROGRAM_MAP(hustler_sound_map,0) MDRV_CPU_IO_MAP(hustler_sound_io_map,0) MDRV_MACHINE_RESET(scramble) @@ -1098,10 +1017,10 @@ static MACHINE_DRIVER_START( hustlerb ) /* basic machine hardware */ MDRV_IMPORT_FROM(hustler) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(hustlerb_readmem,hustlerb_writemem) + MDRV_CPU_PROGRAM_MAP(hustlerb_map,0) MDRV_CPU_MODIFY("audiocpu") - MDRV_CPU_PROGRAM_MAP(scobra_sound_readmem,hustlerb_sound_writemem) + MDRV_CPU_PROGRAM_MAP(hustlerb_sound_map,0) MDRV_CPU_IO_MAP(hustlerb_sound_io_map,0) MACHINE_DRIVER_END @@ -1112,7 +1031,7 @@ static MACHINE_DRIVER_START( anteatg ) /* basic machine hardware */ MDRV_IMPORT_FROM(type1) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(anteatg_readmem,anteatg_writemem) + MDRV_CPU_PROGRAM_MAP(anteatg_map,0) MACHINE_DRIVER_END /* same as type1 but with a strange memory map, maybe a kind of protection */ @@ -1121,7 +1040,7 @@ static MACHINE_DRIVER_START( anteatgb ) /* basic machine hardware */ MDRV_IMPORT_FROM(type1) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(anteatgb_readmem,anteatgb_writemem) + MDRV_CPU_PROGRAM_MAP(anteatgb_map,0) MACHINE_DRIVER_END diff --git a/src/mame/drivers/scramble.c b/src/mame/drivers/scramble.c index 3b241c40f0c..716ba311520 100644 --- a/src/mame/drivers/scramble.c +++ b/src/mame/drivers/scramble.c @@ -36,65 +36,42 @@ Notes: -static ADDRESS_MAP_START( scramble_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x4bff) AM_READ(SMH_RAM) - AM_RANGE(0x4c00, 0x4fff) AM_READ(galaxold_videoram_r) /* mirror */ - AM_RANGE(0x5000, 0x50ff) AM_READ(SMH_RAM) - AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r) - AM_RANGE(0x7800, 0x7800) AM_READ(watchdog_reset_r) - AM_RANGE(0x8100, 0x8103) AM_DEVREAD("ppi8255_0", ppi8255_r) - AM_RANGE(0x8110, 0x8113) AM_DEVREAD("ppi8255_0", ppi8255_r) /* mirror for Frog */ - AM_RANGE(0x8200, 0x8203) AM_DEVREAD("ppi8255_1", ppi8255_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( scramble_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4800, 0x4bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x4c00, 0x4fff) AM_WRITE(galaxold_videoram_w) /* mirror address */ - AM_RANGE(0x5000, 0x503f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5040, 0x505f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x5060, 0x507f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x5080, 0x50ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( scramble_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x47ff) AM_RAM + AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x4c00, 0x4fff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) /* mirror address */ + AM_RANGE(0x5000, 0x503f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x5040, 0x505f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x5060, 0x507f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x5080, 0x50ff) AM_RAM AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0x6804, 0x6804) AM_WRITE(galaxold_stars_enable_w) AM_RANGE(0x6806, 0x6806) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0x6807, 0x6807) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x8100, 0x8103) AM_DEVWRITE("ppi8255_0", ppi8255_w) - AM_RANGE(0x8200, 0x8203) AM_DEVWRITE("ppi8255_1", ppi8255_w) + AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r) + AM_RANGE(0x7800, 0x7800) AM_READ(watchdog_reset_r) + AM_RANGE(0x8100, 0x8103) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) + AM_RANGE(0x8110, 0x8113) AM_DEVREAD("ppi8255_0", ppi8255_r) /* mirror for Frog */ + AM_RANGE(0x8200, 0x8203) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( turpins_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_READ(SMH_RAM) - AM_RANGE(0x9400, 0x97ff) AM_READ(galaxold_videoram_r) - AM_RANGE(0x9800, 0x98ff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( turpins_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x5fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x9400, 0x97ff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) + AM_RANGE(0x9800, 0x983f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x9840, 0x985f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x9860, 0x987f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x9880, 0x98ff) AM_RAM AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_RANGE(0xa002, 0xa002) AM_READ_PORT("IN2") - AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) -// AM_RANGE(0x8100, 0x8103) AM_READ(ppi8255_0_r) -// AM_RANGE(0x8200, 0x8203) AM_READ(ppi8255_1_r) - - AM_RANGE(0xf000, 0xffff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( turpins_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9400, 0x97ff) AM_WRITE(galaxold_videoram_w) - AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9860, 0x987f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9880, 0x98ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa801, 0xa801) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0xa802, 0xa802) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0xa804, 0xa804) AM_WRITE(galaxold_stars_enable_w) @@ -103,32 +80,29 @@ static ADDRESS_MAP_START( turpins_writemem, ADDRESS_SPACE_PROGRAM, 8 ) /* don't know where these are */ // AM_RANGE(0x8100, 0x8103) AM_WRITE(ppi8255_0_w) // AM_RANGE(0x8200, 0x8203) AM_WRITE(ppi8255_1_w) + + AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) +// AM_RANGE(0x8100, 0x8103) AM_READ(ppi8255_0_r) +// AM_RANGE(0x8200, 0x8203) AM_READ(ppi8255_1_r) + + AM_RANGE(0xf000, 0xffff) AM_READ(SMH_RAM) ADDRESS_MAP_END -static ADDRESS_MAP_START( ckongs_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM) - AM_RANGE(0x6000, 0x6bff) AM_READ(SMH_RAM) - AM_RANGE(0x7000, 0x7003) AM_DEVREAD("ppi8255_0", ppi8255_r) - AM_RANGE(0x7800, 0x7803) AM_DEVREAD("ppi8255_1", ppi8255_r) - AM_RANGE(0x9000, 0x93ff) AM_READ(SMH_RAM) - AM_RANGE(0x9800, 0x98ff) AM_READ(SMH_RAM) - AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ckongs_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x6000, 0x6bff) AM_WRITE(SMH_RAM) - AM_RANGE(0x7000, 0x7003) AM_DEVWRITE("ppi8255_0", ppi8255_w) - AM_RANGE(0x7800, 0x7803) AM_DEVWRITE("ppi8255_1", ppi8255_w) - AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x9860, 0x987f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x9880, 0x98ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( ckongs_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x5fff) AM_ROM + AM_RANGE(0x6000, 0x6bff) AM_RAM + AM_RANGE(0x7000, 0x7003) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) + AM_RANGE(0x7800, 0x7803) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) + AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x9800, 0x983f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x9840, 0x985f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x9860, 0x987f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x9880, 0x98ff) AM_RAM AM_RANGE(0xa801, 0xa801) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0xa802, 0xa802) AM_WRITE(galaxold_coin_counter_w) AM_RANGE(0xa806, 0xa806) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0xa807, 0xa807) AM_WRITE(galaxold_flip_screen_y_w) + AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r) ADDRESS_MAP_END @@ -143,105 +117,79 @@ static WRITE8_DEVICE_HANDLER(mars_ppi8255_w) } -static ADDRESS_MAP_START( mars_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x4bff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( mars_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x47ff) AM_RAM + AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) AM_RANGE(0x4c00, 0x4fff) AM_READ(galaxold_videoram_r) - AM_RANGE(0x5000, 0x50ff) AM_READ(SMH_RAM) + AM_RANGE(0x5000, 0x503f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x5040, 0x505f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x5060, 0x507f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x5080, 0x50ff) AM_RAM + AM_RANGE(0x6800, 0x6800) AM_WRITE(galaxold_coin_counter_1_w) + AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_stars_enable_w) + AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_nmi_enable_w) + AM_RANGE(0x6808, 0x6808) AM_WRITE(galaxold_coin_counter_0_w) + AM_RANGE(0x6809, 0x6809) AM_WRITE(galaxold_flip_screen_x_w) + AM_RANGE(0x680b, 0x680b) AM_WRITE(galaxold_flip_screen_y_w) AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r) AM_RANGE(0x7000, 0x7000) AM_READNOP - AM_RANGE(0x8100, 0x810f) AM_DEVREAD("ppi8255_0", mars_ppi8255_r) - AM_RANGE(0x8200, 0x820f) AM_DEVREAD("ppi8255_1", mars_ppi8255_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( mars_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4800, 0x4bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x5000, 0x503f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5040, 0x505f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x5060, 0x507f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x5080, 0x50ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x6800, 0x6800) AM_WRITE(galaxold_coin_counter_1_w) - AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_stars_enable_w) - AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_nmi_enable_w) - AM_RANGE(0x6808, 0x6808) AM_WRITE(galaxold_coin_counter_0_w) - AM_RANGE(0x6809, 0x6809) AM_WRITE(galaxold_flip_screen_x_w) - AM_RANGE(0x680b, 0x680b) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x8100, 0x810f) AM_DEVWRITE("ppi8255_0", mars_ppi8255_w) - AM_RANGE(0x8200, 0x820f) AM_DEVWRITE("ppi8255_1", mars_ppi8255_w) + AM_RANGE(0x8100, 0x810f) AM_DEVREADWRITE("ppi8255_0", mars_ppi8255_r, mars_ppi8255_w) + AM_RANGE(0x8200, 0x820f) AM_DEVREADWRITE("ppi8255_1", mars_ppi8255_r, mars_ppi8255_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( newsin7_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x4bff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( newsin7_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x47ff) AM_RAM + AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) AM_RANGE(0x4c00, 0x4fff) AM_READ(galaxold_videoram_r) - AM_RANGE(0x5000, 0x50ff) AM_READ(SMH_RAM) - AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r) - AM_RANGE(0x8200, 0x820f) AM_DEVREAD("ppi8255_1", mars_ppi8255_r) - AM_RANGE(0xa000, 0xafff) AM_READ(SMH_ROM) - AM_RANGE(0xc100, 0xc10f) AM_DEVREAD("ppi8255_0", mars_ppi8255_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( newsin7_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4800, 0x4bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x5000, 0x503f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5040, 0x505f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x5060, 0x507f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x5080, 0x50ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x5000, 0x503f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x5040, 0x505f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x5060, 0x507f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x5080, 0x50ff) AM_RAM AM_RANGE(0x6800, 0x6800) AM_WRITE(galaxold_coin_counter_1_w) AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_stars_enable_w) AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0x6808, 0x6808) AM_WRITE(galaxold_coin_counter_0_w) AM_RANGE(0x6809, 0x6809) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0x680b, 0x680b) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x8200, 0x820f) AM_DEVWRITE("ppi8255_1", mars_ppi8255_w) - AM_RANGE(0xa000, 0xafff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc100, 0xc10f) AM_DEVWRITE("ppi8255_0", mars_ppi8255_w) + AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r) + AM_RANGE(0x8200, 0x820f) AM_DEVREADWRITE("ppi8255_1", mars_ppi8255_r, mars_ppi8255_w) + AM_RANGE(0xa000, 0xafff) AM_ROM + AM_RANGE(0xc100, 0xc10f) AM_DEVREADWRITE("ppi8255_0", mars_ppi8255_r, mars_ppi8255_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( mrkougar_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4800, 0x4bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x4c00, 0x4fff) AM_WRITE(galaxold_videoram_w) /* mirror address */ - AM_RANGE(0x5000, 0x503f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5040, 0x505f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x5060, 0x507f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x5080, 0x50ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( mrkougar_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x47ff) AM_RAM + AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x4c00, 0x4fff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) + AM_RANGE(0x5000, 0x503f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x5040, 0x505f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x5060, 0x507f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x5080, 0x50ff) AM_RAM AM_RANGE(0x6800, 0x6800) AM_WRITE(galaxold_coin_counter_1_w) AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0x6808, 0x6808) AM_WRITE(galaxold_coin_counter_0_w) AM_RANGE(0x6809, 0x6809) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0x680b, 0x680b) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x8100, 0x810f) AM_DEVWRITE("ppi8255_0", mars_ppi8255_w) - AM_RANGE(0x8200, 0x820f) AM_DEVWRITE("ppi8255_1", mars_ppi8255_w) + AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r) + AM_RANGE(0x8100, 0x810f) AM_DEVREADWRITE("ppi8255_0", mars_ppi8255_r, mars_ppi8255_w) + AM_RANGE(0x8200, 0x820f) AM_DEVREADWRITE("ppi8255_1", mars_ppi8255_r, mars_ppi8255_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hotshock_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x4bff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( hotshock_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x47ff) AM_RAM + AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) AM_RANGE(0x4c00, 0x4fff) AM_READ(galaxold_videoram_r) - AM_RANGE(0x5000, 0x50ff) AM_READ(SMH_RAM) - AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0") - AM_RANGE(0x8001, 0x8001) AM_READ_PORT("IN1") - AM_RANGE(0x8002, 0x8002) AM_READ_PORT("IN2") - AM_RANGE(0x8003, 0x8003) AM_READ_PORT("IN3") -ADDRESS_MAP_END - -static ADDRESS_MAP_START( hotshock_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4800, 0x4bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x5000, 0x503f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5040, 0x505f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x5060, 0x507f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x5080, 0x50ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x5000, 0x503f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x5040, 0x505f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x5060, 0x507f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x5080, 0x50ff) AM_RAM AM_RANGE(0x6000, 0x6000) AM_WRITE(galaxold_coin_counter_2_w) AM_RANGE(0x6002, 0x6002) AM_WRITE(galaxold_coin_counter_1_w) AM_RANGE(0x6004, 0x6004) AM_WRITE(hotshock_flip_screen_w) @@ -249,75 +197,54 @@ static ADDRESS_MAP_START( hotshock_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x6006, 0x6006) AM_WRITE(galaxold_gfxbank_w) AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0x7000, 0x7000) AM_WRITE(watchdog_reset_w) - AM_RANGE(0x8000, 0x8000) AM_WRITE(soundlatch_w) + AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0") AM_WRITE(soundlatch_w) + AM_RANGE(0x8001, 0x8001) AM_READ_PORT("IN1") + AM_RANGE(0x8002, 0x8002) AM_READ_PORT("IN2") + AM_RANGE(0x8003, 0x8003) AM_READ_PORT("IN3") AM_RANGE(0x9000, 0x9000) AM_WRITE(hotshock_sh_irqtrigger_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hunchbks_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM) - AM_RANGE(0x1210, 0x1213) AM_DEVREAD("ppi8255_1", ppi8255_r) - AM_RANGE(0x1400, 0x14ff) AM_READ(SMH_RAM) - AM_RANGE(0x1500, 0x1503) AM_DEVREAD("ppi8255_0", ppi8255_r) - AM_RANGE(0x1680, 0x1680) AM_READ(watchdog_reset_r) - AM_RANGE(0x1780, 0x1780) AM_READ(watchdog_reset_r) - AM_RANGE(0x1800, 0x1fff) AM_READ(SMH_RAM) - AM_RANGE(0x2000, 0x2fff) AM_READ(SMH_ROM) - AM_RANGE(0x3000, 0x3fff) AM_READ(hunchbks_mirror_r) - AM_RANGE(0x4000, 0x4fff) AM_READ(SMH_ROM) - AM_RANGE(0x5000, 0x5fff) AM_READ(hunchbks_mirror_r) - AM_RANGE(0x6000, 0x6fff) AM_READ(SMH_ROM) - AM_RANGE(0x7000, 0x7fff) AM_READ(hunchbks_mirror_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( hunchbks_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x1210, 0x1213) AM_DEVWRITE("ppi8255_1", ppi8255_w) - AM_RANGE(0x1400, 0x143f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x1440, 0x145f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x1460, 0x147f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x1480, 0x14ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x1500, 0x1503) AM_DEVWRITE("ppi8255_0", ppi8255_w) +static ADDRESS_MAP_START( hunchbks_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x0fff) AM_ROM + AM_RANGE(0x1210, 0x1213) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) + AM_RANGE(0x1400, 0x143f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x1440, 0x145f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x1460, 0x147f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x1480, 0x14ff) AM_RAM + AM_RANGE(0x1500, 0x1503) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) AM_RANGE(0x1606, 0x1606) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0x1607, 0x1607) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x1800, 0x1bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x1c00, 0x1fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x2000, 0x2fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x3000, 0x3fff) AM_WRITE(hunchbks_mirror_w) - AM_RANGE(0x4000, 0x4fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x5000, 0x5fff) AM_WRITE(hunchbks_mirror_w) - AM_RANGE(0x6000, 0x6fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x7000, 0x7fff) AM_WRITE(hunchbks_mirror_w) + AM_RANGE(0x1680, 0x1680) AM_READ(watchdog_reset_r) + AM_RANGE(0x1780, 0x1780) AM_READ(watchdog_reset_r) + AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x1c00, 0x1fff) AM_RAM + AM_RANGE(0x2000, 0x2fff) AM_ROM + AM_RANGE(0x3000, 0x3fff) AM_READWRITE(hunchbks_mirror_r, hunchbks_mirror_w) + AM_RANGE(0x4000, 0x4fff) AM_ROM + AM_RANGE(0x5000, 0x5fff) AM_READWRITE(hunchbks_mirror_r, hunchbks_mirror_w) + AM_RANGE(0x6000, 0x6fff) AM_ROM + AM_RANGE(0x7000, 0x7fff) AM_READWRITE(hunchbks_mirror_r, hunchbks_mirror_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( mimonscr_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_READ(galaxold_videoram_r) /* mirror address?, probably not */ - AM_RANGE(0x4400, 0x4bff) AM_READ(SMH_RAM) - AM_RANGE(0x5000, 0x50ff) AM_READ(SMH_RAM) - AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r) - AM_RANGE(0x8100, 0x8103) AM_DEVREAD("ppi8255_0", ppi8255_r) - AM_RANGE(0x8200, 0x8203) AM_DEVREAD("ppi8255_1", ppi8255_r) - AM_RANGE(0xc000, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( mimonscr_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_WRITE(galaxold_videoram_w) /* mirror address?, probably not */ - AM_RANGE(0x4400, 0x47ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4800, 0x4bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) - AM_RANGE(0x5000, 0x503f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) - AM_RANGE(0x5040, 0x505f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) - AM_RANGE(0x5060, 0x507f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) - AM_RANGE(0x5080, 0x50ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( mimonscr_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x43ff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) /* mirror address?, probably not */ + AM_RANGE(0x4400, 0x47ff) AM_ROM + AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram) + AM_RANGE(0x5000, 0x503f) AM_RAM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram) + AM_RANGE(0x5040, 0x505f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size) + AM_RANGE(0x5060, 0x507f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size) + AM_RANGE(0x5080, 0x50ff) AM_RAM AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w) AM_RANGE(0x6800, 0x6802) AM_WRITE(galaxold_gfxbank_w) AM_RANGE(0x6806, 0x6806) AM_WRITE(galaxold_flip_screen_x_w) AM_RANGE(0x6807, 0x6807) AM_WRITE(galaxold_flip_screen_y_w) - AM_RANGE(0x8100, 0x8103) AM_DEVWRITE("ppi8255_0", ppi8255_w) - AM_RANGE(0x8200, 0x8203) AM_DEVWRITE("ppi8255_1", ppi8255_w) - AM_RANGE(0xc000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r) + AM_RANGE(0x8100, 0x8103) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) + AM_RANGE(0x8200, 0x8203) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) + AM_RANGE(0xc000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -1290,14 +1217,9 @@ static WRITE8_HANDLER(scramble_soundram_w) scramble_soundram[offset & 0x03ff] = data; } -static ADDRESS_MAP_START( scramble_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x2fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x8fff) AM_READ(scramble_soundram_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( scramble_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x2fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x8fff) AM_WRITE(scramble_soundram_w) +static ADDRESS_MAP_START( scramble_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x2fff) AM_ROM + AM_RANGE(0x8000, 0x8fff) AM_READWRITE(scramble_soundram_r, scramble_soundram_w) AM_RANGE(0x8000, 0x83ff) AM_WRITENOP AM_BASE(&scramble_soundram) /* only here to initialize pointer */ AM_RANGE(0x9000, 0x9fff) AM_WRITE(scramble_filter_w) ADDRESS_MAP_END @@ -1314,10 +1236,10 @@ static MACHINE_DRIVER_START( scramble ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */ - MDRV_CPU_PROGRAM_MAP(scramble_readmem,scramble_writemem) + MDRV_CPU_PROGRAM_MAP(scramble_map,0) MDRV_CPU_ADD("audiocpu", Z80, 14318000/8) /* 1.78975 MHz */ - MDRV_CPU_PROGRAM_MAP(scramble_sound_readmem,scramble_sound_writemem) + MDRV_CPU_PROGRAM_MAP(scramble_sound_map,0) MDRV_CPU_IO_MAP(scramble_sound_io_map,0) MDRV_MACHINE_RESET(scramble) @@ -1355,7 +1277,7 @@ static MACHINE_DRIVER_START( mars ) /* basic machine hardware */ MDRV_IMPORT_FROM(scramble) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(mars_readmem,mars_writemem) + MDRV_CPU_PROGRAM_MAP(mars_map,0) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ @@ -1367,7 +1289,7 @@ static MACHINE_DRIVER_START( devilfsh ) /* basic machine hardware */ MDRV_IMPORT_FROM(scramble) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(mars_readmem,mars_writemem) + MDRV_CPU_PROGRAM_MAP(mars_map,0) /* video hardware */ MDRV_GFXDECODE(devilfsh) @@ -1380,7 +1302,7 @@ static MACHINE_DRIVER_START( newsin7 ) /* basic machine hardware */ MDRV_IMPORT_FROM(scramble) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(newsin7_readmem,newsin7_writemem) + MDRV_CPU_PROGRAM_MAP(newsin7_map,0) /* video hardware */ MDRV_GFXDECODE(newsin7) @@ -1394,7 +1316,7 @@ static MACHINE_DRIVER_START( mrkougar ) /* basic machine hardware */ MDRV_IMPORT_FROM(scramble) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(mars_readmem,mrkougar_writemem) + MDRV_CPU_PROGRAM_MAP(mrkougar_map,0) MDRV_PPI8255_RECONFIG( "ppi8255_1", mrkougar_ppi_1_intf ) @@ -1409,7 +1331,7 @@ static MACHINE_DRIVER_START( mrkougb ) /* basic machine hardware */ MDRV_IMPORT_FROM(scramble) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(mars_readmem,mrkougar_writemem) + MDRV_CPU_PROGRAM_MAP(mrkougar_map,0) MDRV_PPI8255_RECONFIG( "ppi8255_1", mrkougar_ppi_1_intf ) @@ -1423,7 +1345,7 @@ static MACHINE_DRIVER_START( ckongs ) /* basic machine hardware */ MDRV_IMPORT_FROM(scramble) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(ckongs_readmem,ckongs_writemem) + MDRV_CPU_PROGRAM_MAP(ckongs_map,0) /* video hardware */ MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */ @@ -1436,7 +1358,7 @@ static MACHINE_DRIVER_START( hotshock ) /* basic machine hardware */ MDRV_IMPORT_FROM(scramble) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(hotshock_readmem,hotshock_writemem) + MDRV_CPU_PROGRAM_MAP(hotshock_map,0) MDRV_PPI8255_REMOVE( "ppi8255_0" ) MDRV_PPI8255_REMOVE( "ppi8255_1" ) @@ -1475,7 +1397,7 @@ static MACHINE_DRIVER_START( mimonscr ) /* basic machine hardware */ MDRV_IMPORT_FROM(scramble) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(mimonscr_readmem,mimonscr_writemem) + MDRV_CPU_PROGRAM_MAP(mimonscr_map,0) /* video hardware */ MDRV_VIDEO_START(mimonkey) @@ -1522,7 +1444,7 @@ static MACHINE_DRIVER_START( hunchbks ) /* basic machine hardware */ MDRV_IMPORT_FROM(scramble) MDRV_CPU_REPLACE("maincpu", S2650, 18432000/6) - MDRV_CPU_PROGRAM_MAP(hunchbks_readmem,hunchbks_writemem) + MDRV_CPU_PROGRAM_MAP(hunchbks_map,0) MDRV_CPU_IO_MAP(hunchbks_readport,0) MDRV_CPU_VBLANK_INT("screen", hunchbks_vh_interrupt) @@ -1577,7 +1499,7 @@ static MACHINE_DRIVER_START( turpins ) /* basic machine hardware */ MDRV_IMPORT_FROM(scramble) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(turpins_readmem,turpins_writemem) + MDRV_CPU_PROGRAM_MAP(turpins_map,0) MACHINE_DRIVER_END diff --git a/src/mame/drivers/slapfght.c b/src/mame/drivers/slapfght.c index 5bb123601fa..f8b9d98fb15 100644 --- a/src/mame/drivers/slapfght.c +++ b/src/mame/drivers/slapfght.c @@ -1059,7 +1059,7 @@ static MACHINE_DRIVER_START( slapfigh ) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_DRIVER_END -/* identical to slapfigh_ but writemem has different scroll registers */ +/* identical to slapfigh_ but the scroll registers are located elsewhere in memory */ static MACHINE_DRIVER_START( slapbtuk ) /* basic machine hardware */ diff --git a/src/mame/drivers/spaceg.c b/src/mame/drivers/spaceg.c index bebded2117e..b4374c148e7 100644 --- a/src/mame/drivers/spaceg.c +++ b/src/mame/drivers/spaceg.c @@ -294,7 +294,7 @@ static VIDEO_UPDATE( spaceg ) } -static ADDRESS_MAP_START( readwritemem, ADDRESS_SPACE_PROGRAM, 8 ) +static ADDRESS_MAP_START( spaceg_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x1fff) AM_ROM AM_RANGE(0x3000, 0x3fff) AM_ROM AM_RANGE(0x7000, 0x77ff) AM_RAM @@ -364,7 +364,7 @@ static MACHINE_DRIVER_START( spaceg ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80,2500000) /* 2.5 MHz */ - MDRV_CPU_PROGRAM_MAP(readwritemem,0) + MDRV_CPU_PROGRAM_MAP(spaceg_map,0) MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* 60 Hz NMIs (verified) */ /* video hardware */