diff options
author | 2009-04-27 02:05:09 +0000 | |
---|---|---|
committer | 2009-04-27 02:05:09 +0000 | |
commit | a8583531fd22417382cc4cac99423724503b8a63 (patch) | |
tree | bb31f0ec92d5b7e1bc51d7545d26f8bcd37e59b5 /src | |
parent | 07dab27eafe63cb2185cb03e460edae37f03decf (diff) |
Merged memory maps for all driver sources beginning with 'F': [MooglyGuy]
- f1gp.c, fastlane.c, firetrap.c, flkatck.c, flstory.c, freekick.c, fromanc2.c, fromance.c, funkybee.c, funkyjet.c, funybubl.c, fuukifg2.c, fuukifg3.c
Non-whatsnew note:
There were a number of conflicts, but apart from the auto_malloc in funybubl.c, all of them were corrected with selecting "Your entire file", as all of them appeared to have to do with the SMH_BANK conversion that went away thanks to memory-map merging anyway.
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/f1gp.c | 124 | ||||
-rw-r--r-- | src/mame/drivers/fastlane.c | 40 | ||||
-rw-r--r-- | src/mame/drivers/firetrap.c | 82 | ||||
-rw-r--r-- | src/mame/drivers/flkatck.c | 61 | ||||
-rw-r--r-- | src/mame/drivers/flstory.c | 4 | ||||
-rw-r--r-- | src/mame/drivers/freekick.c | 88 | ||||
-rw-r--r-- | src/mame/drivers/fromanc2.c | 195 | ||||
-rw-r--r-- | src/mame/drivers/fromance.c | 97 | ||||
-rw-r--r-- | src/mame/drivers/funkybee.c | 27 | ||||
-rw-r--r-- | src/mame/drivers/funkyjet.c | 59 | ||||
-rw-r--r-- | src/mame/drivers/funybubl.c | 41 | ||||
-rw-r--r-- | src/mame/drivers/fuukifg2.c | 56 | ||||
-rw-r--r-- | src/mame/drivers/fuukifg3.c | 87 |
13 files changed, 340 insertions, 621 deletions
diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c index f4cb7098855..687d55855dc 100644 --- a/src/mame/drivers/f1gp.c +++ b/src/mame/drivers/f1gp.c @@ -90,107 +90,65 @@ static WRITE8_HANDLER( pending_command_clear_w ) -static ADDRESS_MAP_START( f1gp_readmem1, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM) +static ADDRESS_MAP_START( f1gp_cpu1_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x100000, 0x2fffff) AM_READ(extrarom_r) AM_RANGE(0xa00000, 0xbfffff) AM_READ(extrarom2_r) - AM_RANGE(0xc00000, 0xc3ffff) AM_READ(f1gp_zoomdata_r) - AM_RANGE(0xd00000, 0xd01fff) AM_READ(f1gp_rozvideoram_r) - AM_RANGE(0xd02000, 0xd03fff) AM_READ(f1gp_rozvideoram_r) /* mirror */ - AM_RANGE(0xd04000, 0xd05fff) AM_READ(f1gp_rozvideoram_r) /* mirror */ - AM_RANGE(0xd06000, 0xd07fff) AM_READ(f1gp_rozvideoram_r) /* mirror */ - AM_RANGE(0xe00000, 0xe03fff) AM_READ(SMH_RAM) - AM_RANGE(0xe04000, 0xe07fff) AM_READ(SMH_RAM) - AM_RANGE(0xf00000, 0xf003ff) AM_READ(SMH_RAM) - AM_RANGE(0xf10000, 0xf103ff) AM_READ(SMH_RAM) - AM_RANGE(0xff8000, 0xffbfff) AM_READ(SMH_RAM) - AM_RANGE(0xffc000, 0xffcfff) AM_READ(sharedram_r) - AM_RANGE(0xffd000, 0xffdfff) AM_READ(SMH_RAM) - AM_RANGE(0xffe000, 0xffefff) AM_READ(SMH_RAM) + AM_RANGE(0xc00000, 0xc3ffff) AM_READWRITE(f1gp_zoomdata_r, f1gp_zoomdata_w) + AM_RANGE(0xd00000, 0xd01fff) AM_READWRITE(f1gp_rozvideoram_r, f1gp_rozvideoram_w) AM_BASE(&f1gp_rozvideoram) + AM_RANGE(0xd02000, 0xd03fff) AM_READWRITE(f1gp_rozvideoram_r, f1gp_rozvideoram_w) AM_BASE(&f1gp_rozvideoram) /* mirror */ + AM_RANGE(0xd04000, 0xd05fff) AM_READWRITE(f1gp_rozvideoram_r, f1gp_rozvideoram_w) AM_BASE(&f1gp_rozvideoram) /* mirror */ + AM_RANGE(0xd06000, 0xd07fff) AM_READWRITE(f1gp_rozvideoram_r, f1gp_rozvideoram_w) AM_BASE(&f1gp_rozvideoram) /* mirror */ + AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&f1gp_spr1cgram) AM_SIZE(&f1gp_spr1cgram_size) // SPR-1 CG RAM + AM_RANGE(0xe04000, 0xe07fff) AM_RAM AM_BASE(&f1gp_spr2cgram) AM_SIZE(&f1gp_spr2cgram_size) // SPR-2 CG RAM + AM_RANGE(0xf00000, 0xf003ff) AM_RAM AM_BASE(&f1gp_spr1vram) // SPR-1 VRAM + AM_RANGE(0xf10000, 0xf103ff) AM_RAM AM_BASE(&f1gp_spr2vram) // SPR-2 VRAM + AM_RANGE(0xff8000, 0xffbfff) AM_RAM // WORK RAM-1 + AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(&sharedram) // DUAL RAM + AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_BASE(&f1gp_fgvideoram) // CHARACTER + AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // PALETTE AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") + AM_RANGE(0xfff000, 0xfff001) AM_WRITE(f1gp_gfxctrl_w) // AM_RANGE(0xfff002, 0xfff003) analog wheel? AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1") + AM_RANGE(0xfff002, 0xfff005) AM_WRITE(f1gp_fgscroll_w) AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2") AM_RANGE(0xfff008, 0xfff009) AM_READ(command_pending_r) - AM_RANGE(0xfff050, 0xfff051) AM_READ_PORT("DSW3") -ADDRESS_MAP_END - -static ADDRESS_MAP_START( f1gp_writemem1, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc00000, 0xc3ffff) AM_WRITE(f1gp_zoomdata_w) - AM_RANGE(0xd00000, 0xd01fff) AM_WRITE(f1gp_rozvideoram_w) AM_BASE(&f1gp_rozvideoram) // BACK VRAM - AM_RANGE(0xd02000, 0xd03fff) AM_WRITE(f1gp_rozvideoram_w) /* mirror */ - AM_RANGE(0xd04000, 0xd05fff) AM_WRITE(f1gp_rozvideoram_w) /* mirror */ - AM_RANGE(0xd06000, 0xd07fff) AM_WRITE(f1gp_rozvideoram_w) /* mirror */ - AM_RANGE(0xe00000, 0xe03fff) AM_WRITE(SMH_RAM) AM_BASE(&f1gp_spr1cgram) AM_SIZE(&f1gp_spr1cgram_size) // SPR-1 CG RAM - AM_RANGE(0xe04000, 0xe07fff) AM_WRITE(SMH_RAM) AM_BASE(&f1gp_spr2cgram) AM_SIZE(&f1gp_spr2cgram_size) // SPR-2 CG RAM - AM_RANGE(0xf00000, 0xf003ff) AM_WRITE(SMH_RAM) AM_BASE(&f1gp_spr1vram) // SPR-1 VRAM - AM_RANGE(0xf10000, 0xf103ff) AM_WRITE(SMH_RAM) AM_BASE(&f1gp_spr2vram) // SPR-2 VRAM - AM_RANGE(0xff8000, 0xffbfff) AM_WRITE(SMH_RAM) // WORK RAM-1 - AM_RANGE(0xffc000, 0xffcfff) AM_WRITE(sharedram_w) AM_BASE(&sharedram) // DUAL RAM - AM_RANGE(0xffd000, 0xffdfff) AM_WRITE(f1gp_fgvideoram_w) AM_BASE(&f1gp_fgvideoram) // CHARACTER - AM_RANGE(0xffe000, 0xffefff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // PALETTE - AM_RANGE(0xfff000, 0xfff001) AM_WRITE(f1gp_gfxctrl_w) - AM_RANGE(0xfff002, 0xfff005) AM_WRITE(f1gp_fgscroll_w) AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w) AM_RANGE(0xfff040, 0xfff05f) AM_WRITE(SMH_RAM) AM_BASE(&K053936_0_ctrl) + AM_RANGE(0xfff050, 0xfff051) AM_READ_PORT("DSW3") ADDRESS_MAP_END -static ADDRESS_MAP_START( f1gp2_readmem1, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM) +static ADDRESS_MAP_START( f1gp2_cpu1_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x100000, 0x2fffff) AM_READ(extrarom_r) - AM_RANGE(0xa00000, 0xa07fff) AM_READ(SMH_RAM) - AM_RANGE(0xd00000, 0xd01fff) AM_READ(f1gp_rozvideoram_r) - AM_RANGE(0xe00000, 0xe00fff) AM_READ(SMH_RAM) - AM_RANGE(0xff8000, 0xffbfff) AM_READ(SMH_RAM) - AM_RANGE(0xffc000, 0xffcfff) AM_READ(sharedram_r) - AM_RANGE(0xffd000, 0xffdfff) AM_READ(SMH_RAM) - AM_RANGE(0xffe000, 0xffefff) AM_READ(SMH_RAM) - AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") + AM_RANGE(0xa00000, 0xa07fff) AM_RAM AM_BASE(&f1gp2_sprcgram) // SPR-1 CG RAM + SPR-2 CG RAM + AM_RANGE(0xd00000, 0xd01fff) AM_READWRITE(f1gp_rozvideoram_r, f1gp_rozvideoram_w) AM_BASE(&f1gp_rozvideoram) // BACK VRAM + AM_RANGE(0xe00000, 0xe00fff) AM_RAM AM_BASE(&f1gp2_spritelist) // not checked + SPR-1 VRAM + SPR-2 VRAM + AM_RANGE(0xff8000, 0xffbfff) AM_RAM // WORK RAM-1 + AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(&sharedram) // DUAL RAM + AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_BASE(&f1gp_fgvideoram) // CHARACTER + AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // PALETTE + AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") AM_WRITE(f1gp2_gfxctrl_w) // AM_RANGE(0xfff002, 0xfff003) analog wheel? AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1") AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2") - AM_RANGE(0xfff008, 0xfff009) AM_READ(command_pending_r) + AM_RANGE(0xfff008, 0xfff009) AM_READWRITE(command_pending_r, sound_command_w) AM_RANGE(0xfff00a, 0xfff00b) AM_READ_PORT("DSW3") -ADDRESS_MAP_END - -static ADDRESS_MAP_START( f1gp2_writemem1, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM) - AM_RANGE(0xa00000, 0xa07fff) AM_WRITE(SMH_RAM) AM_BASE(&f1gp2_sprcgram) // SPR-1 CG RAM + SPR-2 CG RAM - AM_RANGE(0xd00000, 0xd01fff) AM_WRITE(f1gp_rozvideoram_w) AM_BASE(&f1gp_rozvideoram) // BACK VRAM - AM_RANGE(0xe00000, 0xe00fff) AM_WRITE(SMH_RAM) AM_BASE(&f1gp2_spritelist) // not checked + SPR-1 VRAM + SPR-2 VRAM - AM_RANGE(0xff8000, 0xffbfff) AM_WRITE(SMH_RAM) // WORK RAM-1 - AM_RANGE(0xffc000, 0xffcfff) AM_WRITE(sharedram_w) AM_BASE(&sharedram) // DUAL RAM - AM_RANGE(0xffd000, 0xffdfff) AM_WRITE(f1gp_fgvideoram_w) AM_BASE(&f1gp_fgvideoram) // CHARACTER - AM_RANGE(0xffe000, 0xffefff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // PALETTE - AM_RANGE(0xfff000, 0xfff001) AM_WRITE(f1gp2_gfxctrl_w) - AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w) AM_RANGE(0xfff020, 0xfff02f) AM_WRITE(SMH_RAM) AM_BASE(&K053936_0_ctrl) AM_RANGE(0xfff044, 0xfff047) AM_WRITE(f1gp_fgscroll_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( readmem2, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x01ffff) AM_READ(SMH_ROM) - AM_RANGE(0xff8000, 0xffbfff) AM_READ(SMH_RAM) - AM_RANGE(0xffc000, 0xffcfff) AM_READ(sharedram_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem2, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x01ffff) AM_WRITE(SMH_ROM) - AM_RANGE(0xff8000, 0xffbfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xffc000, 0xffcfff) AM_WRITE(sharedram_w) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_readmem, 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)) +static ADDRESS_MAP_START( f1gp_cpu2_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x01ffff) AM_ROM + AM_RANGE(0xff8000, 0xffbfff) AM_RAM + AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_writemem, 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( 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( sound_io_map, ADDRESS_SPACE_IO, 8 ) @@ -471,15 +429,15 @@ static MACHINE_DRIVER_START( f1gp ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu",M68000,XTAL_20MHz/2) /* verified on pcb */ - MDRV_CPU_PROGRAM_MAP(f1gp_readmem1,f1gp_writemem1) + MDRV_CPU_PROGRAM_MAP(f1gp_cpu1_map,0) MDRV_CPU_VBLANK_INT("screen", irq1_line_hold) MDRV_CPU_ADD("sub", M68000,XTAL_20MHz/2) /* verified on pcb */ - MDRV_CPU_PROGRAM_MAP(readmem2,writemem2) + MDRV_CPU_PROGRAM_MAP(f1gp_cpu2_map,0) MDRV_CPU_VBLANK_INT("screen", irq1_line_hold) MDRV_CPU_ADD("audiocpu", Z80,XTAL_20MHz/4) /* verified on pcb */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) MDRV_CPU_IO_MAP(sound_io_map,0) MDRV_QUANTUM_TIME(HZ(6000)) /* 100 CPU slices per frame */ @@ -551,7 +509,7 @@ static MACHINE_DRIVER_START( f1gp2 ) /* basic machine hardware */ MDRV_IMPORT_FROM(f1gp) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(f1gp2_readmem1,f1gp2_writemem1) + MDRV_CPU_PROGRAM_MAP(f1gp2_cpu1_map,0) /* video hardware */ MDRV_GFXDECODE(f1gp2) diff --git a/src/mame/drivers/fastlane.c b/src/mame/drivers/fastlane.c index f3df545f76a..740ec7a061d 100644 --- a/src/mame/drivers/fastlane.c +++ b/src/mame/drivers/fastlane.c @@ -80,36 +80,26 @@ static WRITE8_DEVICE_HANDLER( fastlane_k007232_w ) -static ADDRESS_MAP_START( fastlane_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x005f) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( fastlane_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x005f) AM_RAM_WRITE(k007121_registers_w) AM_BASE(&fastlane_k007121_regs) /* 007121 registers */ AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW3") AM_RANGE(0x0801, 0x0801) AM_READ_PORT("P2") AM_RANGE(0x0802, 0x0802) AM_READ_PORT("P1") AM_RANGE(0x0803, 0x0803) AM_READ_PORT("SYSTEM") AM_RANGE(0x0900, 0x0900) AM_READ_PORT("DSW1") AM_RANGE(0x0901, 0x0901) AM_READ_PORT("DSW2") - AM_RANGE(0x0d00, 0x0d0d) AM_DEVREAD("konami1", fastlane_k007232_r)/* 007232 registers (chip 1) */ - AM_RANGE(0x0e00, 0x0e0d) AM_DEVREAD("konami2", fastlane_k007232_r)/* 007232 registers (chip 2) */ - AM_RANGE(0x0f00, 0x0f1f) AM_READ(K051733_r) /* 051733 (protection) */ - AM_RANGE(0x1000, 0x1fff) AM_READ(SMH_RAM) /* Palette RAM/Work RAM */ - AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_RAM) /* Video RAM + Sprite RAM */ - AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK(1)) /* banked ROM */ - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) /* ROM */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( fastlane_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x005f) AM_WRITE(k007121_registers_w) AM_BASE(&fastlane_k007121_regs)/* 007121 registers */ - AM_RANGE(0x0b00, 0x0b00) AM_WRITE(watchdog_reset_w) /* watchdog reset */ - AM_RANGE(0x0c00, 0x0c00) AM_WRITE(fastlane_bankswitch_w) /* bankswitch control */ - AM_RANGE(0x0d00, 0x0d0d) AM_DEVWRITE("konami1", fastlane_k007232_w) /* 007232 registers (chip 1) */ - AM_RANGE(0x0e00, 0x0e0d) AM_DEVWRITE("konami2", fastlane_k007232_w) /* 007232 registers (chip 2) */ - AM_RANGE(0x0f00, 0x0f1f) AM_WRITE(K051733_w) /* 051733 (protection) */ - AM_RANGE(0x1000, 0x17ff) AM_WRITE(SMH_RAM) AM_BASE(&paletteram)/* palette RAM */ - AM_RANGE(0x1800, 0x1fff) AM_WRITE(SMH_RAM) /* Work RAM */ - AM_RANGE(0x2000, 0x27ff) AM_WRITE(fastlane_vram1_w) AM_BASE(&fastlane_videoram1) - AM_RANGE(0x2800, 0x2fff) AM_WRITE(fastlane_vram2_w) AM_BASE(&fastlane_videoram2) - AM_RANGE(0x3000, 0x3fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) /* Sprite RAM */ - AM_RANGE(0x4000, 0xffff) AM_WRITE(SMH_ROM) /* ROM/banked ROM */ + AM_RANGE(0x0b00, 0x0b00) AM_WRITE(watchdog_reset_w) /* watchdog reset */ + AM_RANGE(0x0c00, 0x0c00) AM_WRITE(fastlane_bankswitch_w) /* bankswitch control */ + AM_RANGE(0x0d00, 0x0d0d) AM_DEVREADWRITE("konami1", fastlane_k007232_r, fastlane_k007232_w) /* 007232 registers (chip 1) */ + AM_RANGE(0x0e00, 0x0e0d) AM_DEVREADWRITE("konami2", fastlane_k007232_r, fastlane_k007232_w) /* 007232 registers (chip 2) */ + AM_RANGE(0x0f00, 0x0f1f) AM_READWRITE(K051733_r, K051733_w) /* 051733 (protection) */ + AM_RANGE(0x1000, 0x17ff) AM_RAM AM_BASE(&paletteram) /* Palette RAM */ + AM_RANGE(0x1800, 0x1fff) AM_RAM /* Work RAM */ + AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(fastlane_vram1_w) AM_BASE(&fastlane_videoram1) /* Video RAM (chip 1) */ + AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(fastlane_vram2_w) AM_BASE(&fastlane_videoram2) /* Video RAM (chip 2) */ + AM_RANGE(0x3000, 0x3fff) AM_RAM AM_BASE(&spriteram) /* Sprite RAM */ + AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1) /* banked ROM */ + AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */ ADDRESS_MAP_END /*************************************************************************** @@ -217,7 +207,7 @@ static MACHINE_DRIVER_START( fastlane ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", HD6309, 3000000*4) /* 24MHz/8? */ - MDRV_CPU_PROGRAM_MAP(fastlane_readmem,fastlane_writemem) + MDRV_CPU_PROGRAM_MAP(fastlane_map,0) MDRV_CPU_VBLANK_INT_HACK(fastlane_interrupt,16) /* 1 IRQ + ??? NMI (generated by the 007121) */ /* video hardware */ diff --git a/src/mame/drivers/firetrap.c b/src/mame/drivers/firetrap.c index ddd532ecd6f..ba788e08182 100644 --- a/src/mame/drivers/firetrap.c +++ b/src/mame/drivers/firetrap.c @@ -244,25 +244,14 @@ static WRITE8_HANDLER( flip_screen_w ) } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(1)) - AM_RANGE(0xc000, 0xe97f) AM_READ(SMH_RAM) - 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_RANGE(0xf016, 0xf016) AM_READ(firetrap_8751_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xcfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xd000, 0xd7ff) AM_WRITE(firetrap_bg1videoram_w) AM_BASE(&firetrap_bg1videoram) - AM_RANGE(0xd800, 0xdfff) AM_WRITE(firetrap_bg2videoram_w) AM_BASE(&firetrap_bg2videoram) - AM_RANGE(0xe000, 0xe7ff) AM_WRITE(firetrap_fgvideoram_w) AM_BASE(&firetrap_fgvideoram) - AM_RANGE(0xe800, 0xe97f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) +static ADDRESS_MAP_START( firetrap_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1) + AM_RANGE(0xc000, 0xcfff) AM_RAM + AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(firetrap_bg1videoram_w) AM_BASE(&firetrap_bg1videoram) + AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(firetrap_bg2videoram_w) AM_BASE(&firetrap_bg2videoram) + AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(firetrap_fgvideoram_w) AM_BASE(&firetrap_fgvideoram) + AM_RANGE(0xe800, 0xe97f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* IRQ acknowledge */ AM_RANGE(0xf001, 0xf001) AM_WRITE(firetrap_sound_command_w) AM_RANGE(0xf002, 0xf002) AM_WRITE(firetrap_bankselect_w) @@ -273,28 +262,22 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) 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) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( readmem_bootleg, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(1)) - AM_RANGE(0xc000, 0xe97f) AM_READ(SMH_RAM) 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_RANGE(0xf016, 0xf016) AM_READ(firetrap_8751_bootleg_r) - AM_RANGE(0xf800, 0xf8ff) AM_READ(SMH_ROM) /* extra ROM in the bootleg with unprotection code */ + AM_RANGE(0xf016, 0xf016) AM_READ(firetrap_8751_r) ADDRESS_MAP_END -static ADDRESS_MAP_START( writemem_bootleg, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xcfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xd000, 0xd7ff) AM_WRITE(firetrap_bg1videoram_w) AM_BASE(&firetrap_bg1videoram) - AM_RANGE(0xd800, 0xdfff) AM_WRITE(firetrap_bg2videoram_w) AM_BASE(&firetrap_bg2videoram) - AM_RANGE(0xe000, 0xe7ff) AM_WRITE(firetrap_fgvideoram_w) AM_BASE(&firetrap_fgvideoram) - AM_RANGE(0xe800, 0xe97f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) +static ADDRESS_MAP_START( firetrap_bootleg_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1) + AM_RANGE(0xc000, 0xcfff) AM_RAM + AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(firetrap_bg1videoram_w) AM_BASE(&firetrap_bg1videoram) + AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(firetrap_bg2videoram_w) AM_BASE(&firetrap_bg2videoram) + AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(firetrap_fgvideoram_w) AM_BASE(&firetrap_fgvideoram) + AM_RANGE(0xe800, 0xe97f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* IRQ acknowledge */ AM_RANGE(0xf001, 0xf001) AM_WRITE(firetrap_sound_command_w) AM_RANGE(0xf002, 0xf002) AM_WRITE(firetrap_bankselect_w) @@ -305,23 +288,24 @@ static ADDRESS_MAP_START( writemem_bootleg, ADDRESS_SPACE_PROGRAM, 8 ) 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(0xf800, 0xf8ff) AM_WRITE(SMH_ROM) /* extra ROM in the bootleg with unprotection code */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x07ff) AM_READ(SMH_RAM) - AM_RANGE(0x3400, 0x3400) AM_READ(soundlatch_r) - AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK(2)) - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) + 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_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 -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x07ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x07ff) AM_RAM AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym", ym3526_w) AM_RANGE(0x2000, 0x2000) AM_WRITE(firetrap_adpcm_data_w) /* ADPCM data for the MSM5205 chip */ AM_RANGE(0x2400, 0x2400) AM_WRITE(firetrap_sound_2400_w) AM_RANGE(0x2800, 0x2800) AM_WRITE(firetrap_sound_bankselect_w) - AM_RANGE(0x4000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x3400, 0x3400) AM_READ(soundlatch_r) + AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(2) + AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -577,11 +561,11 @@ static MACHINE_DRIVER_START( firetrap ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80, 6000000) /* 6 MHz */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(firetrap_map,0) MDRV_CPU_VBLANK_INT_HACK(firetrap,2) MDRV_CPU_ADD("audiocpu", M6502,3072000/2) /* 1.536 MHz? */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) /* IRQs are caused by the ADPCM chip */ /* NMIs are caused by the main CPU */ MDRV_MACHINE_RESET(firetrap) @@ -616,11 +600,11 @@ static MACHINE_DRIVER_START( firetpbl ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80, 6000000) /* 6 MHz */ - MDRV_CPU_PROGRAM_MAP(readmem_bootleg,writemem_bootleg) + MDRV_CPU_PROGRAM_MAP(firetrap_bootleg_map,0) MDRV_CPU_VBLANK_INT("screen", bootleg) MDRV_CPU_ADD("audiocpu", M6502,3072000/2) /* 1.536 MHz? */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) /* IRQs are caused by the ADPCM chip */ /* NMIs are caused by the main CPU */ diff --git a/src/mame/drivers/flkatck.c b/src/mame/drivers/flkatck.c index d22e50abe09..aabe5a3e1cc 100644 --- a/src/mame/drivers/flkatck.c +++ b/src/mame/drivers/flkatck.c @@ -106,46 +106,27 @@ static WRITE8_HANDLER( multiply_w ) } -static ADDRESS_MAP_START( flkatck_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_READ(SMH_RAM) - AM_RANGE(0x0400, 0x041f) AM_READ(flkatck_ls138_r) /* inputs + DIPS */ - AM_RANGE(0x0800, 0x0bff) AM_READ(SMH_RAM) /* palette */ - AM_RANGE(0x1000, 0x1fff) AM_READ(SMH_RAM) /* RAM */ - AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_RAM) /* Video RAM (007121) */ - AM_RANGE(0x4000, 0x5fff) AM_READ(SMH_BANK(1)) /* banked ROM */ - AM_RANGE(0x6000, 0xffff) AM_READ(SMH_ROM) /* ROM */ +static ADDRESS_MAP_START( flkatck_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x0007) AM_RAM_WRITE(flkatck_k007121_regs_w) /* 007121 registers */ + AM_RANGE(0x0008, 0x03ff) AM_RAM /* RAM */ + AM_RANGE(0x0400, 0x041f) AM_READWRITE(flkatck_ls138_r, flkatck_ls138_w) /* inputs, DIPS, bankswitch, counters, sound command */ + AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE(&paletteram) /* palette */ + AM_RANGE(0x1000, 0x1fff) AM_RAM /* RAM */ + AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(flkatck_k007121_w) AM_BASE(&k007121_ram) /* Video RAM (007121) */ + AM_RANGE(0x4000, 0x5fff) AM_ROMBANK(1) /* banked ROM */ + AM_RANGE(0x6000, 0xffff) AM_ROM /* ROM */ ADDRESS_MAP_END -static ADDRESS_MAP_START( flkatck_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0007) AM_WRITE(flkatck_k007121_regs_w) /* 007121 registers */ - AM_RANGE(0x0000, 0x03ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x0400, 0x041f) AM_WRITE(flkatck_ls138_w) /* bankswitch + counters + sound command */ - AM_RANGE(0x0800, 0x0bff) AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE(&paletteram)/* palette */ - AM_RANGE(0x1000, 0x1fff) AM_WRITE(SMH_RAM) /* RAM */ - AM_RANGE(0x2000, 0x3fff) AM_WRITE(flkatck_k007121_w) AM_BASE(&k007121_ram) /* Video RAM (007121) */ - AM_RANGE(0x4000, 0x5fff) AM_WRITE(SMH_BANK(1)) /* banked ROM */ - AM_RANGE(0x6000, 0xffff) AM_WRITE(SMH_ROM) /* ROM */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( flkatck_readmem_sound, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) /* ROM */ - AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) /* RAM */ - AM_RANGE(0x9000, 0x9000) AM_READ(multiply_r) /* ??? */ -// AM_RANGE(0x9001, 0x9001) AM_READ(SMH_RAM) /* ??? */ - AM_RANGE(0x9004, 0x9004) AM_READ(SMH_RAM) /* ??? */ - AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) /* soundlatch_r */ - AM_RANGE(0xb000, 0xb00d) AM_DEVREAD("konami", k007232_r) /* 007232 registers */ - AM_RANGE(0xc000, 0xc001) AM_DEVREAD("ym", ym2151_r) /* YM2151 */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( flkatck_writemem_sound, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) /* ROM */ - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) /* RAM */ - AM_RANGE(0x9000, 0x9001) AM_WRITE(multiply_w) /* ??? */ -// AM_RANGE(0x9001, 0x9001) AM_WRITE(SMH_RAM) /* ??? */ - AM_RANGE(0x9006, 0x9006) AM_WRITE(SMH_RAM) /* ??? */ - AM_RANGE(0xb000, 0xb00d) AM_DEVWRITE("konami", k007232_w) /* 007232 registers */ - AM_RANGE(0xc000, 0xc001) AM_DEVWRITE("ym", ym2151_w) /* YM2151 */ +static ADDRESS_MAP_START( flkatck_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM */ + AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */ + AM_RANGE(0x9000, 0x9000) AM_READWRITE(multiply_r, multiply_w) /* ??? */ +// AM_RANGE(0x9001, 0x9001) AM_RAM /* ??? */ + AM_RANGE(0x9004, 0x9004) AM_READNOP /* ??? */ + AM_RANGE(0x9006, 0x9006) AM_WRITENOP /* ??? */ + AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) /* soundlatch_r */ + AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE("konami", k007232_r, k007232_w) /* 007232 registers */ + AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ym", ym2151_r, ym2151_w) /* YM2151 */ ADDRESS_MAP_END @@ -231,11 +212,11 @@ static MACHINE_DRIVER_START( flkatck ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", HD6309,3000000*4) /* HD63C09EP, 24/8 MHz */ - MDRV_CPU_PROGRAM_MAP(flkatck_readmem,flkatck_writemem) + MDRV_CPU_PROGRAM_MAP(flkatck_map,0) MDRV_CPU_VBLANK_INT("screen", flkatck_interrupt) MDRV_CPU_ADD("audiocpu", Z80,3579545) /* NEC D780C-1, 3.579545 MHz */ - MDRV_CPU_PROGRAM_MAP(flkatck_readmem_sound,flkatck_writemem_sound) + MDRV_CPU_PROGRAM_MAP(flkatck_sound_map,0) MDRV_QUANTUM_TIME(HZ(600)) diff --git a/src/mame/drivers/flstory.c b/src/mame/drivers/flstory.c index 82576b7422f..1280739ebdf 100644 --- a/src/mame/drivers/flstory.c +++ b/src/mame/drivers/flstory.c @@ -722,7 +722,7 @@ static MACHINE_DRIVER_START( onna34ro ) MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,2) /* IRQ generated by ??? */ /* NMI generated by the main CPU */ // MDRV_CPU_ADD("mcu", M68705,4000000) /* ??? */ -// MDRV_CPU_PROGRAM_MAP(m68705_readmem,m68705_writemem) +// MDRV_CPU_PROGRAM_MAP(m68705_map,0) MDRV_QUANTUM_TIME(HZ(6000)) /* 100 CPU slices per frame - an high value to ensure proper */ /* synchronization of the CPUs */ @@ -779,7 +779,7 @@ static MACHINE_DRIVER_START( victnine ) MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,2) /* IRQ generated by ??? */ /* NMI generated by the main CPU */ // MDRV_CPU_ADD("mcu", M68705,4000000) /* ??? */ -// MDRV_CPU_PROGRAM_MAP(m68705_readmem,m68705_writemem) +// MDRV_CPU_PROGRAM_MAP(m68705_map,0) MDRV_QUANTUM_TIME(HZ(6000)) /* 100 CPU slices per frame - an high value to ensure proper */ /* synchronization of the CPUs */ diff --git a/src/mame/drivers/freekick.c b/src/mame/drivers/freekick.c index ec1abc18f49..9d37f84fdb9 100644 --- a/src/mame/drivers/freekick.c +++ b/src/mame/drivers/freekick.c @@ -178,53 +178,37 @@ static WRITE8_HANDLER (freekick_ff_w) * *************************************/ -static ADDRESS_MAP_START( pbillrd_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(1)) - AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( pbillrd_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1) + AM_RANGE(0xc000, 0xcfff) AM_RAM + AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(freek_videoram_w) AM_BASE(&freek_videoram) + AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) + AM_RANGE(0xd900, 0xdfff) AM_RAM AM_RANGE(0xe000, 0xe000) AM_READ_PORT("IN0") - AM_RANGE(0xe800, 0xe800) AM_READ_PORT("IN1") - AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSW1") - AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSW2") -ADDRESS_MAP_END - -static ADDRESS_MAP_START( pbillrd_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xcfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xd000, 0xd7ff) AM_WRITE(freek_videoram_w) AM_BASE(&freek_videoram) - AM_RANGE(0xd800, 0xd8ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0xd900, 0xdfff) AM_WRITE(SMH_RAM) AM_RANGE(0xe000, 0xe001) AM_WRITE(flipscreen_w) AM_RANGE(0xe002, 0xe003) AM_WRITE(coin_w) AM_RANGE(0xe004, 0xe004) AM_WRITE(nmi_enable_w) - AM_RANGE(0xf000, 0xf000) AM_WRITE(pbillrd_bankswitch_w) + AM_RANGE(0xe800, 0xe800) AM_READ_PORT("IN1") + AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSW1") AM_WRITE(pbillrd_bankswitch_w) + AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSW2") AM_RANGE(0xfc00, 0xfc00) AM_DEVWRITE("sn1", sn76496_w) AM_RANGE(0xfc01, 0xfc01) AM_DEVWRITE("sn2", sn76496_w) AM_RANGE(0xfc02, 0xfc02) AM_DEVWRITE("sn3", sn76496_w) AM_RANGE(0xfc03, 0xfc03) AM_DEVWRITE("sn4", sn76496_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( freekckb_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xcfff) AM_READ(SMH_ROM) - AM_RANGE(0xd000, 0xdfff) AM_READ(SMH_RAM) - AM_RANGE(0xe000, 0xe7ff) AM_READ(SMH_RAM) // tilemap - AM_RANGE(0xe800, 0xe8ff) AM_READ(SMH_RAM) // sprites - AM_RANGE(0xec00, 0xec03) AM_DEVREAD("ppi8255_0", ppi8255_r) - AM_RANGE(0xf000, 0xf003) AM_DEVREAD("ppi8255_1", ppi8255_r) - AM_RANGE(0xf800, 0xf800) AM_READ_PORT("IN0") +static ADDRESS_MAP_START( freekckb_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xcfff) AM_ROM + AM_RANGE(0xd000, 0xdfff) AM_RAM + AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(freek_videoram_w) AM_BASE(&freek_videoram) // tilemap + AM_RANGE(0xe800, 0xe8ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) // sprites + AM_RANGE(0xec00, 0xec03) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) + AM_RANGE(0xf000, 0xf003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) + AM_RANGE(0xf800, 0xf800) AM_READ_PORT("IN0") AM_WRITE(flipscreen_w) AM_RANGE(0xf801, 0xf801) AM_READ_PORT("IN1") AM_RANGE(0xf802, 0xf802) AM_READNOP //MUST return bit 0 = 0, otherwise game resets AM_RANGE(0xf803, 0xf803) AM_READ(spinner_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( freekckb_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xcfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xd000, 0xdfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xe000, 0xe7ff) AM_WRITE(freek_videoram_w) AM_BASE(&freek_videoram) - AM_RANGE(0xe800, 0xe8ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0xec00, 0xec03) AM_DEVWRITE("ppi8255_0", ppi8255_w) - AM_RANGE(0xf000, 0xf003) AM_DEVWRITE("ppi8255_1", ppi8255_w) - AM_RANGE(0xf800, 0xf801) AM_WRITE(flipscreen_w) AM_RANGE(0xf802, 0xf803) AM_WRITE(coin_w) AM_RANGE(0xf804, 0xf804) AM_WRITE(nmi_enable_w) AM_RANGE(0xf806, 0xf806) AM_WRITE(spinner_select_w) @@ -234,27 +218,20 @@ static ADDRESS_MAP_START( freekckb_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xfc03, 0xfc03) AM_DEVWRITE("sn4", sn76496_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( gigas_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_ROM) - AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_RAM) - AM_RANGE(0xe000, 0xe000) AM_READ_PORT("IN0") - AM_RANGE(0xe800, 0xe800) AM_READ_PORT("IN1") - AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSW1") - AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSW2") -ADDRESS_MAP_END - -static ADDRESS_MAP_START( gigas_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xcfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xd000, 0xd7ff) AM_WRITE(freek_videoram_w) AM_BASE(&freek_videoram) - AM_RANGE(0xd800, 0xd8ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0xd900, 0xdfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xe000, 0xe001) AM_WRITENOP// probably not flipscreen +static ADDRESS_MAP_START( gigas_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0xbfff) AM_ROM + AM_RANGE(0xc000, 0xcfff) AM_RAM + AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(freek_videoram_w) AM_BASE(&freek_videoram) + AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) + AM_RANGE(0xd900, 0xdfff) AM_RAM + AM_RANGE(0xe000, 0xe000) AM_READ_PORT("IN0") AM_WRITENOP // probably not flipscreen AM_RANGE(0xe002, 0xe003) AM_WRITE(coin_w) AM_RANGE(0xe004, 0xe004) AM_WRITE(nmi_enable_w) AM_RANGE(0xe005, 0xe005) AM_WRITENOP - AM_RANGE(0xf000, 0xf000) AM_WRITENOP //bankswitch ? + AM_RANGE(0xe800, 0xe800) AM_READ_PORT("IN1") + AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSW1") AM_WRITENOP //bankswitch ? + AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSW2") AM_RANGE(0xfc00, 0xfc00) AM_DEVWRITE("sn1", sn76496_w) AM_RANGE(0xfc01, 0xfc01) AM_DEVWRITE("sn2", sn76496_w) AM_RANGE(0xfc02, 0xfc02) AM_DEVWRITE("sn3", sn76496_w) @@ -290,6 +267,7 @@ ADDRESS_MAP_END static INPUT_PORTS_START( pbillrd ) + PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) @@ -636,7 +614,7 @@ GFXDECODE_END static MACHINE_DRIVER_START( base ) MDRV_CPU_ADD("maincpu",Z80, 18432000/6) //confirmed - MDRV_CPU_PROGRAM_MAP(pbillrd_readmem,pbillrd_writemem) + MDRV_CPU_PROGRAM_MAP(pbillrd_map,0) MDRV_CPU_PERIODIC_INT(irq0_line_hold, 50*3) //?? MDRV_CPU_VBLANK_INT("screen", freekick_irqgen) @@ -682,7 +660,7 @@ static MACHINE_DRIVER_START( freekckb ) MDRV_IMPORT_FROM(base) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(freekckb_readmem,freekckb_writemem) + MDRV_CPU_PROGRAM_MAP(freekckb_map,0) MDRV_CPU_IO_MAP(freekckb_io_map,0) MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] ) @@ -695,7 +673,7 @@ static MACHINE_DRIVER_START( gigas ) MDRV_IMPORT_FROM(base) MDRV_CPU_MODIFY("maincpu") - MDRV_CPU_PROGRAM_MAP(gigas_readmem,gigas_writemem) + MDRV_CPU_PROGRAM_MAP(gigas_map,0) MDRV_CPU_IO_MAP(gigas_io_map,0) MDRV_VIDEO_UPDATE(gigas) diff --git a/src/mame/drivers/fromanc2.c b/src/mame/drivers/fromanc2.c index 4da1572b2a5..a1547ccb76c 100644 --- a/src/mame/drivers/fromanc2.c +++ b/src/mame/drivers/fromanc2.c @@ -259,111 +259,72 @@ static WRITE8_HANDLER( fromanc2_subcpu_rombank_w ) // MAIN Program (fromanc2, fromancr, fromanc4) // ---------------------------------------------------------------------------- -static ADDRESS_MAP_START( fromanc2_readmem_main, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) // MAIN ROM +static ADDRESS_MAP_START( fromanc2_main_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x07ffff) AM_ROM // MAIN ROM - AM_RANGE(0x802000, 0x802fff) AM_READNOP // ??? + AM_RANGE(0x802000, 0x802fff) AM_READNOP // ??? + AM_RANGE(0x800000, 0x803fff) AM_WRITE(fromanc2_videoram_0_w) // VRAM 0, 1 (1P) + AM_RANGE(0x880000, 0x883fff) AM_WRITE(fromanc2_videoram_1_w) // VRAM 2, 3 (1P) + AM_RANGE(0x900000, 0x903fff) AM_WRITE(fromanc2_videoram_2_w) // VRAM 0, 1 (2P) + AM_RANGE(0x980000, 0x983fff) AM_WRITE(fromanc2_videoram_3_w) // VRAM 2, 3 (2P) - AM_RANGE(0xa00000, 0xa00fff) AM_READ(fromanc2_paletteram_0_r)// PALETTE (1P) - AM_RANGE(0xa80000, 0xa80fff) AM_READ(fromanc2_paletteram_1_r)// PALETTE (2P) + AM_RANGE(0xa00000, 0xa00fff) AM_READWRITE(fromanc2_paletteram_0_r, fromanc2_paletteram_0_w) // PALETTE (1P) + AM_RANGE(0xa80000, 0xa80fff) AM_READWRITE(fromanc2_paletteram_1_r, fromanc2_paletteram_1_w) // PALETTE (2P) - AM_RANGE(0xd01100, 0xd01101) AM_READ_PORT("SYSTEM") - AM_RANGE(0xd01300, 0xd01301) AM_READ(fromanc2_subcpu_r ) // SUB CPU READ - AM_RANGE(0xd01800, 0xd01801) AM_READ(fromanc2_keymatrix_r) // INPUT KEY MATRIX - - AM_RANGE(0xd80000, 0xd8ffff) AM_READ(SMH_RAM) // WORK RAM -ADDRESS_MAP_END - -static ADDRESS_MAP_START( fromanc2_writemem_main, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM) // MAIN ROM - - AM_RANGE(0x800000, 0x803fff) AM_WRITE(fromanc2_videoram_0_w) // VRAM 0, 1 (1P) - AM_RANGE(0x880000, 0x883fff) AM_WRITE(fromanc2_videoram_1_w) // VRAM 2, 3 (1P) - AM_RANGE(0x900000, 0x903fff) AM_WRITE(fromanc2_videoram_2_w) // VRAM 0, 1 (2P) - AM_RANGE(0x980000, 0x983fff) AM_WRITE(fromanc2_videoram_3_w) // VRAM 2, 3 (2P) - - AM_RANGE(0xa00000, 0xa00fff) AM_WRITE(fromanc2_paletteram_0_w)// PALETTE (1P) - AM_RANGE(0xa80000, 0xa80fff) AM_WRITE(fromanc2_paletteram_1_w)// PALETTE (2P) - - AM_RANGE(0xd00000, 0xd00023) AM_WRITE(fromanc2_gfxreg_0_w) // SCROLL REG (1P/2P) - AM_RANGE(0xd00100, 0xd00123) AM_WRITE(fromanc2_gfxreg_2_w) // SCROLL REG (1P/2P) - AM_RANGE(0xd00200, 0xd00223) AM_WRITE(fromanc2_gfxreg_1_w) // SCROLL REG (1P/2P) - AM_RANGE(0xd00300, 0xd00323) AM_WRITE(fromanc2_gfxreg_3_w) // SCROLL REG (1P/2P) - - AM_RANGE(0xd00400, 0xd00413) AM_WRITENOP // ??? - AM_RANGE(0xd00500, 0xd00513) AM_WRITENOP // ??? - - AM_RANGE(0xd01000, 0xd01001) AM_WRITE(fromanc2_sndcmd_w) // SOUND REQ (1P/2P) - AM_RANGE(0xd01200, 0xd01201) AM_WRITE(fromanc2_subcpu_w) // SUB CPU WRITE - AM_RANGE(0xd01400, 0xd01401) AM_WRITE(fromanc2_gfxbank_0_w) // GFXBANK (1P) - AM_RANGE(0xd01500, 0xd01501) AM_WRITE(fromanc2_gfxbank_1_w) // GFXBANK (2P) - AM_RANGE(0xd01600, 0xd01601) AM_WRITE(fromanc2_eeprom_w) // EEPROM DATA - AM_RANGE(0xd01a00, 0xd01a01) AM_WRITE(fromanc2_portselect_w) // PORT SELECT (1P/2P) + AM_RANGE(0xd00000, 0xd00023) AM_WRITE(fromanc2_gfxreg_0_w) // SCROLL REG (1P/2P) + AM_RANGE(0xd00100, 0xd00123) AM_WRITE(fromanc2_gfxreg_2_w) // SCROLL REG (1P/2P) + AM_RANGE(0xd00200, 0xd00223) AM_WRITE(fromanc2_gfxreg_1_w) // SCROLL REG (1P/2P) + AM_RANGE(0xd00300, 0xd00323) AM_WRITE(fromanc2_gfxreg_3_w) // SCROLL REG (1P/2P) - AM_RANGE(0xd80000, 0xd8ffff) AM_WRITE(SMH_RAM) // WORK RAM -ADDRESS_MAP_END - -static ADDRESS_MAP_START( fromancr_readmem_main, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) // MAIN ROM - - AM_RANGE(0xa00000, 0xa00fff) AM_READ(fromancr_paletteram_0_r)// PALETTE (1P) - AM_RANGE(0xa80000, 0xa80fff) AM_READ(fromancr_paletteram_1_r)// PALETTE (2P) + AM_RANGE(0xd00400, 0xd00413) AM_WRITENOP // ??? + AM_RANGE(0xd00500, 0xd00513) AM_WRITENOP // ??? + AM_RANGE(0xd01000, 0xd01001) AM_WRITE(fromanc2_sndcmd_w) // SOUND REQ (1P/2P) AM_RANGE(0xd01100, 0xd01101) AM_READ_PORT("SYSTEM") - AM_RANGE(0xd01300, 0xd01301) AM_READ(fromanc2_subcpu_r) // SUB CPU READ - AM_RANGE(0xd01800, 0xd01801) AM_READ(fromanc2_keymatrix_r) // INPUT KEY MATRIX - - AM_RANGE(0xd80000, 0xd8ffff) AM_READ(SMH_RAM) // WORK RAM + AM_RANGE(0xd01200, 0xd01201) AM_WRITE(fromanc2_subcpu_w) // SUB CPU WRITE + AM_RANGE(0xd01300, 0xd01301) AM_READ(fromanc2_subcpu_r ) // SUB CPU READ + AM_RANGE(0xd01400, 0xd01401) AM_WRITE(fromanc2_gfxbank_0_w) // GFXBANK (1P) + AM_RANGE(0xd01500, 0xd01501) AM_WRITE(fromanc2_gfxbank_1_w) // GFXBANK (2P) + AM_RANGE(0xd01600, 0xd01601) AM_WRITE(fromanc2_eeprom_w) // EEPROM DATA + AM_RANGE(0xd01800, 0xd01801) AM_READ(fromanc2_keymatrix_r) // INPUT KEY MATRIX + AM_RANGE(0xd01a00, 0xd01a01) AM_WRITE(fromanc2_portselect_w) // PORT SELECT (1P/2P) + + AM_RANGE(0xd80000, 0xd8ffff) AM_RAM // WORK RAM ADDRESS_MAP_END -static ADDRESS_MAP_START( fromancr_writemem_main, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM) // MAIN ROM - - AM_RANGE(0x800000, 0x803fff) AM_WRITE(fromancr_videoram_0_w) // VRAM BG (1P/2P) - AM_RANGE(0x880000, 0x883fff) AM_WRITE(fromancr_videoram_1_w) // VRAM FG (1P/2P) - AM_RANGE(0x900000, 0x903fff) AM_WRITE(fromancr_videoram_2_w) // VRAM TEXT (1P/2P) - AM_RANGE(0x980000, 0x983fff) AM_WRITENOP // VRAM Unused ? +static ADDRESS_MAP_START( fromancr_main_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x07ffff) AM_ROM // MAIN ROM - AM_RANGE(0xa00000, 0xa00fff) AM_WRITE(fromancr_paletteram_0_w)// PALETTE (1P) - AM_RANGE(0xa80000, 0xa80fff) AM_WRITE(fromancr_paletteram_1_w)// PALETTE (2P) + AM_RANGE(0x800000, 0x803fff) AM_WRITE(fromancr_videoram_0_w) // VRAM BG (1P/2P) + AM_RANGE(0x880000, 0x883fff) AM_WRITE(fromancr_videoram_1_w) // VRAM FG (1P/2P) + AM_RANGE(0x900000, 0x903fff) AM_WRITE(fromancr_videoram_2_w) // VRAM TEXT (1P/2P) + AM_RANGE(0x980000, 0x983fff) AM_WRITENOP // VRAM Unused ? - AM_RANGE(0xd00000, 0xd00023) AM_WRITE(fromancr_gfxreg_1_w) // SCROLL REG (1P/2P) - AM_RANGE(0xd00100, 0xd00123) AM_WRITE(fromancr_gfxreg_0_w) // SCROLL REG (1P/2P) + AM_RANGE(0xa00000, 0xa00fff) AM_READWRITE(fromancr_paletteram_0_r, fromancr_paletteram_0_w) // PALETTE (1P) + AM_RANGE(0xa80000, 0xa80fff) AM_READWRITE(fromancr_paletteram_1_r, fromancr_paletteram_0_w) // PALETTE (2P) - AM_RANGE(0xd00200, 0xd002ff) AM_WRITENOP // ? - - AM_RANGE(0xd00400, 0xd00413) AM_WRITENOP // ??? - AM_RANGE(0xd00500, 0xd00513) AM_WRITENOP // ??? - - AM_RANGE(0xd01000, 0xd01001) AM_WRITE(fromanc2_sndcmd_w) // SOUND REQ (1P/2P) - AM_RANGE(0xd01200, 0xd01201) AM_WRITE(fromanc2_subcpu_w) // SUB CPU WRITE - AM_RANGE(0xd01400, 0xd01401) AM_WRITENOP // COIN COUNTER ? - AM_RANGE(0xd01600, 0xd01601) AM_WRITE(fromancr_eeprom_w) // EEPROM DATA, GFXBANK (1P/2P) - AM_RANGE(0xd01a00, 0xd01a01) AM_WRITE(fromanc2_portselect_w) // PORT SELECT (1P/2P) - - AM_RANGE(0xd80000, 0xd8ffff) AM_WRITE(SMH_RAM) // WORK RAM -ADDRESS_MAP_END - -static ADDRESS_MAP_START( fromanc4_readmem_main, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) // MAIN ROM - AM_RANGE(0x400000, 0x7fffff) AM_READ(SMH_ROM) // DATA ROM - - AM_RANGE(0x800000, 0x81ffff) AM_READ(SMH_RAM) // WORK RAM - - AM_RANGE(0xdb0000, 0xdb0fff) AM_READ(fromanc4_paletteram_0_r)// PALETTE (1P) - AM_RANGE(0xdc0000, 0xdc0fff) AM_READ(fromanc4_paletteram_1_r)// PALETTE (2P) - - AM_RANGE(0xd10000, 0xd10001) AM_READ(fromanc2_keymatrix_r) // INPUT KEY MATRIX - AM_RANGE(0xd20000, 0xd20001) AM_READ_PORT("SYSTEM") - - AM_RANGE(0xe5000c, 0xe5000d) AM_READNOP // EXT-COMM PORT ? + AM_RANGE(0xd00000, 0xd00023) AM_WRITE(fromancr_gfxreg_1_w) // SCROLL REG (1P/2P) + AM_RANGE(0xd00200, 0xd002ff) AM_WRITENOP // ? + AM_RANGE(0xd00400, 0xd00413) AM_WRITENOP // ??? + AM_RANGE(0xd00500, 0xd00513) AM_WRITENOP // ??? + AM_RANGE(0xd01000, 0xd01001) AM_WRITE(fromanc2_sndcmd_w) // SOUND REQ (1P/2P) + AM_RANGE(0xd00100, 0xd00123) AM_WRITE(fromancr_gfxreg_0_w) // SCROLL REG (1P/2P) + AM_RANGE(0xd01100, 0xd01101) AM_READ_PORT("SYSTEM") + AM_RANGE(0xd01200, 0xd01201) AM_WRITE(fromanc2_subcpu_w) // SUB CPU WRITE + AM_RANGE(0xd01300, 0xd01301) AM_READ(fromanc2_subcpu_r) // SUB CPU READ + AM_RANGE(0xd01400, 0xd01401) AM_WRITENOP // COIN COUNTER ? + AM_RANGE(0xd01600, 0xd01601) AM_WRITE(fromancr_eeprom_w) // EEPROM DATA, GFXBANK (1P/2P) + AM_RANGE(0xd01800, 0xd01801) AM_READ(fromanc2_keymatrix_r) // INPUT KEY MATRIX + AM_RANGE(0xd01a00, 0xd01a01) AM_WRITE(fromanc2_portselect_w) // PORT SELECT (1P/2P) + + AM_RANGE(0xd80000, 0xd8ffff) AM_RAM // WORK RAM ADDRESS_MAP_END -static ADDRESS_MAP_START( fromanc4_writemem_main, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM) // MAIN ROM - AM_RANGE(0x400000, 0x7fffff) AM_WRITE(SMH_ROM) // DATA ROM +static ADDRESS_MAP_START( fromanc4_main_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x07ffff) AM_ROM // MAIN ROM + AM_RANGE(0x400000, 0x7fffff) AM_ROM // DATA ROM - AM_RANGE(0x800000, 0x81ffff) AM_WRITE(SMH_RAM) // WORK RAM + AM_RANGE(0x800000, 0x81ffff) AM_RAM // WORK RAM AM_RANGE(0xd00000, 0xd00001) AM_WRITE(fromanc2_portselect_w) // PORT SELECT (1P/2P) @@ -377,8 +338,11 @@ static ADDRESS_MAP_START( fromanc4_writemem_main, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xd90000, 0xd9ffff) AM_WRITE(fromanc4_videoram_1_w) // VRAM BG (1P/2P) AM_RANGE(0xda0000, 0xdaffff) AM_WRITE(fromanc4_videoram_2_w) // VRAM TEXT (1P/2P) - AM_RANGE(0xdb0000, 0xdb0fff) AM_WRITE(fromanc4_paletteram_0_w)// PALETTE (1P) - AM_RANGE(0xdc0000, 0xdc0fff) AM_WRITE(fromanc4_paletteram_1_w)// PALETTE (2P) + AM_RANGE(0xdb0000, 0xdb0fff) AM_READWRITE(fromanc4_paletteram_0_r, fromanc4_paletteram_0_w) // PALETTE (1P) + AM_RANGE(0xdc0000, 0xdc0fff) AM_READWRITE(fromanc4_paletteram_1_r, fromanc4_paletteram_0_w) // PALETTE (2P) + + AM_RANGE(0xd10000, 0xd10001) AM_READ(fromanc2_keymatrix_r) // INPUT KEY MATRIX + AM_RANGE(0xd20000, 0xd20001) AM_READ_PORT("SYSTEM") AM_RANGE(0xe00000, 0xe0001d) AM_WRITE(fromanc4_gfxreg_0_w) // SCROLL, GFXBANK (1P/2P) AM_RANGE(0xe10000, 0xe1001d) AM_WRITE(fromanc4_gfxreg_1_w) // SCROLL, GFXBANK (1P/2P) @@ -388,6 +352,7 @@ static ADDRESS_MAP_START( fromanc4_writemem_main, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xe40000, 0xe40013) AM_WRITENOP // ??? AM_RANGE(0xe50000, 0xe50009) AM_WRITENOP // EXT-COMM PORT ? + AM_RANGE(0xe5000c, 0xe5000d) AM_READNOP // EXT-COMM PORT ? ADDRESS_MAP_END @@ -395,18 +360,11 @@ ADDRESS_MAP_END // Z80 SUB Program (fromanc2, fromancr) // ---------------------------------------------------------------------------- -static ADDRESS_MAP_START( fromanc2_readmem_sub, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) // ROM - AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK(1)) // ROM(BANK) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_RAM) // RAM(WORK) - AM_RANGE(0xc000, 0xffff) AM_READ(SMH_BANK(2)) // RAM(BANK) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( fromanc2_writemem_sub, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) // ROM - AM_RANGE(0x4000, 0x7fff) AM_WRITE(SMH_BANK(1)) // ROM(BANK) - AM_RANGE(0x8000, 0xbfff) AM_WRITE(SMH_RAM) // RAM(WORK) - AM_RANGE(0xc000, 0xffff) AM_WRITE(SMH_BANK(2)) // RAM(BANK) +static ADDRESS_MAP_START( fromanc2_sub_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM + AM_RANGE(0x4000, 0x7fff) AM_RAMBANK(1) // ROM(BANK) (is this comment correct? It was in the split address maps in a RAM configuration... + AM_RANGE(0x8000, 0xbfff) AM_RAM // RAM(WORK) + AM_RANGE(0xc000, 0xffff) AM_RAMBANK(2) // RAM(BANK) ADDRESS_MAP_END static ADDRESS_MAP_START( fromanc2_sub_io_map, ADDRESS_SPACE_IO, 8 ) @@ -422,14 +380,9 @@ ADDRESS_MAP_END // Z80 Sound Program (fromanc2, fromancr, fromanc4) // ---------------------------------------------------------------------------- -static ADDRESS_MAP_START( fromanc2_readmem_sound, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xdfff) AM_READ(SMH_ROM) - AM_RANGE(0xe000, 0xffff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( fromanc2_writemem_sound, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xdfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( fromanc2_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xdfff) AM_ROM + AM_RANGE(0xe000, 0xffff) AM_RAM ADDRESS_MAP_END static ADDRESS_MAP_START( fromanc2_sound_io_map, ADDRESS_SPACE_IO, 8 ) @@ -616,15 +569,15 @@ static MACHINE_DRIVER_START( fromanc2 ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000,32000000/2) /* 16.00 MHz */ - MDRV_CPU_PROGRAM_MAP(fromanc2_readmem_main,fromanc2_writemem_main) + MDRV_CPU_PROGRAM_MAP(fromanc2_main_map,0) MDRV_CPU_VBLANK_INT("lscreen", fromanc2_interrupt) MDRV_CPU_ADD("audiocpu", Z80,32000000/4) /* 8.00 MHz */ - MDRV_CPU_PROGRAM_MAP(fromanc2_readmem_sound,fromanc2_writemem_sound) + MDRV_CPU_PROGRAM_MAP(fromanc2_sound_map,0) MDRV_CPU_IO_MAP(fromanc2_sound_io_map,0) MDRV_CPU_ADD("sub", Z80,32000000/4) /* 8.00 MHz */ - MDRV_CPU_PROGRAM_MAP(fromanc2_readmem_sub,fromanc2_writemem_sub) + MDRV_CPU_PROGRAM_MAP(fromanc2_sub_map,0) MDRV_CPU_IO_MAP(fromanc2_sub_io_map,0) @@ -668,15 +621,15 @@ static MACHINE_DRIVER_START( fromancr ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000,32000000/2) /* 16.00 MHz */ - MDRV_CPU_PROGRAM_MAP(fromancr_readmem_main,fromancr_writemem_main) + MDRV_CPU_PROGRAM_MAP(fromancr_main_map,0) MDRV_CPU_VBLANK_INT("lscreen", fromanc2_interrupt) MDRV_CPU_ADD("audiocpu", Z80,32000000/4) /* 8.00 MHz */ - MDRV_CPU_PROGRAM_MAP(fromanc2_readmem_sound,fromanc2_writemem_sound) + MDRV_CPU_PROGRAM_MAP(fromanc2_sound_map,0) MDRV_CPU_IO_MAP(fromanc2_sound_io_map,0) MDRV_CPU_ADD("sub", Z80,32000000/4) /* 8.00 MHz */ - MDRV_CPU_PROGRAM_MAP(fromanc2_readmem_sub,fromanc2_writemem_sub) + MDRV_CPU_PROGRAM_MAP(fromanc2_sub_map,0) MDRV_CPU_IO_MAP(fromanc2_sub_io_map,0) MDRV_MACHINE_RESET(fromancr) @@ -719,11 +672,11 @@ static MACHINE_DRIVER_START( fromanc4 ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000,32000000/2) /* 16.00 MHz */ - MDRV_CPU_PROGRAM_MAP(fromanc4_readmem_main,fromanc4_writemem_main) + MDRV_CPU_PROGRAM_MAP(fromanc4_main_map,0) MDRV_CPU_VBLANK_INT("lscreen", fromanc2_interrupt) MDRV_CPU_ADD("audiocpu", Z80,32000000/4) /* 8.00 MHz */ - MDRV_CPU_PROGRAM_MAP(fromanc2_readmem_sound,fromanc2_writemem_sound) + MDRV_CPU_PROGRAM_MAP(fromanc2_sound_map,0) MDRV_CPU_IO_MAP(fromanc2_sound_io_map,0) MDRV_MACHINE_RESET(fromanc4) diff --git a/src/mame/drivers/fromance.c b/src/mame/drivers/fromance.c index 0f04932dd3b..e86398ec209 100644 --- a/src/mame/drivers/fromance.c +++ b/src/mame/drivers/fromance.c @@ -236,47 +236,29 @@ static WRITE8_HANDLER( fromance_coinctr_w ) * *************************************/ -static ADDRESS_MAP_START( nekkyoku_readmem_main, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM) - AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_RAM) - AM_RANGE(0xf000, 0xf000) AM_READ_PORT("SERVICE") - AM_RANGE(0xf001, 0xf001) AM_READ(fromance_keymatrix_r) - AM_RANGE(0xf002, 0xf002) AM_READ_PORT("COIN") - AM_RANGE(0xf003, 0xf003) AM_READ(fromance_busycheck_main_r) +static ADDRESS_MAP_START( nekkyoku_main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xbfff) AM_ROM + AM_RANGE(0xc000, 0xdfff) AM_RAM + AM_RANGE(0xf000, 0xf000) AM_READ_PORT("SERVICE") AM_WRITE(fromance_portselect_w) + AM_RANGE(0xf001, 0xf001) AM_READ(fromance_keymatrix_r) AM_WRITENOP + AM_RANGE(0xf002, 0xf002) AM_READ_PORT("COIN") AM_WRITE(fromance_coinctr_w) + AM_RANGE(0xf003, 0xf003) AM_READWRITE(fromance_busycheck_main_r, fromance_commanddata_w) AM_RANGE(0xf004, 0xf004) AM_READ_PORT("DSW2") AM_RANGE(0xf005, 0xf005) AM_READ_PORT("DSW1") ADDRESS_MAP_END -static ADDRESS_MAP_START( nekkyoku_writemem_main, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xdfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xf000, 0xf000) AM_WRITE(fromance_portselect_w) - AM_RANGE(0xf001, 0xf001) AM_WRITENOP - AM_RANGE(0xf002, 0xf002) AM_WRITE(fromance_coinctr_w) - AM_RANGE(0xf003, 0xf003) AM_WRITE(fromance_commanddata_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( fromance_readmem_main, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( fromance_main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0xc000, 0xdfff) AM_RAM AM_RANGE(0x9e89, 0x9e89) AM_READNOP // unknown (idolmj) - AM_RANGE(0xe000, 0xe000) AM_READ_PORT("SERVICE") + AM_RANGE(0xe000, 0xe000) AM_READ_PORT("SERVICE") AM_WRITE(fromance_portselect_w) AM_RANGE(0xe001, 0xe001) AM_READ(fromance_keymatrix_r) - AM_RANGE(0xe002, 0xe002) AM_READ_PORT("COIN") - AM_RANGE(0xe003, 0xe003) AM_READ(fromance_busycheck_main_r) + AM_RANGE(0xe002, 0xe002) AM_READ_PORT("COIN") AM_WRITE(fromance_coinctr_w) + AM_RANGE(0xe003, 0xe003) AM_READWRITE(fromance_busycheck_main_r, fromance_commanddata_w) AM_RANGE(0xe004, 0xe004) AM_READ_PORT("DSW2") AM_RANGE(0xe005, 0xe005) AM_READ_PORT("DSW1") ADDRESS_MAP_END -static ADDRESS_MAP_START( fromance_writemem_main, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xdfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xe000, 0xe000) AM_WRITE(fromance_portselect_w) - AM_RANGE(0xe002, 0xe002) AM_WRITE(fromance_coinctr_w) - AM_RANGE(0xe003, 0xe003) AM_WRITE(fromance_commanddata_w) -ADDRESS_MAP_END - /************************************* @@ -285,37 +267,20 @@ ADDRESS_MAP_END * *************************************/ -static ADDRESS_MAP_START( nekkyoku_readmem_sub, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(1)) - AM_RANGE(0xc000, 0xefff) AM_READ(fromance_videoram_r) - AM_RANGE(0xf000, 0xf7ff) AM_READ(SMH_RAM) - AM_RANGE(0xf800, 0xffff) AM_READ(fromance_paletteram_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( nekkyoku_writemem_sub, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xefff) AM_WRITE(fromance_videoram_w) - AM_RANGE(0xf000, 0xf7ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xf800, 0xffff) AM_WRITE(fromance_paletteram_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( fromance_readmem_sub, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(1)) - AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM) - AM_RANGE(0xc800, 0xcfff) AM_READ(fromance_paletteram_r) - AM_RANGE(0xd000, 0xffff) AM_READ(fromance_videoram_r) +static ADDRESS_MAP_START( nekkyoku_sub_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1) + AM_RANGE(0xc000, 0xefff) AM_READWRITE(fromance_videoram_r, fromance_videoram_w) + AM_RANGE(0xf000, 0xf7ff) AM_RAM + AM_RANGE(0xf800, 0xffff) AM_READWRITE(fromance_paletteram_r, fromance_paletteram_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( fromance_writemem_sub, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xc800, 0xcfff) AM_WRITE(fromance_paletteram_w) - AM_RANGE(0xd000, 0xffff) AM_WRITE(fromance_videoram_w) +static ADDRESS_MAP_START( fromance_sub_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1) + AM_RANGE(0xc000, 0xc7ff) AM_RAM + AM_RANGE(0xc800, 0xcfff) AM_READWRITE(fromance_paletteram_r, fromance_paletteram_w) + AM_RANGE(0xd000, 0xffff) AM_READWRITE(fromance_videoram_r, fromance_videoram_w) ADDRESS_MAP_END @@ -1012,11 +977,11 @@ static MACHINE_DRIVER_START( nekkyoku ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80,12000000/2) /* 6.00 Mhz ? */ - MDRV_CPU_PROGRAM_MAP(nekkyoku_readmem_main,nekkyoku_writemem_main) + MDRV_CPU_PROGRAM_MAP(nekkyoku_main_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_ADD("sub", Z80,12000000/2) /* 6.00 Mhz ? */ - MDRV_CPU_PROGRAM_MAP(nekkyoku_readmem_sub,nekkyoku_writemem_sub) + MDRV_CPU_PROGRAM_MAP(nekkyoku_sub_map,0) MDRV_CPU_IO_MAP(nekkyoku_sub_io_map,0) MDRV_MACHINE_RESET(fromance) @@ -1050,11 +1015,11 @@ static MACHINE_DRIVER_START( idolmj ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80,12000000/2) /* 6.00 Mhz ? */ - MDRV_CPU_PROGRAM_MAP(fromance_readmem_main,fromance_writemem_main) + MDRV_CPU_PROGRAM_MAP(fromance_main_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_ADD("sub", Z80,12000000/2) /* 6.00 Mhz ? */ - MDRV_CPU_PROGRAM_MAP(fromance_readmem_sub,fromance_writemem_sub) + MDRV_CPU_PROGRAM_MAP(fromance_sub_map,0) MDRV_CPU_IO_MAP(idolmj_sub_io_map,0) MDRV_MACHINE_RESET(fromance) @@ -1088,11 +1053,11 @@ static MACHINE_DRIVER_START( fromance ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80,12000000/2) /* 6.00 Mhz ? */ - MDRV_CPU_PROGRAM_MAP(fromance_readmem_main,fromance_writemem_main) + MDRV_CPU_PROGRAM_MAP(fromance_main_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_ADD("sub", Z80,12000000/2) /* 6.00 Mhz ? */ - MDRV_CPU_PROGRAM_MAP(fromance_readmem_sub,fromance_writemem_sub) + MDRV_CPU_PROGRAM_MAP(fromance_sub_map,0) MDRV_CPU_IO_MAP(fromance_sub_io_map,0) MDRV_MACHINE_RESET(fromance) diff --git a/src/mame/drivers/funkybee.c b/src/mame/drivers/funkybee.c index e3c620873c1..2a621000beb 100644 --- a/src/mame/drivers/funkybee.c +++ b/src/mame/drivers/funkybee.c @@ -98,26 +98,19 @@ static WRITE8_HANDLER( funkybee_coin_counter_w ) coin_counter_w(offset,data); } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x4fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) - AM_RANGE(0xa000, 0xdfff) AM_READ(SMH_RAM) - AM_RANGE(0xf000, 0xf000) AM_READNOP /* IRQ Ack */ - AM_RANGE(0xf800, 0xf800) AM_READ(funkybee_input_port_0_r) - AM_RANGE(0xf801, 0xf801) AM_READ_PORT("IN1") - AM_RANGE(0xf802, 0xf802) AM_READ_PORT("IN2") -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x4fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa000, 0xbfff) AM_WRITE(funkybee_videoram_w) AM_BASE(&videoram) - AM_RANGE(0xc000, 0xdfff) AM_WRITE(funkybee_colorram_w) AM_BASE(&colorram) +static ADDRESS_MAP_START( funkybee_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x4fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0xa000, 0xbfff) AM_RAM_WRITE(funkybee_videoram_w) AM_BASE(&videoram) + AM_RANGE(0xc000, 0xdfff) AM_RAM_WRITE(funkybee_colorram_w) AM_BASE(&colorram) AM_RANGE(0xe000, 0xe000) AM_WRITE(funkybee_scroll_w) AM_RANGE(0xe800, 0xe800) AM_WRITE(funkybee_flipscreen_w) AM_RANGE(0xe802, 0xe803) AM_WRITE(funkybee_coin_counter_w) AM_RANGE(0xe805, 0xe805) AM_WRITE(funkybee_gfx_bank_w) - AM_RANGE(0xf800, 0xf800) AM_WRITE(watchdog_reset_w) + AM_RANGE(0xf000, 0xf000) AM_READNOP /* IRQ Ack */ + AM_RANGE(0xf800, 0xf800) AM_READWRITE(funkybee_input_port_0_r, watchdog_reset_w) + AM_RANGE(0xf801, 0xf801) AM_READ_PORT("IN1") + AM_RANGE(0xf802, 0xf802) AM_READ_PORT("IN2") ADDRESS_MAP_END static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 ) @@ -299,7 +292,7 @@ static MACHINE_DRIVER_START( funkybee ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80, 3072000) /* 3.072 MHz */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(funkybee_map,0) MDRV_CPU_IO_MAP(io_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) diff --git a/src/mame/drivers/funkyjet.c b/src/mame/drivers/funkyjet.c index 4431464dea9..09733a9fc6a 100644 --- a/src/mame/drivers/funkyjet.c +++ b/src/mame/drivers/funkyjet.c @@ -102,53 +102,32 @@ VIDEO_UPDATE( funkyjet ); /******************************************************************************/ -static ADDRESS_MAP_START( funkyjet_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) - AM_RANGE(0x120000, 0x1207ff) AM_READ(SMH_RAM) - AM_RANGE(0x140000, 0x143fff) AM_READ(SMH_RAM) - AM_RANGE(0x160000, 0x1607ff) AM_READ(SMH_RAM) - AM_RANGE(0x180000, 0x1807ff) AM_READ(deco16_146_funkyjet_prot_r) - AM_RANGE(0x320000, 0x321fff) AM_READ(SMH_RAM) - AM_RANGE(0x322000, 0x323fff) AM_READ(SMH_RAM) - AM_RANGE(0x340000, 0x340bff) AM_READ(SMH_RAM) - AM_RANGE(0x342000, 0x342bff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( funkyjet_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM) - AM_RANGE(0x120000, 0x1207ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16) - AM_RANGE(0x140000, 0x143fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x160000, 0x1607ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) - AM_RANGE(0x180000, 0x1807ff) AM_WRITE(deco16_146_funkyjet_prot_w) AM_BASE(&deco16_prot_ram) +static ADDRESS_MAP_START( funkyjet_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x07ffff) AM_ROM + AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16) + AM_RANGE(0x140000, 0x143fff) AM_RAM + AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE(&spriteram16) + AM_RANGE(0x180000, 0x1807ff) AM_READWRITE(deco16_146_funkyjet_prot_r, deco16_146_funkyjet_prot_w) AM_BASE(&deco16_prot_ram) AM_RANGE(0x184000, 0x184001) AM_WRITENOP AM_RANGE(0x188000, 0x188001) AM_WRITENOP AM_RANGE(0x300000, 0x30000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control) - AM_RANGE(0x320000, 0x321fff) AM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data) - AM_RANGE(0x322000, 0x323fff) AM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data) - AM_RANGE(0x340000, 0x340bff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf1_rowscroll) - AM_RANGE(0x342000, 0x342bff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf2_rowscroll) + AM_RANGE(0x320000, 0x321fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data) + AM_RANGE(0x322000, 0x323fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data) + AM_RANGE(0x340000, 0x340bff) AM_RAM AM_BASE(&deco16_pf1_rowscroll) + AM_RANGE(0x342000, 0x342bff) AM_RAM AM_BASE(&deco16_pf2_rowscroll) ADDRESS_MAP_END /******************************************************************************/ /* Physical memory map (21 bits) */ -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x000000, 0x00ffff) AM_READ(SMH_ROM) - AM_RANGE(0x100000, 0x100001) AM_READNOP - AM_RANGE(0x110000, 0x110001) AM_DEVREAD("ym", ym2151_r) - AM_RANGE(0x120000, 0x120001) AM_DEVREAD("oki", okim6295_r) - AM_RANGE(0x130000, 0x130001) AM_READNOP /* This board only has 1 oki chip */ +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x000000, 0x00ffff) AM_ROM + AM_RANGE(0x100000, 0x100001) AM_NOP /* YM2203 - this board doesn't have one */ + AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym", ym2151_r, ym2151_w) + AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w) + AM_RANGE(0x130000, 0x130001) AM_NOP /* This board only has 1 oki chip */ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r) - AM_RANGE(0x1f0000, 0x1f1fff) AM_READ(SMH_BANK(8)) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x000000, 0x00ffff) AM_WRITE(SMH_ROM) - AM_RANGE(0x100000, 0x100001) AM_WRITENOP /* YM2203 - this board doesn't have one */ - AM_RANGE(0x110000, 0x110001) AM_DEVWRITE("ym", ym2151_w) - AM_RANGE(0x120000, 0x120001) AM_DEVWRITE("oki", okim6295_w) - AM_RANGE(0x130000, 0x130001) AM_WRITENOP - AM_RANGE(0x1f0000, 0x1f1fff) AM_WRITE(SMH_BANK(8)) + AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK(8) AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w) AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE(h6280_irq_status_w) ADDRESS_MAP_END @@ -312,11 +291,11 @@ static MACHINE_DRIVER_START( funkyjet ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000, 14000000) /* 28 MHz crystal */ - MDRV_CPU_PROGRAM_MAP(funkyjet_readmem,funkyjet_writemem) + MDRV_CPU_PROGRAM_MAP(funkyjet_map,0) MDRV_CPU_VBLANK_INT("screen", irq6_line_hold) MDRV_CPU_ADD("audiocpu", H6280,32220000/4) /* Custom chip 45, Audio section crystal is 32.220 MHz */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/funybubl.c b/src/mame/drivers/funybubl.c index 268258c6830..fca87e8f2e8 100644 --- a/src/mame/drivers/funybubl.c +++ b/src/mame/drivers/funybubl.c @@ -90,21 +90,12 @@ static WRITE8_DEVICE_HANDLER( funybubl_oki_bank_sw ) } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(2)) // banked port 1? - AM_RANGE(0xc400, 0xc7ff) AM_READ(SMH_RAM) - AM_RANGE(0xc800, 0xcfff) AM_READ(SMH_RAM) - AM_RANGE(0xd000, 0xdfff) AM_READ(SMH_BANK(1)) // banked port 0? - AM_RANGE(0xe000, 0xffff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc400, 0xcfff) AM_WRITE(funybubl_paldatawrite) AM_BASE(&funybubl_paletteram) // palette - AM_RANGE(0xd000, 0xdfff) AM_WRITE(SMH_BANK(1)) // banked port 0? - AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( funybubl_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(2) // banked port 1? + AM_RANGE(0xc400, 0xcfff) AM_RAM_WRITE(funybubl_paldatawrite) AM_BASE(&funybubl_paletteram) // palette + AM_RANGE(0xd000, 0xdfff) AM_RAMBANK(1) // banked port 0? + AM_RANGE(0xe000, 0xffff) AM_RAM ADDRESS_MAP_END static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 ) @@ -120,18 +111,12 @@ ADDRESS_MAP_END /* Sound CPU */ -static ADDRESS_MAP_START( soundreadmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) - AM_RANGE(0x9800, 0x9800) AM_DEVREAD("oki", okim6295_r) - AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( soundwritemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("oki", funybubl_oki_bank_sw) - AM_RANGE(0x9800, 0x9800) AM_DEVWRITE("oki", okim6295_w) + AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w) + AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) ADDRESS_MAP_END @@ -238,12 +223,12 @@ static DRIVER_INIT( funybubl ) static MACHINE_DRIVER_START( funybubl ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80,12000000/2) /* 6 MHz?? */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(funybubl_map,0) MDRV_CPU_IO_MAP(io_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz?? */ - MDRV_CPU_PROGRAM_MAP(soundreadmem,soundwritemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c index 94b851f3336..ea6174bfae7 100644 --- a/src/mame/drivers/fuukifg2.c +++ b/src/mame/drivers/fuukifg2.c @@ -90,34 +90,22 @@ static WRITE16_HANDLER( fuuki16_sound_command_w ) } } -static ADDRESS_MAP_START( fuuki16_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM - AM_RANGE(0x400000, 0x40ffff) AM_READ(SMH_RAM ) // RAM - AM_RANGE(0x500000, 0x507fff) AM_READ(SMH_RAM ) // Layers - AM_RANGE(0x600000, 0x601fff) AM_MIRROR(0x008000) AM_READ(SMH_RAM ) // Sprites, mirrored? - AM_RANGE(0x700000, 0x703fff) AM_READ(SMH_RAM ) // Palette +static ADDRESS_MAP_START( fuuki16_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x400000, 0x40ffff) AM_RAM // RAM + AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(fuuki16_vram_0_w) AM_BASE(&fuuki16_vram_0) // Layers + AM_RANGE(0x502000, 0x503fff) AM_RAM_WRITE(fuuki16_vram_1_w) AM_BASE(&fuuki16_vram_1) // + AM_RANGE(0x504000, 0x505fff) AM_RAM_WRITE(fuuki16_vram_2_w) AM_BASE(&fuuki16_vram_2) // + AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE(fuuki16_vram_3_w) AM_BASE(&fuuki16_vram_3) // + AM_RANGE(0x600000, 0x601fff) AM_MIRROR(0x008000) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites, mirrored? + AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette AM_RANGE(0x800000, 0x800001) AM_READ_PORT("SYSTEM") AM_RANGE(0x810000, 0x810001) AM_READ_PORT("P1_P2") AM_RANGE(0x880000, 0x880001) AM_READ_PORT("DSW") - AM_RANGE(0x8c0000, 0x8c001f) AM_READ(SMH_RAM ) // Video Registers -/**/AM_RANGE(0x8d0000, 0x8d0003) AM_READ(SMH_RAM ) // -/**/AM_RANGE(0x8e0000, 0x8e0001) AM_READ(SMH_RAM ) // -ADDRESS_MAP_END - -static ADDRESS_MAP_START( fuuki16_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM ) // ROM - AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SMH_RAM ) // RAM - AM_RANGE(0x500000, 0x501fff) AM_WRITE(fuuki16_vram_0_w) AM_BASE(&fuuki16_vram_0 ) // Layers - AM_RANGE(0x502000, 0x503fff) AM_WRITE(fuuki16_vram_1_w) AM_BASE(&fuuki16_vram_1 ) // - AM_RANGE(0x504000, 0x505fff) AM_WRITE(fuuki16_vram_2_w) AM_BASE(&fuuki16_vram_2 ) // - AM_RANGE(0x506000, 0x507fff) AM_WRITE(fuuki16_vram_3_w) AM_BASE(&fuuki16_vram_3 ) // - AM_RANGE(0x506000, 0x507fff) AM_WRITE(SMH_RAM ) // - AM_RANGE(0x600000, 0x601fff) AM_MIRROR(0x008000) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites, mirrored? - AM_RANGE(0x700000, 0x703fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16 ) // Palette - AM_RANGE(0x8c0000, 0x8c001f) AM_WRITE(fuuki16_vregs_w) AM_BASE(&fuuki16_vregs ) // Video Registers - AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE(fuuki16_sound_command_w ) // To Sound CPU - AM_RANGE(0x8d0000, 0x8d0003) AM_WRITE(SMH_RAM) AM_BASE(&fuuki16_unknown ) // - AM_RANGE(0x8e0000, 0x8e0001) AM_WRITE(SMH_RAM) AM_BASE(&fuuki16_priority ) // + AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE(fuuki16_sound_command_w) // To Sound CPU + AM_RANGE(0x8c0000, 0x8c001f) AM_RAM_WRITE(fuuki16_vregs_w) AM_BASE(&fuuki16_vregs ) // Video Registers +/**/AM_RANGE(0x8d0000, 0x8d0003) AM_RAM AM_BASE(&fuuki16_unknown) // +/**/AM_RANGE(0x8e0000, 0x8e0001) AM_RAM AM_BASE(&fuuki16_priority) // ADDRESS_MAP_END @@ -147,16 +135,10 @@ static WRITE8_DEVICE_HANDLER( fuuki16_oki_banking_w ) okim6295_set_bank_base(device, ((data & 6) >> 1) * 0x40000); } -static ADDRESS_MAP_START( fuuki16_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM ) // ROM - AM_RANGE(0x6000, 0x7fff) AM_READ(SMH_RAM ) // RAM - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_BANK(1) ) // Banked ROM -ADDRESS_MAP_END - -static ADDRESS_MAP_START( fuuki16_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_WRITE(SMH_ROM ) // ROM - AM_RANGE(0x6000, 0x7fff) AM_WRITE(SMH_RAM ) // RAM - AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM ) // Banked ROM +static ADDRESS_MAP_START( fuuki16_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM + AM_RANGE(0x6000, 0x7fff) AM_RAM // RAM + AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1) // Banked ROM ADDRESS_MAP_END static ADDRESS_MAP_START( fuuki16_sound_io_map, ADDRESS_SPACE_IO, 8 ) @@ -469,10 +451,10 @@ static MACHINE_DRIVER_START( fuuki16 ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000, 16000000) - MDRV_CPU_PROGRAM_MAP(fuuki16_readmem,fuuki16_writemem) + MDRV_CPU_PROGRAM_MAP(fuuki16_map,0) MDRV_CPU_ADD("audiocpu", Z80, 3000000) /* ? */ - MDRV_CPU_PROGRAM_MAP(fuuki16_sound_readmem,fuuki16_sound_writemem) + MDRV_CPU_PROGRAM_MAP(fuuki16_sound_map,0) MDRV_CPU_IO_MAP(fuuki16_sound_io_map,0) MDRV_MACHINE_START(fuuki16) diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c index 446c2c6b056..e9bc56d83da 100644 --- a/src/mame/drivers/fuukifg3.c +++ b/src/mame/drivers/fuukifg3.c @@ -255,56 +255,34 @@ static WRITE32_HANDLER( fuuki32_vregs_w ) // Lines with empty comment are for debug only -static ADDRESS_MAP_START( fuuki32_readmem, ADDRESS_SPACE_PROGRAM, 32 ) - AM_RANGE(0x000000, 0x1fffff) AM_READ(SMH_ROM) - AM_RANGE(0x400000, 0x40ffff) AM_READ(SMH_RAM) // Work RAM - AM_RANGE(0x410000, 0x41ffff) AM_READ(SMH_RAM) // Work RAM (used by asurabus) - AM_RANGE(0x500000, 0x501fff) AM_READ(SMH_RAM) // Tilemap 1 - AM_RANGE(0x502000, 0x503fff) AM_READ(SMH_RAM) // Tilemap 2 - AM_RANGE(0x504000, 0x505fff) AM_READ(SMH_RAM) // Tilemap bg - AM_RANGE(0x506000, 0x507fff) AM_READ(SMH_RAM) // Tilemap bg2 - AM_RANGE(0x508000, 0x517fff) AM_READ(SMH_RAM) // More tilemap, or linescroll? Seems to be empty all of the time - AM_RANGE(0x600000, 0x601fff) AM_READ(SMH_RAM) // Sprites - - AM_RANGE(0x700000, 0x703fff) AM_READ(SMH_RAM) // Palette - - AM_RANGE(0x800000, 0x800003) AM_READ_PORT("800000") // Coin - AM_RANGE(0x810000, 0x810003) AM_READ_PORT("810000") // Player Inputs - AM_RANGE(0x880000, 0x880003) AM_READ_PORT("880000") // Service + DIPS - AM_RANGE(0x890000, 0x890003) AM_READ_PORT("890000") // More DIPS - - AM_RANGE(0x8c0000, 0x8c001f) AM_READ(SMH_RAM)// Video Registers - -/**/AM_RANGE(0x8d0000, 0x8d0003) AM_READ(SMH_RAM) // Flipscreen Related -/**/AM_RANGE(0x8e0000, 0x8e0003) AM_READ(SMH_RAM) // Controls layer order - - AM_RANGE(0x903fe0, 0x903fff) AM_READ(snd_020_r) // Shared with Z80 -// AM_RANGE(0x903fe0, 0x903fe3) AM_READ(fuuki32_sound_command_r) // Shared with Z80 -// AM_RANGE(0x903fe4, 0x903fff) AM_READ(SMH_RAM) // ?? -ADDRESS_MAP_END +static ADDRESS_MAP_START( fuuki32_map, ADDRESS_SPACE_PROGRAM, 32 ) + AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM + + AM_RANGE(0x400000, 0x40ffff) AM_RAM // Work RAM + AM_RANGE(0x410000, 0x41ffff) AM_RAM // Work RAM (used by asurabus) -static ADDRESS_MAP_START( fuuki32_writemem, ADDRESS_SPACE_PROGRAM, 32 ) - AM_RANGE(0x000000, 0x1fffff) AM_WRITE(SMH_ROM) - AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SMH_RAM) // Work RAM - AM_RANGE(0x410000, 0x41ffff) AM_WRITE(SMH_RAM) // Work RAM - AM_RANGE(0x500000, 0x501fff) AM_WRITE(fuuki32_vram_0_w) AM_BASE(&fuuki32_vram_0) // Tilemap 1 - AM_RANGE(0x502000, 0x503fff) AM_WRITE(fuuki32_vram_1_w) AM_BASE(&fuuki32_vram_1) // Tilemap 2 - AM_RANGE(0x504000, 0x505fff) AM_WRITE(fuuki32_vram_2_w) AM_BASE(&fuuki32_vram_2) // Tilemap bg - AM_RANGE(0x506000, 0x507fff) AM_WRITE(fuuki32_vram_3_w) AM_BASE(&fuuki32_vram_3) // Tilemap bg2 - AM_RANGE(0x508000, 0x517fff) AM_WRITE(SMH_RAM) // More tilemap, or linescroll? Seems to be empty all of the time + AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(fuuki32_vram_0_w) AM_BASE(&fuuki32_vram_0) // Tilemap 1 + AM_RANGE(0x502000, 0x503fff) AM_RAM_WRITE(fuuki32_vram_1_w) AM_BASE(&fuuki32_vram_1) // Tilemap 2 + AM_RANGE(0x504000, 0x505fff) AM_RAM_WRITE(fuuki32_vram_2_w) AM_BASE(&fuuki32_vram_2) // Tilemap bg + AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE(fuuki32_vram_3_w) AM_BASE(&fuuki32_vram_3) // Tilemap bg2 + AM_RANGE(0x508000, 0x517fff) AM_RAM // More tilemap, or linescroll? Seems to be empty all of the time - AM_RANGE(0x600000, 0x601fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram32) AM_SIZE(&spriteram_size ) // Sprites - AM_RANGE(0x700000, 0x703fff) AM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE(&paletteram32) // Palette + AM_RANGE(0x600000, 0x601fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) // Sprites + AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE(&paletteram32) // Palette - AM_RANGE(0x800000, 0x800003) AM_WRITENOP // Clear buffered inputs - AM_RANGE(0x810000, 0x810003) AM_WRITENOP // Clear buffered inputs + AM_RANGE(0x800000, 0x800003) AM_READ_PORT("800000") AM_WRITENOP // Coin + AM_RANGE(0x810000, 0x810003) AM_READ_PORT("810000") AM_WRITENOP // Player Inputs + AM_RANGE(0x880000, 0x880003) AM_READ_PORT("880000") // Service + DIPS + AM_RANGE(0x890000, 0x890003) AM_READ_PORT("890000") // More DIPS - AM_RANGE(0x8c0000, 0x8c001f) AM_WRITE(fuuki32_vregs_w) AM_BASE(&fuuki32_vregs) // Video Registers + AM_RANGE(0x8c0000, 0x8c001f) AM_RAM_WRITE(fuuki32_vregs_w) AM_BASE(&fuuki32_vregs) // Video Registers - AM_RANGE(0x8d0000, 0x8d0003) AM_WRITE(SMH_RAM) // Flipscreen Related - AM_RANGE(0x8e0000, 0x8e0003) AM_WRITE(SMH_RAM) AM_BASE(&fuuki32_priority) // Controls layer order + AM_RANGE(0x8d0000, 0x8d0003) AM_RAM // Flipscreen Related +/**/AM_RANGE(0x8e0000, 0x8e0003) AM_RAM AM_BASE(&fuuki32_priority) // Controls layer order - AM_RANGE(0x903fe0, 0x903fff) AM_WRITE(snd_020_w) // z80 comms + AM_RANGE(0x903fe0, 0x903fff) AM_READWRITE(snd_020_r, snd_020_w) // Shared with Z80 +// AM_RANGE(0x903fe0, 0x903fe3) AM_READ(fuuki32_sound_command_r) // Shared with Z80 +// AM_RANGE(0x903fe4, 0x903fff) AM_READ(SMH_RAM) // ?? AM_RANGE(0xa00000, 0xa00003) AM_WRITE(SMH_RAM) AM_BASE(&fuuki32_tilebank) ADDRESS_MAP_END @@ -334,18 +312,11 @@ static WRITE8_HANDLER( snd_z80_w ) fuuki32_shared_ram[offset] = data; } -static ADDRESS_MAP_START( fuuki32_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM ) // ROM - AM_RANGE(0x6000, 0x6fff) AM_READ(SMH_RAM ) // RAM - AM_RANGE(0x7ff0, 0x7fff) AM_READ(snd_z80_r) - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_BANK(1) ) // ROM -ADDRESS_MAP_END - -static ADDRESS_MAP_START( fuuki32_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x5fff) AM_WRITE(SMH_ROM ) // ROM - AM_RANGE(0x6000, 0x6fff) AM_WRITE(SMH_RAM ) // RAM - AM_RANGE(0x7ff0, 0x7fff) AM_WRITE(snd_z80_w) - AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM ) // ROM +static ADDRESS_MAP_START( fuuki32_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM + AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM + AM_RANGE(0x7ff0, 0x7fff) AM_READWRITE(snd_z80_r, snd_z80_w) + AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1) // ROM ADDRESS_MAP_END static ADDRESS_MAP_START( fuuki32_sound_io_map, ADDRESS_SPACE_IO, 8 ) @@ -591,10 +562,10 @@ static MACHINE_DRIVER_START( fuuki32 ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68EC020, CPU_CLOCK) /* 20MHz verified */ - MDRV_CPU_PROGRAM_MAP(fuuki32_readmem,fuuki32_writemem) + MDRV_CPU_PROGRAM_MAP(fuuki32_map,0) MDRV_CPU_ADD("soundcpu", Z80, SOUND_CPU_CLOCK) /* 6MHz verified */ - MDRV_CPU_PROGRAM_MAP(fuuki32_sound_readmem,fuuki32_sound_writemem) + MDRV_CPU_PROGRAM_MAP(fuuki32_sound_map,0) MDRV_CPU_IO_MAP(fuuki32_sound_io_map,0) MDRV_MACHINE_START(fuuki32) |