diff options
author | 2009-04-25 19:11:25 +0000 | |
---|---|---|
committer | 2009-04-25 19:11:25 +0000 | |
commit | 995bbc219155de90979edb2bf6c026f6761d01d6 (patch) | |
tree | d231f7d2708cf62a2abbcf774d4337754635ba4f /src | |
parent | ef93bcecba8a1244d0454f23ee3ca6d3a0b3a317 (diff) |
Merged memory map in sshangha.c
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/sshangha.c | 63 |
1 files changed, 24 insertions, 39 deletions
diff --git a/src/mame/drivers/sshangha.c b/src/mame/drivers/sshangha.c index 7ed01e99744..342c4ca682b 100644 --- a/src/mame/drivers/sshangha.c +++ b/src/mame/drivers/sshangha.c @@ -149,58 +149,43 @@ static MACHINE_RESET( sshangha ) /******************************************************************************/ -static ADDRESS_MAP_START( sshangha_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM) - +static ADDRESS_MAP_START( sshangha_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x084000, 0x0847ff) AM_READ(sshanghb_protection16_r) - AM_RANGE(0x101000, 0x101001) AM_READ(deco_71_r)//bootleg hack - - AM_RANGE(0x200000, 0x207fff) AM_READ(SMH_RAM) - AM_RANGE(0x340000, 0x340fff) AM_READ(SMH_RAM) - AM_RANGE(0x350000, 0x350001) AM_READ(deco_71_r) - AM_RANGE(0x360000, 0x360fff) AM_READ(SMH_RAM) - AM_RANGE(0x370000, 0x370001) AM_READ(deco_71_r) - AM_RANGE(0x380000, 0x383fff) AM_READ(SMH_RAM) - AM_RANGE(0xfec000, 0xff3fff) AM_READ(SMH_RAM) - AM_RANGE(0xff4000, 0xff47ff) AM_READ(sshangha_protection16_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sshangha_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM) AM_RANGE(0x10000c, 0x10000d) AM_WRITE(sshangha_sound_w) + AM_RANGE(0x101000, 0x101001) AM_READ(deco_71_r)//bootleg hack AM_RANGE(0x10100c, 0x10100d) AM_WRITE(sshangha_sound_w) /* the bootleg writes here */ - AM_RANGE(0x200000, 0x201fff) AM_WRITE(sshangha_pf1_data_w) AM_BASE(&sshangha_pf1_data) - AM_RANGE(0x202000, 0x203fff) AM_WRITE(sshangha_pf2_data_w) AM_BASE(&sshangha_pf2_data) - AM_RANGE(0x204000, 0x2047ff) AM_WRITE(SMH_RAM) AM_BASE(&sshangha_pf1_rowscroll) - AM_RANGE(0x206000, 0x2067ff) AM_WRITE(SMH_RAM) AM_BASE(&sshangha_pf2_rowscroll) + + AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(sshangha_pf1_data_w) AM_BASE(&sshangha_pf1_data) + AM_RANGE(0x202000, 0x203fff) AM_RAM_WRITE(sshangha_pf2_data_w) AM_BASE(&sshangha_pf2_data) + AM_RANGE(0x204000, 0x2047ff) AM_RAM AM_BASE(&sshangha_pf1_rowscroll) + AM_RANGE(0x206000, 0x2067ff) AM_RAM AM_BASE(&sshangha_pf2_rowscroll) + AM_RANGE(0x206800, 0x207fff) AM_RAM AM_RANGE(0x300000, 0x30000f) AM_WRITE(sshangha_control_0_w) AM_RANGE(0x320000, 0x320001) AM_WRITE(sshangha_video_w) AM_RANGE(0x320002, 0x320005) AM_WRITENOP - AM_RANGE(0x340000, 0x340fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) + + AM_RANGE(0x340000, 0x340fff) AM_RAM AM_BASE(&spriteram16) + AM_RANGE(0x350000, 0x350001) AM_READ(deco_71_r) AM_RANGE(0x350000, 0x350007) AM_WRITENOP - AM_RANGE(0x360000, 0x360fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16_2) + AM_RANGE(0x360000, 0x360fff) AM_RAM AM_BASE(&spriteram16_2) + AM_RANGE(0x370000, 0x370001) AM_READ(deco_71_r) AM_RANGE(0x370000, 0x370007) AM_WRITENOP - AM_RANGE(0x380000, 0x383fff) AM_WRITE(sshangha_palette_24bit_w) AM_BASE(&paletteram16) - AM_RANGE(0x3c0000, 0x3c0fff) AM_WRITE(SMH_RAM) /* Sprite ram buffer on bootleg only?? */ - AM_RANGE(0xfec000, 0xff3fff) AM_WRITE(SMH_RAM) - AM_RANGE(0xff4000, 0xff47ff) AM_WRITE(sshangha_protection16_w) AM_BASE(&sshangha_prot_data) + AM_RANGE(0x380000, 0x383fff) AM_RAM_WRITE(sshangha_palette_24bit_w) AM_BASE(&paletteram16) + AM_RANGE(0x3c0000, 0x3c0fff) AM_RAM /* Sprite ram buffer on bootleg only?? */ + AM_RANGE(0xfec000, 0xff3fff) AM_RAM + AM_RANGE(0xff4000, 0xff47ff) AM_READWRITE(sshangha_protection16_r,sshangha_protection16_w) AM_BASE(&sshangha_prot_data) ADDRESS_MAP_END /******************************************************************************/ -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0xc000, 0xc001) AM_DEVREAD("ym", ym2203_r) - AM_RANGE(0xf800, 0xffff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ym", ym2203_r,ym2203_w) + AM_RANGE(0xf800, 0xffff) AM_RAM // AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r) ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xc001) AM_DEVWRITE("ym", ym2203_w) - AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_RAM) -ADDRESS_MAP_END - /******************************************************************************/ static INPUT_PORTS_START( sshangha ) @@ -342,11 +327,11 @@ static MACHINE_DRIVER_START( sshangha ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000, 28000000/2) - MDRV_CPU_PROGRAM_MAP(sshangha_readmem,sshangha_writemem) + MDRV_CPU_PROGRAM_MAP(sshangha_map,0) MDRV_CPU_VBLANK_INT("screen", irq6_line_hold) MDRV_CPU_ADD("audiocpu", Z80, 16000000/4) - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(sound_map,0) MDRV_MACHINE_RESET(sshangha) /* init machine */ |