diff options
author | 2008-04-13 18:02:50 +0000 | |
---|---|---|
committer | 2008-04-13 18:02:50 +0000 | |
commit | 76e7b85e1fdaccec130e2871583eece1836c9610 (patch) | |
tree | ade8de38f9c768f01db0a89c221c23c25069a863 | |
parent | 6d37b87e5deaa7b543db84b8e0ea71d3e0549dfb (diff) |
Finished memory map merge for W drivers.
Some whitespace touch-ups.
-rw-r--r-- | src/emu/drivers/xtal.h | 8 | ||||
-rw-r--r-- | src/mame/drivers/undrfire.c | 59 | ||||
-rw-r--r-- | src/mame/drivers/warpwarp.c | 85 | ||||
-rw-r--r-- | src/mame/drivers/warriorb.c | 122 | ||||
-rw-r--r-- | src/mame/drivers/wc90.c | 90 |
5 files changed, 121 insertions, 243 deletions
diff --git a/src/emu/drivers/xtal.h b/src/emu/drivers/xtal.h index 5d219ec003c..0c2d55b7722 100644 --- a/src/emu/drivers/xtal.h +++ b/src/emu/drivers/xtal.h @@ -111,7 +111,7 @@ enum XTAL_27_164MHz = 27164000, /* Typically used on 90's Taito PCBs to drive the custom chips */ XTAL_28MHz = 28000000, XTAL_28_37516MHz = 28375160, /* Amiga PAL systems */ - XTAL_28_63636MHz = 28636360, /* later Leland games and Atari GT, Amiga NTSC , Raiden2 h/w */ + XTAL_28_63636MHz = 28636360, /* Later Leland games and Atari GT, Amiga NTSC , Raiden2 h/w */ XTAL_30_4761MHz = 30476100, /* Taito JC */ XTAL_32MHz = 32000000, XTAL_32_22MHz = 32220000, /* Typically used on 90's Data East PCBs */ @@ -136,11 +136,11 @@ enum XTAL_60MHz = 60000000, XTAL_61_44MHz = 61440000, /* dkong */ XTAL_64MHz = 64000000, /* BattleToads */ - XTAL_66_6667MHz = 66666700, /* later Midway games */ + XTAL_66_6667MHz = 66666700, /* Later Midway games */ XTAL_67_7376MHz = 67737600, /* PSX-based h/w, Sony ZN1-2-based */ XTAL_73_728MHz = 73728000, /* Ms. Pac-Man/Galaga 20th Anniversary */ - XTAL_100MHz = 100000000, /* PSX-based Namco System 12, Vegas, Sony ZN1-2-based */ - XTAL_101_4912MHz = 101491200, /* PSX-based Namco System 10 */ + XTAL_100MHz = 100000000, /* PSX-based Namco System 12, Vegas, Sony ZN1-2-based */ + XTAL_101_4912MHz = 101491200, /* PSX-based Namco System 10 */ /* Resonators (There are probably more. Almost always used for driving OKI sound chips) */ diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c index b0df874ebe5..5209d3cfebc 100644 --- a/src/mame/drivers/undrfire.c +++ b/src/mame/drivers/undrfire.c @@ -469,45 +469,26 @@ static WRITE32_HANDLER( cbombers_cpua_ctrl_w ) MEMORY STRUCTURES ***********************************************************/ -static ADDRESS_MAP_START( undrfire_readmem, ADDRESS_SPACE_PROGRAM, 32 ) - AM_RANGE(0x000000, 0x1fffff) AM_READ(SMH_ROM) - AM_RANGE(0x200000, 0x21ffff) AM_READ(SMH_RAM) /* main CPUA ram */ - AM_RANGE(0x300000, 0x303fff) AM_READ(SMH_RAM) /* sprite ram */ -// AM_RANGE(0x304000, 0x304003) AM_READ(SMH_RAM) // debugging -// AM_RANGE(0x304400, 0x304403) AM_READ(SMH_RAM) // debugging - AM_RANGE(0x500000, 0x500007) AM_READ(undrfire_input_r) - AM_RANGE(0x600000, 0x600007) AM_READ(unknown_hardware_r) /* unknown byte reads at $156e */ - AM_RANGE(0x700000, 0x7007ff) AM_READ(SMH_RAM) - AM_RANGE(0x800000, 0x80ffff) AM_READ(TC0480SCP_long_r) /* tilemaps */ - AM_RANGE(0x830000, 0x83002f) AM_READ(TC0480SCP_ctrl_long_r) // debugging - AM_RANGE(0x900000, 0x90ffff) AM_READ(TC0100SCN_long_r) /* piv tilemaps */ - AM_RANGE(0x920000, 0x92000f) AM_READ(TC0100SCN_ctrl_long_r) - AM_RANGE(0xa00000, 0xa0ffff) AM_READ(SMH_RAM) /* palette ram */ - AM_RANGE(0xb00000, 0xb003ff) AM_READ(SMH_RAM) // ?? single bytes +static ADDRESS_MAP_START( undrfire_map, ADDRESS_SPACE_PROGRAM, 32 ) + AM_RANGE(0x000000, 0x1fffff) AM_ROM + AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_BASE(&undrfire_ram) + AM_RANGE(0x300000, 0x303fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) +// AM_RANGE(0x304000, 0x304003) AM_RAM // debugging - doesn't change ??? +// AM_RANGE(0x304400, 0x304403) AM_RAM // debugging - doesn't change ??? + AM_RANGE(0x400000, 0x400003) AM_WRITE(motor_control_w) /* gun vibration */ + AM_RANGE(0x500000, 0x500007) AM_READWRITE(undrfire_input_r, undrfire_input_w) /* eerom etc. */ + AM_RANGE(0x600000, 0x600007) AM_READWRITE(unknown_hardware_r, unknown_int_req_w) /* int request for unknown hardware */ + AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_BASE(&f3_shared_ram) + AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0480SCP_long_r, TC0480SCP_long_w) /* tilemaps */ + AM_RANGE(0x830000, 0x83002f) AM_READWRITE(TC0480SCP_ctrl_long_r, TC0480SCP_ctrl_long_w) + AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(TC0100SCN_long_r, TC0100SCN_long_w) /* piv tilemaps */ + AM_RANGE(0x920000, 0x92000f) AM_READWRITE(TC0100SCN_ctrl_long_r, TC0100SCN_ctrl_long_w) + AM_RANGE(0xa00000, 0xa0ffff) AM_RAM AM_WRITE(color_ram_w) AM_BASE(&paletteram32) + AM_RANGE(0xb00000, 0xb003ff) AM_RAM /* single bytes, blending ??? */ + AM_RANGE(0xd00000, 0xd00003) AM_WRITE(rotate_control_w) /* perhaps port based rotate control? */ AM_RANGE(0xf00000, 0xf00007) AM_READ(undrfire_lightgun_r) /* stick coords read at $11b2-bc */ ADDRESS_MAP_END -static ADDRESS_MAP_START( undrfire_writemem, ADDRESS_SPACE_PROGRAM, 32 ) - AM_RANGE(0x000000, 0x1fffff) AM_WRITE(SMH_ROM) - AM_RANGE(0x200000, 0x21ffff) AM_WRITE(SMH_RAM) AM_BASE(&undrfire_ram) - AM_RANGE(0x300000, 0x303fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) -// AM_RANGE(0x304000, 0x304003) AM_WRITE(SMH_RAM) // ??? doesn't change -// AM_RANGE(0x304400, 0x304403) AM_WRITE(SMH_RAM) // ??? doesn't change - AM_RANGE(0x400000, 0x400003) AM_WRITE(motor_control_w) /* gun vibration */ - AM_RANGE(0x500000, 0x500007) AM_WRITE(undrfire_input_w) /* eerom etc. */ - AM_RANGE(0x600000, 0x600007) AM_WRITE(unknown_int_req_w) /* int request for unknown hardware */ - AM_RANGE(0x700000, 0x7007ff) AM_WRITE(SMH_RAM) AM_BASE(&f3_shared_ram) - AM_RANGE(0x800000, 0x80ffff) AM_WRITE(TC0480SCP_long_w) /* tilemaps */ - AM_RANGE(0x830000, 0x83002f) AM_WRITE(TC0480SCP_ctrl_long_w) - AM_RANGE(0x900000, 0x90ffff) AM_WRITE(TC0100SCN_long_w) /* piv tilemaps */ - AM_RANGE(0x920000, 0x92000f) AM_WRITE(TC0100SCN_ctrl_long_w) - AM_RANGE(0xa00000, 0xa0ffff) AM_WRITE(color_ram_w) AM_BASE(&paletteram32) - AM_RANGE(0xb00000, 0xb003ff) AM_WRITE(SMH_RAM) // single bytes, blending ?? - AM_RANGE(0xd00000, 0xd00003) AM_WRITE(rotate_control_w) /* perhaps port based rotate control? */ -ADDRESS_MAP_END - - - static ADDRESS_MAP_START( cbombers_readmem, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x000000, 0x1fffff) AM_READ(SMH_ROM) AM_RANGE(0x200000, 0x21ffff) AM_READ(SMH_RAM) /* main CPUA ram */ @@ -523,8 +504,7 @@ static ADDRESS_MAP_START( cbombers_readmem, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x900000, 0x90ffff) AM_READ(SMH_RAM) AM_RANGE(0xa00000, 0xa0ffff) AM_READ(SMH_RAM) /* Palette ram */ - AM_RANGE(0xe00000, 0xe0ffff) AM_READ(SMH_RAM) /* Shared ram */ - + AM_RANGE(0xe00000, 0xe0ffff) AM_READ(SMH_RAM) /* Shared ram */ ADDRESS_MAP_END static ADDRESS_MAP_START( cbombers_writemem, ADDRESS_SPACE_PROGRAM, 32 ) @@ -551,7 +531,6 @@ static ADDRESS_MAP_START( cbombers_writemem, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0x900000, 0x90ffff) AM_WRITE(SMH_RAM) AM_RANGE(0xa00000, 0xa0ffff) AM_WRITE(color_ram_w) AM_BASE(&paletteram32) AM_RANGE(0xe00000, 0xe0ffff) AM_WRITE(SMH_RAM) AM_BASE(&shared_ram) - ADDRESS_MAP_END static ADDRESS_MAP_START( cbombers_cpub_readmem, ADDRESS_SPACE_PROGRAM, 16 ) @@ -784,7 +763,7 @@ static MACHINE_DRIVER_START( undrfire ) /* basic machine hardware */ MDRV_CPU_ADD(M68EC020, 16000000) /* 16 MHz */ - MDRV_CPU_PROGRAM_MAP(undrfire_readmem,undrfire_writemem) + MDRV_CPU_PROGRAM_MAP(undrfire_map,0) MDRV_CPU_VBLANK_INT("main", undrfire_interrupt) TAITO_F3_SOUND_SYSTEM_CPU(16000000) diff --git a/src/mame/drivers/warpwarp.c b/src/mame/drivers/warpwarp.c index f7840ad9efb..ce77c467b90 100644 --- a/src/mame/drivers/warpwarp.c +++ b/src/mame/drivers/warpwarp.c @@ -299,78 +299,47 @@ static WRITE8_HANDLER( warpwarp_out3_w ) -static ADDRESS_MAP_START( readmem_geebee, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) - AM_RANGE(0x2000, 0x23ff) AM_READ(SMH_RAM) - AM_RANGE(0x3000, 0x37ff) AM_READ(SMH_ROM) /* 3000-33ff in GeeBee */ - AM_RANGE(0x4000, 0x40ff) AM_READ(SMH_RAM) - AM_RANGE(0x5000, 0x53ff) AM_READ(geebee_in_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem_geebee, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x2000, 0x23ff) AM_WRITE(geebee_videoram_w) AM_BASE(&geebee_videoram) +static ADDRESS_MAP_START( geebee_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x1fff) AM_ROM + AM_RANGE(0x2000, 0x23ff) AM_RAM AM_WRITE(geebee_videoram_w) AM_BASE(&geebee_videoram) AM_RANGE(0x2400, 0x27ff) AM_WRITE(geebee_videoram_w) /* mirror used by kaiteik due to a bug */ - AM_RANGE(0x3000, 0x37ff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x40ff) AM_WRITE(SMH_RAM) + AM_RANGE(0x3000, 0x37ff) AM_ROM /* 3000-33ff in GeeBee */ + AM_RANGE(0x4000, 0x40ff) AM_RAM + AM_RANGE(0x5000, 0x53ff) AM_READ(geebee_in_r) AM_RANGE(0x6000, 0x6fff) AM_WRITE(geebee_out6_w) AM_RANGE(0x7000, 0x7fff) AM_WRITE(geebee_out7_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( readport_geebee, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( geebee_port_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x50, 0x53) AM_READ(geebee_in_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writeport_geebee, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x60, 0x6f) AM_WRITE(geebee_out6_w) AM_RANGE(0x70, 0x7f) AM_WRITE(geebee_out7_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( readmem_bombbee, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM) - AM_RANGE(0x2000, 0x23ff) AM_READ(SMH_RAM) - AM_RANGE(0x4000, 0x47ff) AM_READ(SMH_RAM) - AM_RANGE(0x4800, 0x4fff) AM_READ(SMH_ROM) - AM_RANGE(0x6000, 0x600f) AM_READ(warpwarp_sw_r) - AM_RANGE(0x6010, 0x601f) AM_READ(warpwarp_vol_r) - AM_RANGE(0x6020, 0x602f) AM_READ(warpwarp_dsw1_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( readmem_warpwarp, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x83ff) AM_READ(SMH_RAM) - AM_RANGE(0x4000, 0x47ff) AM_READ(SMH_RAM) - AM_RANGE(0x4800, 0x4fff) AM_READ(SMH_ROM) - AM_RANGE(0xc000, 0xc00f) AM_READ(warpwarp_sw_r) - AM_RANGE(0xc010, 0xc01f) AM_READ(warpwarp_vol_r) - AM_RANGE(0xc020, 0xc02f) AM_READ(warpwarp_dsw1_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem_bombbee, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x2000, 0x23ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(warpwarp_videoram_w) AM_BASE(&warpwarp_videoram) - AM_RANGE(0x4800, 0x4fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x6000, 0x600f) AM_WRITE(warpwarp_out0_w) - AM_RANGE(0x6010, 0x601f) AM_WRITE(warpwarp_music1_w) - AM_RANGE(0x6020, 0x602f) AM_WRITE(warpwarp_music2_w) +static ADDRESS_MAP_START( bombbee_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x1fff) AM_ROM + AM_RANGE(0x2000, 0x23ff) AM_RAM + AM_RANGE(0x4000, 0x47ff) AM_RAM AM_WRITE(warpwarp_videoram_w) AM_BASE(&warpwarp_videoram) + AM_RANGE(0x4800, 0x4fff) AM_ROM + AM_RANGE(0x6000, 0x600f) AM_READWRITE(warpwarp_sw_r, warpwarp_out0_w) + AM_RANGE(0x6010, 0x601f) AM_READWRITE(warpwarp_vol_r, warpwarp_music1_w) + AM_RANGE(0x6020, 0x602f) AM_READWRITE(warpwarp_dsw1_r, warpwarp_music2_w) AM_RANGE(0x6030, 0x603f) AM_WRITE(warpwarp_out3_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( writemem_warpwarp, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x4000, 0x47ff) AM_WRITE(warpwarp_videoram_w) AM_BASE(&warpwarp_videoram) - AM_RANGE(0x4800, 0x4fff) AM_WRITE(SMH_ROM) - AM_RANGE(0xc000, 0xc00f) AM_WRITE(warpwarp_out0_w) - AM_RANGE(0xc010, 0xc01f) AM_WRITE(warpwarp_music1_w) - AM_RANGE(0xc020, 0xc02f) AM_WRITE(warpwarp_music2_w) +static ADDRESS_MAP_START( warpwarp_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x8000, 0x83ff) AM_RAM + AM_RANGE(0x4000, 0x47ff) AM_RAM AM_WRITE(warpwarp_videoram_w) AM_BASE(&warpwarp_videoram) + AM_RANGE(0x4800, 0x4fff) AM_ROM + AM_RANGE(0xc000, 0xc00f) AM_READWRITE(warpwarp_sw_r, warpwarp_out0_w) + AM_RANGE(0xc010, 0xc01f) AM_READWRITE(warpwarp_vol_r, warpwarp_music1_w) + AM_RANGE(0xc020, 0xc02f) AM_READWRITE(warpwarp_dsw1_r, warpwarp_music2_w) AM_RANGE(0xc030, 0xc03f) AM_WRITE(warpwarp_out3_w) ADDRESS_MAP_END - static INPUT_PORTS_START( geebee ) PORT_START_TAG("SW0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) @@ -835,8 +804,8 @@ static MACHINE_DRIVER_START( geebee ) /* basic machine hardware */ MDRV_CPU_ADD_TAG("main", 8080,XTAL_18_432MHz/9) /* verified on pcb */ - MDRV_CPU_PROGRAM_MAP(readmem_geebee,writemem_geebee) - MDRV_CPU_IO_MAP(readport_geebee,writeport_geebee) + MDRV_CPU_PROGRAM_MAP(geebee_map,0) + MDRV_CPU_IO_MAP(geebee_port_map,0) MDRV_CPU_VBLANK_INT("main", irq0_line_pulse) /* video hardware */ @@ -879,7 +848,7 @@ static MACHINE_DRIVER_START( bombbee ) /* basic machine hardware */ MDRV_CPU_ADD_TAG("main", 8080,18432000/9) /* 18.432 MHz / 9 */ - MDRV_CPU_PROGRAM_MAP(readmem_bombbee,writemem_bombbee) + MDRV_CPU_PROGRAM_MAP(bombbee_map,0) MDRV_CPU_VBLANK_INT("main", irq0_line_assert) /* video hardware */ @@ -910,7 +879,7 @@ static MACHINE_DRIVER_START( warpwarp ) /* basic machine hardware */ MDRV_IMPORT_FROM(bombbee) MDRV_CPU_MODIFY("main") - MDRV_CPU_PROGRAM_MAP(readmem_warpwarp,writemem_warpwarp) + MDRV_CPU_PROGRAM_MAP(warpwarp_map,0) MACHINE_DRIVER_END diff --git a/src/mame/drivers/warriorb.c b/src/mame/drivers/warriorb.c index a752d24a5fa..4cddff32f40 100644 --- a/src/mame/drivers/warriorb.c +++ b/src/mame/drivers/warriorb.c @@ -212,91 +212,51 @@ static WRITE8_HANDLER( warriorb_pancontrol ) MEMORY STRUCTURES ***********************************************************/ -static ADDRESS_MAP_START( darius2d_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) - AM_RANGE(0x100000, 0x10ffff) AM_READ(SMH_RAM) /* main ram */ - AM_RANGE(0x200000, 0x213fff) AM_READ(TC0100SCN_word_0_r) /* tilemaps (1st screen) */ - AM_RANGE(0x220000, 0x22000f) AM_READ(TC0100SCN_ctrl_word_0_r) - AM_RANGE(0x240000, 0x253fff) AM_READ(TC0100SCN_word_1_r) /* tilemaps (2nd screen) */ - AM_RANGE(0x260000, 0x26000f) AM_READ(TC0100SCN_ctrl_word_1_r) - AM_RANGE(0x400000, 0x400007) AM_READ(TC0110PCR_word_r) /* palette (1st screen) */ - AM_RANGE(0x420000, 0x420007) AM_READ(TC0110PCR_word_1_r) /* palette (2nd screen) */ - AM_RANGE(0x600000, 0x6013ff) AM_READ(SMH_RAM) /* sprite ram */ - AM_RANGE(0x800000, 0x80000f) AM_READ(TC0220IOC_halfword_r) - AM_RANGE(0x830000, 0x830003) AM_READ(warriorb_sound_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( darius2d_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM) - AM_RANGE(0x100000, 0x10ffff) AM_WRITE(SMH_RAM) - AM_RANGE(0x200000, 0x213fff) AM_WRITE(TC0100SCN_dual_screen_w) /* tilemaps (all screens) */ - AM_RANGE(0x214000, 0x2141ff) AM_WRITE(SMH_NOP) /* error in screen clearing code ? */ - AM_RANGE(0x220000, 0x22000f) AM_WRITE(TC0100SCN_ctrl_word_0_w) - AM_RANGE(0x240000, 0x253fff) AM_WRITE(TC0100SCN_word_1_w) /* tilemaps (2nd screen) */ - AM_RANGE(0x260000, 0x26000f) AM_WRITE(TC0100SCN_ctrl_word_1_w) - AM_RANGE(0x400000, 0x400007) AM_WRITE(TC0110PCR_step1_word_w) /* palette (1st screen) */ - AM_RANGE(0x420000, 0x420007) AM_WRITE(TC0110PCR_step1_word_1_w) /* palette (2nd screen) */ - AM_RANGE(0x600000, 0x6013ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) - AM_RANGE(0x800000, 0x80000f) AM_WRITE(TC0220IOC_halfword_w) +static ADDRESS_MAP_START( darius2d_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x0fffff) AM_ROM + AM_RANGE(0x100000, 0x10ffff) AM_RAM /* main ram */ + AM_RANGE(0x200000, 0x213fff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_dual_screen_w) /* tilemaps (all screens) */ + AM_RANGE(0x214000, 0x2141ff) AM_WRITE(SMH_NOP) /* error in screen clearing code ? */ + AM_RANGE(0x220000, 0x22000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w) + AM_RANGE(0x240000, 0x253fff) AM_READWRITE(TC0100SCN_word_1_r, TC0100SCN_word_1_w) /* tilemaps (2nd screen) */ + AM_RANGE(0x260000, 0x26000f) AM_READWRITE(TC0100SCN_ctrl_word_1_r, TC0100SCN_ctrl_word_1_w) + AM_RANGE(0x400000, 0x400007) AM_READWRITE(TC0110PCR_word_r, TC0110PCR_step1_word_w) /* palette (1st screen) */ + AM_RANGE(0x420000, 0x420007) AM_READWRITE(TC0110PCR_word_1_r, TC0110PCR_step1_word_1_w) /* palette (2nd screen) */ + AM_RANGE(0x600000, 0x6013ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) + AM_RANGE(0x800000, 0x80000f) AM_READWRITE(TC0220IOC_halfword_r, TC0220IOC_halfword_w) // AM_RANGE(0x820000, 0x820001) AM_WRITE(SMH_NOP) // ??? - AM_RANGE(0x830000, 0x830003) AM_WRITE(warriorb_sound_w) + AM_RANGE(0x830000, 0x830003) AM_READWRITE(warriorb_sound_r, warriorb_sound_w) ADDRESS_MAP_END - -static ADDRESS_MAP_START( warriorb_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x1fffff) AM_READ(SMH_ROM) - AM_RANGE(0x200000, 0x213fff) AM_READ(SMH_RAM) /* main ram */ - AM_RANGE(0x300000, 0x313fff) AM_READ(TC0100SCN_word_0_r) /* tilemaps (1st screen) */ - AM_RANGE(0x320000, 0x32000f) AM_READ(TC0100SCN_ctrl_word_0_r) - AM_RANGE(0x340000, 0x353fff) AM_READ(TC0100SCN_word_1_r) /* tilemaps (2nd screen) */ - AM_RANGE(0x360000, 0x36000f) AM_READ(TC0100SCN_ctrl_word_1_r) - AM_RANGE(0x400000, 0x400007) AM_READ(TC0110PCR_word_r) /* palette (1st screen) */ - AM_RANGE(0x420000, 0x420007) AM_READ(TC0110PCR_word_1_r) /* palette (2nd screen) */ - AM_RANGE(0x600000, 0x6013ff) AM_READ(SMH_RAM) /* sprite ram */ - AM_RANGE(0x800000, 0x80000f) AM_READ(TC0510NIO_halfword_r) - AM_RANGE(0x830000, 0x830003) AM_READ(warriorb_sound_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( warriorb_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x1fffff) AM_WRITE(SMH_ROM) - AM_RANGE(0x200000, 0x213fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x300000, 0x313fff) AM_WRITE(TC0100SCN_dual_screen_w) /* tilemaps (all screens) */ - AM_RANGE(0x320000, 0x32000f) AM_WRITE(TC0100SCN_ctrl_word_0_w) - AM_RANGE(0x340000, 0x353fff) AM_WRITE(TC0100SCN_word_1_w) /* tilemaps (2nd screen) */ - AM_RANGE(0x360000, 0x36000f) AM_WRITE(TC0100SCN_ctrl_word_1_w) - AM_RANGE(0x400000, 0x400007) AM_WRITE(TC0110PCR_step1_word_w) /* palette (1st screen) */ - AM_RANGE(0x420000, 0x420007) AM_WRITE(TC0110PCR_step1_word_1_w) /* palette (2nd screen) */ - AM_RANGE(0x600000, 0x6013ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) - AM_RANGE(0x800000, 0x80000f) AM_WRITE(TC0510NIO_halfword_w) +static ADDRESS_MAP_START( warriorb_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x1fffff) AM_ROM + AM_RANGE(0x200000, 0x213fff) AM_RAM + AM_RANGE(0x300000, 0x313fff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_dual_screen_w) /* tilemaps (all screens) */ + AM_RANGE(0x320000, 0x32000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w) + AM_RANGE(0x340000, 0x353fff) AM_READWRITE(TC0100SCN_word_1_r, TC0100SCN_word_1_w) /* tilemaps (2nd screen) */ + AM_RANGE(0x360000, 0x36000f) AM_READWRITE(TC0100SCN_ctrl_word_1_r, TC0100SCN_ctrl_word_1_w) + AM_RANGE(0x400000, 0x400007) AM_READWRITE(TC0110PCR_word_r, TC0110PCR_step1_word_w) /* palette (1st screen) */ + AM_RANGE(0x420000, 0x420007) AM_READWRITE(TC0110PCR_word_1_r, TC0110PCR_step1_word_1_w) /* palette (2nd screen) */ + AM_RANGE(0x600000, 0x6013ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) + AM_RANGE(0x800000, 0x80000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w) // AM_RANGE(0x820000, 0x820001) AM_WRITE(SMH_NOP) // ? uses bits 0,2,3 - AM_RANGE(0x830000, 0x830003) AM_WRITE(warriorb_sound_w) + AM_RANGE(0x830000, 0x830003) AM_READWRITE(warriorb_sound_r, warriorb_sound_w) ADDRESS_MAP_END - /***************************************************************************/ -static ADDRESS_MAP_START( z80_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK10) - AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_RAM) - AM_RANGE(0xe000, 0xe000) AM_READ(YM2610_status_port_0_A_r) - AM_RANGE(0xe001, 0xe001) AM_READ(YM2610_read_port_0_r) - AM_RANGE(0xe002, 0xe002) AM_READ(YM2610_status_port_0_B_r) - AM_RANGE(0xe200, 0xe200) AM_READ(SMH_NOP) - AM_RANGE(0xe201, 0xe201) AM_READ(taitosound_slave_comm_r) - AM_RANGE(0xea00, 0xea00) AM_READ(SMH_NOP) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( z80_sound_writemem, 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(YM2610_control_port_0_A_w) - AM_RANGE(0xe001, 0xe001) AM_WRITE(YM2610_data_port_0_A_w) - AM_RANGE(0xe002, 0xe002) AM_WRITE(YM2610_control_port_0_B_w) +static ADDRESS_MAP_START( z80_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x7fff) AM_READWRITE(SMH_BANK10, SMH_ROM) + AM_RANGE(0xc000, 0xdfff) AM_RAM + AM_RANGE(0xe000, 0xe000) AM_READWRITE(YM2610_status_port_0_A_r, YM2610_control_port_0_A_w) + AM_RANGE(0xe001, 0xe001) AM_READWRITE(YM2610_read_port_0_r, YM2610_data_port_0_A_w) + AM_RANGE(0xe002, 0xe002) AM_READWRITE(YM2610_status_port_0_B_r, YM2610_control_port_0_B_w) AM_RANGE(0xe003, 0xe003) AM_WRITE(YM2610_data_port_0_B_w) - AM_RANGE(0xe200, 0xe200) AM_WRITE(taitosound_slave_port_w) - AM_RANGE(0xe201, 0xe201) AM_WRITE(taitosound_slave_comm_w) + AM_RANGE(0xe200, 0xe200) AM_READWRITE(SMH_NOP, taitosound_slave_port_w) + AM_RANGE(0xe201, 0xe201) AM_READWRITE(taitosound_slave_comm_r, taitosound_slave_comm_w) AM_RANGE(0xe400, 0xe403) AM_WRITE(warriorb_pancontrol) /* pan */ + AM_RANGE(0xea00, 0xea00) AM_READ(SMH_NOP) AM_RANGE(0xee00, 0xee00) AM_WRITE(SMH_NOP) /* ? */ AM_RANGE(0xf000, 0xf000) AM_WRITE(SMH_NOP) /* ? */ AM_RANGE(0xf200, 0xf200) AM_WRITE(sound_bankswitch_w) @@ -487,12 +447,12 @@ static MACHINE_DRIVER_START( darius2d ) /* basic machine hardware */ MDRV_CPU_ADD(M68000, 12000000) /* 12 MHz ??? (Might well be 16!) */ - MDRV_CPU_PROGRAM_MAP(darius2d_readmem,darius2d_writemem) + MDRV_CPU_PROGRAM_MAP(darius2d_map,0) MDRV_CPU_VBLANK_INT("left", irq4_line_hold) - MDRV_CPU_ADD(Z80,16000000/4) /* audio CPU */ /* 4 MHz ? */ - MDRV_CPU_PROGRAM_MAP(z80_sound_readmem,z80_sound_writemem) + MDRV_CPU_ADD(Z80,16000000/4) + MDRV_CPU_PROGRAM_MAP(z80_sound_map,0) MDRV_MACHINE_START( warriorb ) MDRV_MACHINE_RESET( taito_dualscreen ) @@ -546,12 +506,12 @@ static MACHINE_DRIVER_START( warriorb ) /* basic machine hardware */ MDRV_CPU_ADD(M68000, 16000000) /* 16 MHz ? */ - MDRV_CPU_PROGRAM_MAP(warriorb_readmem,warriorb_writemem) + MDRV_CPU_PROGRAM_MAP(warriorb_map,0) MDRV_CPU_VBLANK_INT("left", irq4_line_hold) - MDRV_CPU_ADD(Z80,16000000/4) /* audio CPU */ /* 4 MHz ? */ - MDRV_CPU_PROGRAM_MAP(z80_sound_readmem,z80_sound_writemem) + MDRV_CPU_ADD(Z80,16000000/4) + MDRV_CPU_PROGRAM_MAP(z80_sound_map,0) MDRV_MACHINE_START( warriorb ) MDRV_MACHINE_RESET( taito_dualscreen ) diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c index 9721e4a43f1..562ccc4f481 100644 --- a/src/mame/drivers/wc90.c +++ b/src/mame/drivers/wc90.c @@ -116,43 +116,21 @@ static WRITE8_HANDLER( wc90_sound_command_w ) -static ADDRESS_MAP_START( wc90_readmem1, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x9fff) AM_READ(SMH_RAM) /* Main RAM */ - AM_RANGE(0xa000, 0xafff) AM_READ(SMH_RAM) /* fg video ram */ - AM_RANGE(0xb000, 0xbfff) AM_READ(SMH_RAM) - AM_RANGE(0xc000, 0xcfff) AM_READ(SMH_RAM) /* bg video ram */ - AM_RANGE(0xd000, 0xdfff) AM_READ(SMH_RAM) - AM_RANGE(0xe000, 0xefff) AM_READ(SMH_RAM) /* tx video ram */ - AM_RANGE(0xf000, 0xf7ff) AM_READ(SMH_BANK1) - AM_RANGE(0xf800, 0xfbff) AM_READ(wc90_shared_r) +static ADDRESS_MAP_START( wc90_map_1, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x9fff) AM_RAM /* Main RAM */ + AM_RANGE(0xa000, 0xafff) AM_RAM AM_WRITE(wc90_fgvideoram_w) AM_BASE(&wc90_fgvideoram) /* fg video ram */ + AM_RANGE(0xb000, 0xbfff) AM_RAM + AM_RANGE(0xc000, 0xcfff) AM_RAM AM_WRITE(wc90_bgvideoram_w) AM_BASE(&wc90_bgvideoram) + AM_RANGE(0xd000, 0xdfff) AM_RAM + AM_RANGE(0xe000, 0xefff) AM_RAM AM_WRITE(wc90_txvideoram_w) AM_BASE(&wc90_txvideoram) /* tx video ram */ + AM_RANGE(0xf000, 0xf7ff) AM_READWRITE(SMH_BANK1, SMH_ROM) + AM_RANGE(0xf800, 0xfbff) AM_READWRITE(wc90_shared_r, wc90_shared_w) AM_BASE(&wc90_shared) AM_RANGE(0xfc00, 0xfc00) AM_READ(input_port_0_r) /* Stick 1 */ AM_RANGE(0xfc02, 0xfc02) AM_READ(input_port_1_r) /* Stick 2 */ AM_RANGE(0xfc05, 0xfc05) AM_READ(input_port_4_r) /* Start & Coin */ AM_RANGE(0xfc06, 0xfc06) AM_READ(input_port_2_r) /* DIP Switch A */ AM_RANGE(0xfc07, 0xfc07) AM_READ(input_port_3_r) /* DIP Switch B */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( wc90_readmem2, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM) - AM_RANGE(0xc000, 0xcfff) AM_READ(SMH_RAM) - AM_RANGE(0xd000, 0xd7ff) AM_READ(SMH_RAM) - AM_RANGE(0xd800, 0xdfff) AM_READ(SMH_RAM) - AM_RANGE(0xe000, 0xe7ff) AM_READ(SMH_RAM) - AM_RANGE(0xf000, 0xf7ff) AM_READ(SMH_BANK2) - AM_RANGE(0xf800, 0xfbff) AM_READ(wc90_shared_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( wc90_writemem1, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x9fff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa000, 0xafff) AM_WRITE(wc90_fgvideoram_w) AM_BASE(&wc90_fgvideoram) - AM_RANGE(0xb000, 0xbfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xc000, 0xcfff) AM_WRITE(wc90_bgvideoram_w) AM_BASE(&wc90_bgvideoram) - AM_RANGE(0xd000, 0xdfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xe000, 0xefff) AM_WRITE(wc90_txvideoram_w) AM_BASE(&wc90_txvideoram) - AM_RANGE(0xf000, 0xf7ff) AM_WRITE(SMH_ROM) - AM_RANGE(0xf800, 0xfbff) AM_WRITE(wc90_shared_w) AM_BASE(&wc90_shared) AM_RANGE(0xfc02, 0xfc02) AM_WRITE(SMH_RAM) AM_BASE(&wc90_scroll0ylo) AM_RANGE(0xfc03, 0xfc03) AM_WRITE(SMH_RAM) AM_BASE(&wc90_scroll0yhi) AM_RANGE(0xfc06, 0xfc06) AM_WRITE(SMH_RAM) AM_BASE(&wc90_scroll0xlo) @@ -170,38 +148,30 @@ static ADDRESS_MAP_START( wc90_writemem1, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xfce0, 0xfce0) AM_WRITE(wc90_bankswitch_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( wc90_writemem2, 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(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) - AM_RANGE(0xd800, 0xdfff) AM_WRITE(SMH_RAM) - AM_RANGE(0xe000, 0xe7ff) AM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE(&paletteram) - AM_RANGE(0xf000, 0xf7ff) AM_WRITE(SMH_ROM) - AM_RANGE(0xf800, 0xfbff) AM_WRITE(wc90_shared_w) +static ADDRESS_MAP_START( wc90_map_2, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xbfff) AM_ROM + AM_RANGE(0xc000, 0xcfff) AM_RAM + AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) + AM_RANGE(0xd800, 0xdfff) AM_RAM + AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE(&paletteram) + AM_RANGE(0xf000, 0xf7ff) AM_READWRITE(SMH_BANK2, SMH_ROM) + AM_RANGE(0xf800, 0xfbff) AM_READWRITE(wc90_shared_r, wc90_shared_w) AM_RANGE(0xfc00, 0xfc00) AM_WRITE(wc90_bankswitch1_w) AM_RANGE(0xfc01, 0xfc01) AM_WRITE(watchdog_reset_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM) - AM_RANGE(0xf000, 0xf7ff) AM_READ(SMH_RAM) - AM_RANGE(0xf800, 0xf800) AM_READ(YM2608_status_port_0_A_r) - AM_RANGE(0xf802, 0xf802) AM_READ(YM2608_status_port_0_B_r) - AM_RANGE(0xfc00, 0xfc00) AM_READ(SMH_NOP) /* ??? adpcm ??? */ - AM_RANGE(0xfc10, 0xfc10) AM_READ(soundlatch_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM) - AM_RANGE(0xf000, 0xf7ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xf800, 0xf800) AM_WRITE(YM2608_control_port_0_A_w) +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xbfff) AM_ROM + AM_RANGE(0xf000, 0xf7ff) AM_RAM + AM_RANGE(0xf800, 0xf800) AM_READWRITE(YM2608_status_port_0_A_r, YM2608_control_port_0_A_w) AM_RANGE(0xf801, 0xf801) AM_WRITE(YM2608_data_port_0_A_w) - AM_RANGE(0xf802, 0xf802) AM_WRITE(YM2608_control_port_0_B_w) + AM_RANGE(0xf802, 0xf802) AM_READWRITE(YM2608_status_port_0_B_r, YM2608_control_port_0_B_w) AM_RANGE(0xf803, 0xf803) AM_WRITE(YM2608_data_port_0_B_w) + AM_RANGE(0xfc00, 0xfc00) AM_READ(SMH_NOP) /* ??? adpcm ??? */ + AM_RANGE(0xfc10, 0xfc10) AM_READ(soundlatch_r) ADDRESS_MAP_END - static INPUT_PORTS_START( wc90 ) PORT_START /* IN0 bit 0-5 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY @@ -347,17 +317,17 @@ static MACHINE_DRIVER_START( wc90 ) /* basic machine hardware */ MDRV_CPU_ADD(Z80, 6000000) /* 6.0 MHz ??? */ - MDRV_CPU_PROGRAM_MAP(wc90_readmem1,wc90_writemem1) + MDRV_CPU_PROGRAM_MAP(wc90_map_1,0) MDRV_CPU_VBLANK_INT("main", irq0_line_hold) MDRV_CPU_ADD(Z80, 6000000) /* 6.0 MHz ??? */ - MDRV_CPU_PROGRAM_MAP(wc90_readmem2,wc90_writemem2) + MDRV_CPU_PROGRAM_MAP(wc90_map_2,0) MDRV_CPU_VBLANK_INT("main", irq0_line_hold) - MDRV_CPU_ADD(Z80, 4000000) /* audio CPU */ /* 4 MHz ???? */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) - /* NMIs are triggered by the main CPU */ + MDRV_CPU_ADD(Z80, 4000000) + MDRV_CPU_PROGRAM_MAP(sound_map,0) + /* NMIs are triggered by the main CPU */ /* video hardware */ MDRV_SCREEN_ADD("main", RASTER) |