mirror of
https://github.com/holub/mame
synced 2025-07-10 12:15:31 +03:00
Memory map merges for half of the W drivers.
A couple of random touchups for X, Y, and Z drivers as well. Each driver is tested by watching the attract mode through and diff'ing logs. My ISP was blocking mamedev e-mails for a couple of weeks, so I apologize if I did anything odd because of a discussion that I missed.
This commit is contained in:
parent
d332b5c542
commit
4f6044c309
@ -363,75 +363,47 @@ static WRITE8_HANDLER( pending_command_clear_w )
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( welltris_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x17ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x800000, 0x81ffff) AM_READ(SMH_RAM) /* Graph_1 & 2*/
|
||||
AM_RANGE(0xff8000, 0xffbfff) AM_READ(SMH_RAM) /* Work */
|
||||
AM_RANGE(0xffc000, 0xffc3ff) AM_READ(SMH_RAM) /* Sprite */
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_READ(SMH_RAM) /* Char */
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_READ(SMH_RAM) /* Palette */
|
||||
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ(input_port_1_word_r) /* Bottom Controls */
|
||||
AM_RANGE(0xfff002, 0xfff003) AM_READ(input_port_2_word_r) /* Top Controls */
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ(input_port_3_word_r) /* Left Side Ctrls */
|
||||
AM_RANGE(0xfff006, 0xfff007) AM_READ(input_port_4_word_r) /* Right Side Ctrls */
|
||||
|
||||
AM_RANGE(0xfff008, 0xfff009) AM_READ(in0_r) /* Coinage, Start Buttons, pending sound command etc. */ /* Bit 5 Tested at start of irq 1 */
|
||||
AM_RANGE(0xfff00a, 0xfff00b) AM_READ(input_port_5_word_r) /* P3+P4 Coin + Start Buttons */
|
||||
AM_RANGE(0xfff00c, 0xfff00d) AM_READ(input_port_6_word_r) /* DSW0 Coinage */
|
||||
AM_RANGE(0xfff00e, 0xfff00f) AM_READ(input_port_7_word_r) /* DSW1 Game Options */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( welltris_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x17ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x800000, 0x81ffff) AM_WRITE(SMH_RAM) AM_BASE(&welltris_pixelram)
|
||||
AM_RANGE(0xff8000, 0xffbfff) AM_WRITE(SMH_RAM)
|
||||
|
||||
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITE(welltris_spriteram_w) AM_BASE(&welltris_spriteram)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_WRITE(welltris_charvideoram_w) AM_BASE(&welltris_charvideoram)
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
|
||||
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x17ffff) AM_ROM
|
||||
AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_BASE(&welltris_pixelram) /* Graph_1 & 2*/
|
||||
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* work */
|
||||
AM_RANGE(0xffc000, 0xffc3ff) AM_RAM AM_WRITE(welltris_spriteram_w) AM_BASE(&welltris_spriteram) /* Sprite */
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_WRITE(welltris_charvideoram_w) AM_BASE(&welltris_charvideoram) /* Char */
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) /* Palette */
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ(input_port_1_word_r) /* Bottom Controls */
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_WRITE(welltris_palette_bank_w)
|
||||
AM_RANGE(0xfff002, 0xfff003) AM_READ(input_port_2_word_r) /* Top Controls */
|
||||
AM_RANGE(0xfff002, 0xfff003) AM_WRITE(welltris_gfxbank_w)
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ(input_port_3_word_r) /* Left Side Ctrls */
|
||||
AM_RANGE(0xfff004, 0xfff007) AM_WRITE(welltris_scrollreg_w)
|
||||
AM_RANGE(0xfff006, 0xfff007) AM_READ(input_port_4_word_r) /* Right Side Ctrls */
|
||||
AM_RANGE(0xfff008, 0xfff009) AM_READ(in0_r) /* Coinage, Start Buttons, pending sound command etc. */ /* Bit 5 Tested at start of irq 1 */
|
||||
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w)
|
||||
AM_RANGE(0xfff00c, 0xfff00d) AM_WRITE(SMH_NOP) // ??
|
||||
AM_RANGE(0xfff00e, 0xfff00f) AM_WRITE(SMH_NOP) // ??
|
||||
AM_RANGE(0xfff00a, 0xfff00b) AM_READ(input_port_5_word_r) /* P3+P4 Coin + Start Buttons */
|
||||
AM_RANGE(0xfff00c, 0xfff00d) AM_READ(input_port_6_word_r) /* DSW0 Coinage */
|
||||
AM_RANGE(0xfff00c, 0xfff00d) AM_WRITE(SMH_NOP) /* ?? */
|
||||
AM_RANGE(0xfff00e, 0xfff00f) AM_READ(input_port_7_word_r) /* DSW1 Game Options */
|
||||
AM_RANGE(0xfff00e, 0xfff00f) AM_WRITE(SMH_NOP) /* ?? */
|
||||
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_BANK1)
|
||||
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_ROM AM_READ(SMH_BANK1)
|
||||
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)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x08, 0x08) AM_READ(YM2610_status_port_0_A_r)
|
||||
AM_RANGE(0x0a, 0x0a) AM_READ(YM2610_status_port_0_B_r)
|
||||
AM_RANGE(0x10, 0x10) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( sound_port_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(welltris_sh_bankswitch_w)
|
||||
AM_RANGE(0x08, 0x08) AM_WRITE(YM2610_control_port_0_A_w)
|
||||
AM_RANGE(0x08, 0x08) AM_READWRITE(YM2610_status_port_0_A_r,YM2610_control_port_0_A_w)
|
||||
AM_RANGE(0x09, 0x09) AM_WRITE(YM2610_data_port_0_A_w)
|
||||
AM_RANGE(0x0a, 0x0a) AM_WRITE(YM2610_control_port_0_B_w)
|
||||
AM_RANGE(0x0a, 0x0a) AM_READWRITE(YM2610_status_port_0_B_r,YM2610_control_port_0_B_w)
|
||||
AM_RANGE(0x0b, 0x0b) AM_WRITE(YM2610_data_port_0_B_w)
|
||||
AM_RANGE(0x10, 0x10) AM_READ(soundlatch_r)
|
||||
AM_RANGE(0x18, 0x18) AM_WRITE(pending_command_clear_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( welltris )
|
||||
PORT_START
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -751,14 +723,13 @@ static MACHINE_DRIVER_START( welltris )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(welltris_readmem,welltris_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80,8000000/2) /* 4 MHz ??? */
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_IO_MAP(sound_readport,sound_writeport)
|
||||
/* IRQs are triggered by the YM2610 */
|
||||
MDRV_CPU_ADD(Z80,8000000/2) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_IO_MAP(sound_port_map,0) /* IRQs are triggered by the YM2610 */
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -653,85 +653,52 @@ static READ16_HANDLER( wgp_sound_r )
|
||||
MEMORY STRUCTURES
|
||||
*****************************************************************/
|
||||
|
||||
static ADDRESS_MAP_START( wgp_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x10ffff) AM_READ(SMH_RAM) /* main CPUA ram */
|
||||
AM_RANGE(0x140000, 0x143fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x180000, 0x18000f) AM_READ(TC0220IOC_halfword_byteswap_r)
|
||||
AM_RANGE(0x200000, 0x20000f) AM_READ(wgp_adinput_r)
|
||||
AM_RANGE(0x300000, 0x30ffff) AM_READ(TC0100SCN_word_0_r) /* tilemaps */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_READ(TC0100SCN_ctrl_word_0_r)
|
||||
AM_RANGE(0x400000, 0x40bfff) AM_READ(SMH_RAM) /* sprite tilemaps */
|
||||
AM_RANGE(0x40c000, 0x40dfff) AM_READ(SMH_RAM) /* sprite ram */
|
||||
AM_RANGE(0x500000, 0x501fff) AM_READ(SMH_RAM) /* unknown/unused */
|
||||
AM_RANGE(0x502000, 0x517fff) AM_READ(wgp_pivram_word_r) /* piv tilemaps */
|
||||
AM_RANGE(0x520000, 0x52001f) AM_READ(wgp_piv_ctrl_word_r)
|
||||
AM_RANGE(0x700000, 0x701fff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( wgp_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x10ffff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x140000, 0x143fff) AM_WRITE(SMH_RAM) AM_BASE(&sharedram) AM_SIZE(&sharedram_size)
|
||||
AM_RANGE(0x180000, 0x18000f) AM_WRITE(TC0220IOC_halfword_byteswap_w)
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* main CPUA ram */
|
||||
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_BASE(&sharedram) AM_SIZE(&sharedram_size)
|
||||
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(TC0220IOC_halfword_byteswap_r,TC0220IOC_halfword_byteswap_w)
|
||||
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITE(cpua_ctrl_w)
|
||||
AM_RANGE(0x200000, 0x20000f) AM_WRITE(wgp_adinput_w)
|
||||
AM_RANGE(0x300000, 0x30ffff) AM_WRITE(TC0100SCN_word_0_w) /* tilemaps */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_WRITE(TC0100SCN_ctrl_word_0_w)
|
||||
AM_RANGE(0x400000, 0x40bfff) AM_WRITE(SMH_RAM) AM_BASE(&wgp_spritemap) AM_SIZE(&wgp_spritemap_size)
|
||||
AM_RANGE(0x40c000, 0x40dfff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* sprite ram */
|
||||
AM_RANGE(0x40fff0, 0x40fff1) AM_WRITE(SMH_NOP) // ?? (writes 0x8000 and 0 alternately - Wgp2 just 0)
|
||||
AM_RANGE(0x500000, 0x501fff) AM_WRITE(SMH_RAM) /* unknown/unused */
|
||||
AM_RANGE(0x502000, 0x517fff) AM_WRITE(wgp_pivram_word_w) AM_BASE(&wgp_pivram) /* piv tilemaps */
|
||||
AM_RANGE(0x520000, 0x52001f) AM_WRITE(wgp_piv_ctrl_word_w) AM_BASE(&wgp_piv_ctrlram)
|
||||
AM_RANGE(0x200000, 0x20000f) AM_READWRITE(wgp_adinput_r,wgp_adinput_w)
|
||||
AM_RANGE(0x300000, 0x30ffff) AM_READWRITE(TC0100SCN_word_0_r,TC0100SCN_word_0_w) /* tilemaps */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r,TC0100SCN_ctrl_word_0_w)
|
||||
AM_RANGE(0x400000, 0x40bfff) AM_RAM AM_BASE(&wgp_spritemap) AM_SIZE(&wgp_spritemap_size) /* sprite tilemaps */
|
||||
AM_RANGE(0x40c000, 0x40dfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* sprite ram */
|
||||
AM_RANGE(0x40fff0, 0x40fff1) AM_WRITE(SMH_NOP) /* ?? (writes 0x8000 and 0 alternately - Wgp2 just 0) */
|
||||
AM_RANGE(0x500000, 0x501fff) AM_RAM /* unknown/unused */
|
||||
AM_RANGE(0x502000, 0x517fff) AM_READWRITE(wgp_pivram_word_r,wgp_pivram_word_w) AM_BASE(&wgp_pivram) /* piv tilemaps */
|
||||
AM_RANGE(0x520000, 0x52001f) AM_READWRITE(wgp_piv_ctrl_word_r,wgp_piv_ctrl_word_w) AM_BASE(&wgp_piv_ctrlram)
|
||||
AM_RANGE(0x600000, 0x600003) AM_WRITE(rotate_port_w) /* rotation control ? */
|
||||
AM_RANGE(0x700000, 0x701fff) AM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x700000, 0x701fff) AM_RAM AM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( wgp_cpub_readmem, ADDRESS_SPACE_PROGRAM, 16 ) /* LAN areas not mapped... */
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x103fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x140000, 0x143fff) AM_READ(sharedram_r)
|
||||
AM_RANGE(0x200000, 0x200003) AM_READ(wgp_sound_r)
|
||||
// AM_RANGE(0x380000, 0x383fff) AM_READ(SMH_RAM) // LAN RAM
|
||||
static ADDRESS_MAP_START( cpu2_map, ADDRESS_SPACE_PROGRAM, 16 ) /* LAN areas not mapped... */
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x103fff) AM_RAM
|
||||
AM_RANGE(0x140000, 0x143fff) AM_READWRITE(sharedram_r,sharedram_w)
|
||||
AM_RANGE(0x200000, 0x200003) AM_READWRITE(wgp_sound_r,wgp_sound_w)
|
||||
// AM_RANGE(0x380000, 0x383fff) AM_READ(SMH_RAM) // LAN RAM
|
||||
// AM_RANGE(0x380000, 0x383fff) AM_WRITE(SMH_RAM) // LAN RAM
|
||||
AM_RANGE(0x380000, 0x380001) AM_READ(lan_status_r) // ??
|
||||
// a lan input area is read somewhere above the status
|
||||
// (make the status return 0 and log)...
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( wgp_cpub_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x140000, 0x143fff) AM_WRITE(sharedram_w)
|
||||
AM_RANGE(0x200000, 0x200003) AM_WRITE(wgp_sound_w)
|
||||
// AM_RANGE(0x380000, 0x383fff) AM_WRITE(SMH_RAM) // LAN RAM
|
||||
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(0x4000, 0x7fff) AM_READ(SMH_BANK10) /* Fallthrough */
|
||||
AM_RANGE(0x0000, 0x7fff) AM_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(SMH_NOP) /* 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)
|
||||
@ -981,15 +948,15 @@ static MACHINE_DRIVER_START( wgp )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 12000000) /* 12 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(wgp_readmem,wgp_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", irq4_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 16000000/4) /* 4 MHz ??? */
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(z80_sound_readmem,z80_sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(z80_sound_map,0)
|
||||
|
||||
MDRV_CPU_ADD(M68000, 12000000) /* 12 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(wgp_cpub_readmem,wgp_cpub_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(cpu2_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", wgp_cpub_interrupt)
|
||||
|
||||
MDRV_MACHINE_START(wgp)
|
||||
@ -1023,47 +990,11 @@ MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( wgp2 )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 12000000) /* 12 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(wgp_readmem,wgp_writemem)
|
||||
MDRV_CPU_VBLANK_INT("main", irq4_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 16000000/4) /* 4 MHz ??? */
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(z80_sound_readmem,z80_sound_writemem)
|
||||
|
||||
MDRV_CPU_ADD(M68000, 12000000) /* 12 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(wgp_cpub_readmem,wgp_cpub_writemem)
|
||||
MDRV_CPU_VBLANK_INT("main", wgp_cpub_interrupt)
|
||||
|
||||
MDRV_MACHINE_START(wgp)
|
||||
MDRV_IMPORT_FROM(wgp)
|
||||
|
||||
MDRV_INTERLEAVE(200)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_SIZE(40*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
|
||||
|
||||
MDRV_GFXDECODE(wgp)
|
||||
MDRV_PALETTE_LENGTH(4096)
|
||||
|
||||
MDRV_VIDEO_START(wgp2)
|
||||
MDRV_VIDEO_UPDATE(wgp)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_STEREO("left", "right")
|
||||
|
||||
MDRV_SOUND_ADD(YM2610, 16000000/2)
|
||||
MDRV_SOUND_CONFIG(ym2610_interface)
|
||||
MDRV_SOUND_ROUTE(0, "left", 0.25)
|
||||
MDRV_SOUND_ROUTE(0, "right", 0.25)
|
||||
MDRV_SOUND_ROUTE(1, "left", 1.0)
|
||||
MDRV_SOUND_ROUTE(2, "right", 1.0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
|
@ -93,49 +93,31 @@ static WRITE8_HANDLER( subcpu_reset_w )
|
||||
}
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x8bff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_READ(shared1_r)
|
||||
AM_RANGE(0x9800, 0x9bff) AM_READ(shared2_r)
|
||||
AM_RANGE(0xa800, 0xa807) AM_READ(ports_r)
|
||||
AM_RANGE(0xb000, 0xb7ff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x5fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
|
||||
AM_RANGE(0x8400, 0x87ff) AM_WRITE(SMH_RAM) AM_BASE(&colorram)
|
||||
AM_RANGE(0x8800, 0x88ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x8900, 0x8bff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_WRITE(shared1_w) AM_BASE(&sharedram1)
|
||||
AM_RANGE(0x9800, 0x9bff) AM_WRITE(shared2_w) AM_BASE(&sharedram2)
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x5fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x83ff) AM_BASE(&videoram) AM_SIZE(&videoram_size) /* Fallthrough */
|
||||
AM_RANGE(0x8400, 0x87ff) AM_BASE(&colorram)
|
||||
AM_RANGE(0x8800, 0x88ff) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x8000, 0x8bff) AM_RAM
|
||||
AM_RANGE(0x9000, 0x93ff) AM_READWRITE(shared1_r,shared1_w) AM_BASE(&sharedram1)
|
||||
AM_RANGE(0x9800, 0x9bff) AM_READWRITE(shared2_r,shared2_w) AM_BASE(&sharedram2)
|
||||
AM_RANGE(0xa000, 0xa000) AM_WRITE(interrupt_enable_w)
|
||||
AM_RANGE(0xa002, 0xa002) AM_WRITE(wiping_flipscreen_w)
|
||||
AM_RANGE(0xa003, 0xa003) AM_WRITE(subcpu_reset_w)
|
||||
AM_RANGE(0xb000, 0xb7ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xa800, 0xa807) AM_READ(ports_r)
|
||||
AM_RANGE(0xb000, 0xb7ff) AM_RAM
|
||||
AM_RANGE(0xb800, 0xb800) AM_WRITE(watchdog_reset_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
/* Sound cpu data */
|
||||
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_READ(shared1_r)
|
||||
AM_RANGE(0x9800, 0x9bff) AM_READ(shared2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM)
|
||||
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x7fff) AM_WRITE(wiping_sound_w) AM_BASE(&wiping_soundregs)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_WRITE(shared1_w)
|
||||
AM_RANGE(0x9800, 0x9bff) AM_WRITE(shared2_w)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_READWRITE(shared1_r,shared1_w)
|
||||
AM_RANGE(0x9800, 0x9bff) AM_READWRITE(shared2_r,shared2_w)
|
||||
AM_RANGE(0xa001, 0xa001) AM_WRITE(interrupt_enable_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( wiping )
|
||||
PORT_START /* 0 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
|
||||
@ -309,12 +291,12 @@ static MACHINE_DRIVER_START( wiping )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80,18432000/6) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80,18432000/6)
|
||||
/* audio CPU */ /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_PERIODIC_INT(irq0_line_hold,120) /* periodic interrupt, don't know about the frequency */
|
||||
|
||||
/* video hardware */
|
||||
|
@ -443,8 +443,8 @@ static ADDRESS_MAP_START( map_main, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xc800, 0xcbff) AM_READWRITE(gfx1_vram_r, gfx1_vram_w) AM_BASE(&gfx1_vram)
|
||||
AM_RANGE(0xcc00, 0xcfff) AM_READWRITE(gfx1_cram_r, gfx1_cram_w) AM_BASE(&gfx1_cram)
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(&sprite_ram)
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_READWRITE(SMH_RAM, paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE(&paletteram)
|
||||
AM_RANGE(0xe800, 0xefff) AM_READWRITE(SMH_RAM, paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE(&paletteram_2)
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE(&paletteram)
|
||||
AM_RANGE(0xe800, 0xefff) AM_RAM AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE(&paletteram_2)
|
||||
AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_SHARE(1)
|
||||
AM_RANGE(0xf100, 0xf17f) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
|
||||
AM_RANGE(0xf180, 0xffff) AM_RAM AM_SHARE(2)
|
||||
|
@ -225,59 +225,47 @@ static WRITE8_HANDLER( wiz_coin_counter_w )
|
||||
coin_counter_w(offset,data);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xd000, 0xd85f) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xe000, 0xe85f) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xf000, 0xf000) AM_READ(input_port_2_r) /* DSW0 */
|
||||
AM_RANGE(0xf008, 0xf008) AM_READ(input_port_3_r) /* DSW1 */
|
||||
AM_RANGE(0xf010, 0xf010) AM_READ(input_port_0_r) /* IN0 */
|
||||
AM_RANGE(0xf018, 0xf018) AM_READ(input_port_1_r) /* IN1 */
|
||||
AM_RANGE(0xf800, 0xf800) AM_READ(watchdog_reset_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM)
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM
|
||||
AM_RANGE(0xc800, 0xc801) AM_WRITE(wiz_coin_counter_w)
|
||||
AM_RANGE(0xd000, 0xd3ff) AM_WRITE(SMH_RAM) AM_BASE(&wiz_videoram2)
|
||||
AM_RANGE(0xd400, 0xd7ff) AM_WRITE(SMH_RAM) AM_BASE(&wiz_colorram2)
|
||||
AM_RANGE(0xd800, 0xd83f) AM_WRITE(SMH_RAM) AM_BASE(&wiz_attributesram2)
|
||||
AM_RANGE(0xd840, 0xd85f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0xe000, 0xe3ff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
|
||||
AM_RANGE(0xe400, 0xe7ff) AM_WRITE(SMH_RAM) AM_BASE(&colorram)
|
||||
AM_RANGE(0xe800, 0xe83f) AM_WRITE(SMH_RAM) AM_BASE(&wiz_attributesram)
|
||||
AM_RANGE(0xe840, 0xe85f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram)
|
||||
AM_RANGE(0xf000, 0xf000) AM_WRITE(SMH_RAM) AM_BASE(&wiz_sprite_bank)
|
||||
AM_RANGE(0xd000, 0xd3ff) AM_BASE(&wiz_videoram2) /* Fallthrough */
|
||||
AM_RANGE(0xd400, 0xd7ff) AM_BASE(&wiz_colorram2)
|
||||
AM_RANGE(0xd800, 0xd83f) AM_BASE(&wiz_attributesram2)
|
||||
AM_RANGE(0xd840, 0xd85f) AM_BASE(&spriteram_2) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0xd000, 0xd85f) AM_RAM
|
||||
AM_RANGE(0xe000, 0xe3ff) AM_BASE(&videoram) AM_SIZE(&videoram_size) /* Fallthrough */
|
||||
AM_RANGE(0xe400, 0xe7ff) AM_BASE(&colorram)
|
||||
AM_RANGE(0xe800, 0xe83f) AM_BASE(&wiz_attributesram)
|
||||
AM_RANGE(0xe840, 0xe85f) AM_BASE(&spriteram)
|
||||
AM_RANGE(0xe000, 0xe85f) AM_RAM
|
||||
AM_RANGE(0xf000, 0xf000) AM_READ(input_port_2_r) /* DSW0 */
|
||||
AM_RANGE(0xf000, 0xf000) AM_RAM AM_BASE(&wiz_sprite_bank)
|
||||
AM_RANGE(0xf001, 0xf001) AM_WRITE(interrupt_enable_w)
|
||||
AM_RANGE(0xf002, 0xf003) AM_WRITE(wiz_palettebank_w)
|
||||
AM_RANGE(0xf004, 0xf005) AM_WRITE(wiz_char_bank_select_w)
|
||||
AM_RANGE(0xf006, 0xf006) AM_WRITE(wiz_flipx_w)
|
||||
AM_RANGE(0xf007, 0xf007) AM_WRITE(wiz_flipy_w)
|
||||
AM_RANGE(0xf008, 0xf00f) AM_WRITE(SMH_NOP) // initialized by Stinger/Scion
|
||||
AM_RANGE(0xf800, 0xf80f) AM_WRITE(sound_command_w) // sound registers
|
||||
AM_RANGE(0xf008, 0xf008) AM_READ(input_port_3_r) /* DSW1 */
|
||||
AM_RANGE(0xf008, 0xf00f) AM_WRITE(SMH_NOP) /* initialized by Stinger/Scion */
|
||||
AM_RANGE(0xf010, 0xf010) AM_READ(input_port_0_r) /* IN0 */
|
||||
AM_RANGE(0xf018, 0xf018) AM_READ(input_port_1_r) /* IN1 */
|
||||
AM_RANGE(0xf800, 0xf800) AM_READ(watchdog_reset_r)
|
||||
AM_RANGE(0xf800, 0xf80f) AM_WRITE(sound_command_w) /* sound registers */
|
||||
AM_RANGE(0xf818, 0xf818) AM_WRITE(wiz_bgcolor_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x2000, 0x23ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r) /* Stinger/Scion */
|
||||
AM_RANGE(0x7000, 0x7000) AM_READ(soundlatch_r) /* Wiz */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x2000, 0x23ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x3000, 0x3000) AM_WRITE(interrupt_enable_w) /* Stinger/Scion */
|
||||
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_ROM
|
||||
AM_RANGE(0x2000, 0x23ff) AM_RAM
|
||||
AM_RANGE(0x3000, 0x3000) AM_READWRITE(soundlatch_r,interrupt_enable_w) /* Stinger/Scion */
|
||||
AM_RANGE(0x4000, 0x4000) AM_WRITE(AY8910_control_port_2_w)
|
||||
AM_RANGE(0x4001, 0x4001) AM_WRITE(AY8910_write_port_2_w)
|
||||
AM_RANGE(0x5000, 0x5000) AM_WRITE(AY8910_control_port_0_w)
|
||||
AM_RANGE(0x5001, 0x5001) AM_WRITE(AY8910_write_port_0_w)
|
||||
AM_RANGE(0x6000, 0x6000) AM_WRITE(AY8910_control_port_1_w) /* Wiz only */
|
||||
AM_RANGE(0x6001, 0x6001) AM_WRITE(AY8910_write_port_1_w) /* Wiz only */
|
||||
AM_RANGE(0x7000, 0x7000) AM_WRITE(interrupt_enable_w) /* Wiz */
|
||||
AM_RANGE(0x6000, 0x6000) AM_WRITE(AY8910_control_port_1_w) /* Wiz only */
|
||||
AM_RANGE(0x6001, 0x6001) AM_WRITE(AY8910_write_port_1_w) /* Wiz only */
|
||||
AM_RANGE(0x7000, 0x7000) AM_READWRITE(soundlatch_r,interrupt_enable_w) /* Wiz */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -705,12 +693,12 @@ static MACHINE_DRIVER_START( wiz )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 18432000/6) /* 3.072 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 14318000/8) /* ? */
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,4) /* ??? */
|
||||
|
||||
/* video hardware */
|
||||
|
@ -142,20 +142,11 @@ static WRITE8_HANDLER( wolfpack_coldetres_w )
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( wolfpack_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x00ff) AM_READ(SMH_RAM) AM_MIRROR(0x100)
|
||||
AM_RANGE(0x1000, 0x1000) AM_READ(wolfpack_input_r)
|
||||
AM_RANGE(0x2000, 0x2000) AM_READ(wolfpack_misc_r)
|
||||
AM_RANGE(0x3000, 0x3000) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x7000, 0x7fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x9000, 0x9000) AM_READ(SMH_NOP) /* debugger ROM location? */
|
||||
AM_RANGE(0xf000, 0xffff) AM_READ(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( wolfpack_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x00ff) AM_WRITE(SMH_RAM) AM_MIRROR(0x100)
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x100)
|
||||
AM_RANGE(0x1000, 0x1000) AM_READ(wolfpack_input_r) /* Fallthrough */
|
||||
AM_RANGE(0x1000, 0x10ff) AM_WRITE(SMH_RAM) AM_BASE(&wolfpack_alpha_num_ram)
|
||||
AM_RANGE(0x2000, 0x2000) AM_READ(wolfpack_misc_r)
|
||||
AM_RANGE(0x2000, 0x2000) AM_WRITE(wolfpack_high_explo_w)
|
||||
AM_RANGE(0x2001, 0x2001) AM_WRITE(wolfpack_sonar_ping_w)
|
||||
AM_RANGE(0x2002, 0x2002) AM_WRITE(wolfpack_sirlat_w)
|
||||
@ -171,6 +162,7 @@ static ADDRESS_MAP_START( wolfpack_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x200d, 0x200d) AM_WRITE(wolfpack_attract_w)
|
||||
AM_RANGE(0x200e, 0x200e) AM_WRITE(wolfpack_pt_pos_select_w)
|
||||
AM_RANGE(0x200f, 0x200f) AM_WRITE(wolfpack_warning_light_w)
|
||||
AM_RANGE(0x3000, 0x3000) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x3000, 0x3000) AM_WRITE(wolfpack_audamp_w)
|
||||
AM_RANGE(0x3001, 0x3001) AM_WRITE(wolfpack_pt_horz_w)
|
||||
AM_RANGE(0x3003, 0x3003) AM_WRITE(wolfpack_pt_pic_w)
|
||||
@ -184,8 +176,9 @@ static ADDRESS_MAP_START( wolfpack_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x4005, 0x4005) AM_WRITE(wolfpack_torpedo_h_w)
|
||||
AM_RANGE(0x4006, 0x4006) AM_WRITE(wolfpack_torpedo_v_w)
|
||||
AM_RANGE(0x5000, 0x5fff) AM_WRITE(watchdog_reset_w)
|
||||
AM_RANGE(0x7000, 0x7fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0xf000, 0xffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x7000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x9000, 0x9000) AM_READ(SMH_NOP) /* debugger ROM location? */
|
||||
AM_RANGE(0xf000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -327,11 +320,11 @@ GFXDECODE_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START(wolfpack)
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6502, 12096000 / 16)
|
||||
MDRV_CPU_PROGRAM_MAP(wolfpack_readmem, wolfpack_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_MACHINE_RESET(wolfpack)
|
||||
|
@ -96,40 +96,30 @@ WRITE16_HANDLER( wrally_coin_counter_w );
|
||||
WRITE16_HANDLER( wrally_coin_lockout_w );
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( wrally_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0x100000, 0x103fff) AM_READ(SMH_RAM) /* encrypted Video RAM */
|
||||
AM_RANGE(0x200000, 0x203fff) AM_READ(SMH_RAM) /* Palette */
|
||||
AM_RANGE(0x440000, 0x440fff) AM_READ(SMH_RAM) /* Sprite RAM */
|
||||
AM_RANGE(0x700000, 0x700001) AM_READ(input_port_0_word_r)/* DSW #1 & #2 */
|
||||
AM_RANGE(0x700002, 0x700003) AM_READ(input_port_1_word_r)/* INPUT 1P & 2P, COINSW, STARTSW */
|
||||
AM_RANGE(0x700004, 0x700005) AM_READ(input_port_2_word_r)/* Wheel */
|
||||
AM_RANGE(0x700008, 0x700009) AM_READ(input_port_3_word_r)/* TESTSW & SERVICESW */
|
||||
AM_RANGE(0x70000e, 0x70000f) AM_READ(OKIM6295_status_0_lsb_r)/* OKI6295 status register */
|
||||
AM_RANGE(0xfe0000, 0xfeffff) AM_READ(SMH_RAM) /* Work RAM (partially shared with DS5002FP) */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static WRITE16_HANDLER( unknown_w )
|
||||
{
|
||||
popmessage("write %04x to %04x", data, offset*2 + 0x6a);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( wrally_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0x100000, 0x103fff) AM_WRITE(wrally_vram_w) AM_BASE(&wrally_videoram) /* encrypted Video RAM */
|
||||
AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&wrally_vregs) /* Video Registers */
|
||||
AM_RANGE(0x10800c, 0x10800d) AM_WRITE(SMH_NOP) /* CLR INT Video */
|
||||
AM_RANGE(0x200000, 0x203fff) AM_WRITE(paletteram16_xxxxBBBBRRRRGGGG_word_w) AM_BASE(&paletteram16)/* Palette */
|
||||
AM_RANGE(0x440000, 0x440fff) AM_WRITE(SMH_RAM) AM_BASE(&wrally_spriteram) /* Sprite RAM */
|
||||
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w) /* OKI6295 bankswitch */
|
||||
AM_RANGE(0x70000e, 0x70000f) AM_WRITE(OKIM6295_data_0_lsb_w) /* OKI6295 data register */
|
||||
AM_RANGE(0x70000a, 0x70001b) AM_WRITE(wrally_coin_lockout_w) /* Coin lockouts */
|
||||
AM_RANGE(0x70002a, 0x70003b) AM_WRITE(wrally_coin_counter_w) /* Coin counters */
|
||||
AM_RANGE(0x70004a, 0x70004b) AM_WRITE(SMH_NOP) /* sound muting */
|
||||
AM_RANGE(0x70005a, 0x70005b) AM_WRITE(SMH_NOP) /* flip screen */
|
||||
AM_RANGE(0x70006a, 0x70007b) AM_WRITE(unknown_w) /* ??? */
|
||||
AM_RANGE(0xfe0000, 0xfeffff) AM_WRITE(SMH_RAM) /* Work RAM (partially shared with DS5002FP) */
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_WRITE(wrally_vram_w) AM_BASE(&wrally_videoram) /* encrypted Video RAM */
|
||||
AM_RANGE(0x108000, 0x108007) AM_RAM AM_BASE(&wrally_vregs) /* Video Registers */
|
||||
AM_RANGE(0x10800c, 0x10800d) AM_WRITE(SMH_NOP) /* CLR INT Video */
|
||||
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_WRITE(paletteram16_xxxxBBBBRRRRGGGG_word_w) AM_BASE(&paletteram16)/* Palette */
|
||||
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&wrally_spriteram) /* Sprite RAM */
|
||||
AM_RANGE(0x700000, 0x700001) AM_READ(input_port_0_word_r) /* DSW #1 & #2 */
|
||||
AM_RANGE(0x700002, 0x700003) AM_READ(input_port_1_word_r) /* INPUT 1P & 2P, COINSW, STARTSW */
|
||||
AM_RANGE(0x700004, 0x700005) AM_READ(input_port_2_word_r) /* Wheel */
|
||||
AM_RANGE(0x700008, 0x700009) AM_READ(input_port_3_word_r) /* TESTSW & SERVICESW */
|
||||
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w) /* OKI6295 bankswitch */
|
||||
AM_RANGE(0x70000e, 0x70000f) AM_READWRITE(OKIM6295_status_0_lsb_r,OKIM6295_data_0_lsb_w)/* OKI6295 status register */
|
||||
AM_RANGE(0x70000a, 0x70001b) AM_WRITE(wrally_coin_lockout_w) /* Coin lockouts */
|
||||
AM_RANGE(0x70002a, 0x70003b) AM_WRITE(wrally_coin_counter_w) /* Coin counters */
|
||||
AM_RANGE(0x70004a, 0x70004b) AM_WRITE(SMH_NOP) /* sound muting */
|
||||
AM_RANGE(0x70005a, 0x70005b) AM_WRITE(SMH_NOP) /* flip screen */
|
||||
AM_RANGE(0x70006a, 0x70007b) AM_WRITE(unknown_w) /* ??? */
|
||||
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM /* Work RAM (partially shared with DS5002FP) */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -230,7 +220,7 @@ GFXDECODE_END
|
||||
static MACHINE_DRIVER_START( wrally )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,XTAL_24MHz/2) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(wrally_readmem,wrally_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", irq6_line_hold)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -78,46 +78,31 @@ static int vblank;
|
||||
Pretty Straightforward
|
||||
*******************************************************************************/
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM) /* Rom */
|
||||
AM_RANGE(0x080000, 0x080fff) AM_READ(SMH_RAM) /* FG0 Ram */
|
||||
AM_RANGE(0x0c0000, 0x0c0fff) AM_READ(SMH_RAM) /* BG0 Ram */
|
||||
AM_RANGE(0x100000, 0x1003ff) AM_READ(SMH_RAM) /* SPR Ram */
|
||||
AM_RANGE(0x180000, 0x180001) AM_READ(input_port_3_word_r) /* DSW0 */
|
||||
AM_RANGE(0x180002, 0x180003) AM_READ(input_port_4_word_r) /* DSW1 */
|
||||
AM_RANGE(0x180004, 0x180005) AM_READ(input_port_0_word_r) /* CTRLS0 */
|
||||
AM_RANGE(0x180006, 0x180007) AM_READ(input_port_1_word_r) /* CTRLS1 */
|
||||
AM_RANGE(0x180008, 0x180009) AM_READ(input_port_2_word_r_cust) /* MISC */
|
||||
AM_RANGE(0x1c0000, 0x1c3fff) AM_READ(SMH_RAM) /* Work Ram */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM) /* Rom */
|
||||
AM_RANGE(0x080000, 0x080fff) AM_WRITE(wwfsstar_fg0_videoram_w) AM_BASE(&wwfsstar_fg0_videoram) /* FG0 Ram */
|
||||
AM_RANGE(0x0c0000, 0x0c0fff) AM_WRITE(wwfsstar_bg0_videoram_w) AM_BASE(&wwfsstar_bg0_videoram) /* BG0 Ram */
|
||||
AM_RANGE(0x100000, 0x1003ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) /* SPR Ram */
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_WRITE(wwfsstar_fg0_videoram_w) AM_BASE(&wwfsstar_fg0_videoram) /* FG0 Ram */
|
||||
AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM AM_WRITE(wwfsstar_bg0_videoram_w) AM_BASE(&wwfsstar_bg0_videoram) /* BG0 Ram */
|
||||
AM_RANGE(0x100000, 0x1003ff) AM_RAM AM_BASE(&spriteram16) /* SPR Ram */
|
||||
AM_RANGE(0x140000, 0x140fff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x180000, 0x180003) AM_WRITE(wwfsstar_irqack_w)
|
||||
AM_RANGE(0x180000, 0x180001) AM_READ(input_port_3_word_r) /* DSW0 */
|
||||
AM_RANGE(0x180002, 0x180003) AM_READ(input_port_4_word_r) /* DSW1 */
|
||||
AM_RANGE(0x180004, 0x180005) AM_READ(input_port_0_word_r) /* CTRLS0 */
|
||||
AM_RANGE(0x180004, 0x180007) AM_WRITE(wwfsstar_scrollwrite)
|
||||
AM_RANGE(0x180006, 0x180007) AM_READ(input_port_1_word_r) /* CTRLS1 */
|
||||
AM_RANGE(0x180008, 0x180009) AM_READ(input_port_2_word_r_cust) /* MISC */
|
||||
AM_RANGE(0x180008, 0x180009) AM_WRITE(wwfsstar_soundwrite)
|
||||
AM_RANGE(0x18000a, 0x18000b) AM_WRITE(wwfsstar_flipscreen_w)
|
||||
AM_RANGE(0x1c0000, 0x1c3fff) AM_WRITE(SMH_RAM) /* Work Ram */
|
||||
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* Work Ram */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( readmem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x8801, 0x8801) AM_READ(YM2151_status_port_0_r)
|
||||
AM_RANGE(0x9800, 0x9800) AM_READ(OKIM6295_status_0_r)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem_sound, 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(0x8800, 0x8800) AM_WRITE(YM2151_register_port_0_w)
|
||||
AM_RANGE(0x8801, 0x8801) AM_WRITE(YM2151_data_port_0_w)
|
||||
AM_RANGE(0x9800, 0x9800) AM_WRITE(OKIM6295_data_0_w)
|
||||
AM_RANGE(0x8801, 0x8801) AM_READWRITE(YM2151_status_port_0_r,YM2151_data_port_0_w)
|
||||
AM_RANGE(0x9800, 0x9800) AM_READWRITE(OKIM6295_status_0_r,OKIM6295_data_0_w)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -361,11 +346,11 @@ static MACHINE_DRIVER_START( wwfsstar )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 10000000)
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(wwfsstars_interrupt,272)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_sound,writemem_sound)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -67,47 +67,30 @@ static WRITE16_HANDLER( wwfwfest_flipscreen_w )
|
||||
still some unknown writes however, sound cpu memory map is the same as dd3
|
||||
*******************************************************************************/
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) /* Rom */
|
||||
AM_RANGE(0x0c0000, 0x0c1fff) AM_READ(SMH_RAM) /* FG0 Ram */
|
||||
AM_RANGE(0x0c2000, 0x0c3fff) AM_READ(SMH_RAM) /* SPR Ram */
|
||||
AM_RANGE(0x080000, 0x080fff) AM_READ(SMH_RAM) /* BG0 Ram */
|
||||
AM_RANGE(0x082000, 0x082fff) AM_READ(SMH_RAM) /* BG1 Ram */
|
||||
AM_RANGE(0x140020, 0x140027) AM_READ(wwfwfest_inputs_read) /* Inputs */
|
||||
AM_RANGE(0x180000, 0x18ffff) AM_READ(wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_r) /* BG0 Ram */
|
||||
AM_RANGE(0x1c0000, 0x1c3fff) AM_READ(SMH_RAM) /* Work Ram */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM) /* Rom */
|
||||
AM_RANGE(0x0c0000, 0x0c1fff) AM_WRITE(wwfwfest_fg0_videoram_w) AM_BASE(&wwfwfest_fg0_videoram) /* FG0 Ram - 4 bytes per tile */
|
||||
AM_RANGE(0x0c2000, 0x0c3fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* SPR Ram */
|
||||
AM_RANGE(0x080000, 0x080fff) AM_WRITE(wwfwfest_bg0_videoram_w) AM_BASE(&wwfwfest_bg0_videoram) /* BG0 Ram - 4 bytes per tile */
|
||||
AM_RANGE(0x082000, 0x082fff) AM_WRITE(wwfwfest_bg1_videoram_w) AM_BASE(&wwfwfest_bg1_videoram) /* BG1 Ram - 2 bytes per tile */
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x0c0000, 0x0c1fff) AM_RAM AM_WRITE(wwfwfest_fg0_videoram_w) AM_BASE(&wwfwfest_fg0_videoram) /* FG0 Ram - 4 bytes per tile */
|
||||
AM_RANGE(0x0c2000, 0x0c3fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* SPR Ram */
|
||||
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_WRITE(wwfwfest_bg0_videoram_w) AM_BASE(&wwfwfest_bg0_videoram) /* BG0 Ram - 4 bytes per tile */
|
||||
AM_RANGE(0x082000, 0x082fff) AM_RAM AM_WRITE(wwfwfest_bg1_videoram_w) AM_BASE(&wwfwfest_bg1_videoram) /* BG1 Ram - 2 bytes per tile */
|
||||
AM_RANGE(0x100000, 0x100007) AM_WRITE(wwfwfest_scroll_write)
|
||||
AM_RANGE(0x10000a, 0x10000b) AM_WRITE(wwfwfest_flipscreen_w)
|
||||
AM_RANGE(0x140000, 0x140001) AM_WRITE(SMH_NOP) /* Irq 3 ack */
|
||||
AM_RANGE(0x140002, 0x140003) AM_WRITE(SMH_NOP) /* Irq 2 ack */
|
||||
AM_RANGE(0x14000C, 0x14000D) AM_WRITE(wwfwfest_soundwrite)
|
||||
AM_RANGE(0x140010, 0x140011) AM_WRITE(wwfwfest_1410_write)
|
||||
AM_RANGE(0x180000, 0x18ffff) AM_WRITE(wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x1c0000, 0x1c3fff) AM_WRITE(SMH_RAM) /* Work Ram */
|
||||
AM_RANGE(0x140020, 0x140027) AM_READ(wwfwfest_inputs_read) /* Inputs */
|
||||
AM_RANGE(0x180000, 0x18ffff) AM_READWRITE(wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_r,wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* Work Ram */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( readmem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xc801, 0xc801) AM_READ(YM2151_status_port_0_r)
|
||||
AM_RANGE(0xd800, 0xd800) AM_READ(OKIM6295_status_0_r)
|
||||
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM)
|
||||
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM
|
||||
AM_RANGE(0xc800, 0xc800) AM_WRITE(YM2151_register_port_0_w)
|
||||
AM_RANGE(0xc801, 0xc801) AM_WRITE(YM2151_data_port_0_w)
|
||||
AM_RANGE(0xd800, 0xd800) AM_WRITE(OKIM6295_data_0_w)
|
||||
AM_RANGE(0xc801, 0xc801) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w)
|
||||
AM_RANGE(0xd800, 0xd800) AM_READWRITE(OKIM6295_status_0_r,OKIM6295_data_0_w)
|
||||
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
|
||||
AM_RANGE(0xe800, 0xe800) AM_WRITE(oki_bankswitch_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -404,12 +387,12 @@ static MACHINE_DRIVER_START( wwfwfest )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 24000000/2) /* 24 crystal, 12 rated chip */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(wwfwfest_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_sound,writemem_sound)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
||||
|
@ -377,7 +377,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x182000, 0x183fff) AM_READWRITE(K056832_ram_word_r, K056832_ram_word_w)
|
||||
AM_RANGE(0x190000, 0x191fff) AM_READWRITE(K056832_rom_word_r, SMH_ROM) // Passthrough to tile roms
|
||||
AM_RANGE(0x1a0000, 0x1a1fff) AM_READ(K053250_0_rom_r)
|
||||
AM_RANGE(0x1b0000, 0x1b1fff) AM_READWRITE(SMH_RAM, paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x1b0000, 0x1b1fff) AM_RAM AM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
|
||||
|
||||
#if XE_DEBUG
|
||||
AM_RANGE(0x0c0000, 0x0c003f) AM_READ(K056832_word_r)
|
||||
|
@ -175,7 +175,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x080000, 0x0fffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x100fff) AM_READWRITE(K053247_word_r, K053247_word_w)
|
||||
AM_RANGE(0x101000, 0x101fff) AM_RAM
|
||||
AM_RANGE(0x104000, 0x104fff) AM_READWRITE(SMH_RAM, paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x104000, 0x104fff) AM_RAM AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w)
|
||||
AM_RANGE(0x108020, 0x108027) AM_WRITE(K053246_word_w)
|
||||
AM_RANGE(0x10804c, 0x10804d) AM_WRITE(sound_cmd_w)
|
||||
|
@ -118,7 +118,7 @@ static ADDRESS_MAP_START( map1, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xc800, 0xcfff) AM_SHARE(2) AM_READWRITE(xxmissio_bgram_r, xxmissio_bgram_w) AM_BASE(&xxmissio_bgram)
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_SHARE(3) AM_RAM AM_BASE(&xxmissio_spriteram)
|
||||
|
||||
AM_RANGE(0xd800, 0xdaff) AM_SHARE(4) AM_READWRITE(SMH_RAM, xxmissio_paletteram_w) AM_BASE(&paletteram)
|
||||
AM_RANGE(0xd800, 0xdaff) AM_SHARE(4) AM_RAM AM_WRITE(xxmissio_paletteram_w) AM_BASE(&paletteram)
|
||||
|
||||
AM_RANGE(0xe000, 0xefff) AM_SHARE(5) AM_RAM
|
||||
AM_RANGE(0xf000, 0xffff) AM_SHARE(6) AM_RAM
|
||||
@ -145,7 +145,7 @@ static ADDRESS_MAP_START( map2, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xc800, 0xcfff) AM_SHARE(2) AM_READWRITE(xxmissio_bgram_r, xxmissio_bgram_w)
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_SHARE(3) AM_RAM
|
||||
|
||||
AM_RANGE(0xd800, 0xdaff) AM_SHARE(4) AM_READWRITE(SMH_RAM, xxmissio_paletteram_w)
|
||||
AM_RANGE(0xd800, 0xdaff) AM_SHARE(4) AM_RAM AM_WRITE(xxmissio_paletteram_w)
|
||||
|
||||
AM_RANGE(0xe000, 0xefff) AM_SHARE(6) AM_RAM
|
||||
AM_RANGE(0xf000, 0xffff) AM_SHARE(5) AM_RAM
|
||||
|
@ -152,7 +152,7 @@ static WRITE8_HANDLER ( xyonix_io_w )
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xdfff) AM_RAM
|
||||
AM_RANGE(0xe000, 0xffff) AM_READWRITE(SMH_RAM, xyonix_vidram_w) AM_BASE(&xyonix_vidram)
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM AM_WRITE(xyonix_vidram_w) AM_BASE(&xyonix_vidram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 )
|
||||
|
@ -204,9 +204,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xa7fc, 0xa7fc) AM_WRITE(prot_lock_w)
|
||||
AM_RANGE(0xa7ff, 0xa7ff) AM_WRITE(eeprom_w)
|
||||
AM_RANGE(0xaf80, 0xafff) AM_READWRITE(custom_ram_r, custom_ram_w) AM_BASE(&cus_ram) /*260d - 2626*/
|
||||
AM_RANGE(0xb000, 0xb0ff) AM_READWRITE(SMH_RAM, paletteram_RRRGGGBB_w) AM_BASE(&paletteram) /*Wrong format*/
|
||||
AM_RANGE(0xc000, 0xc3ff) AM_READWRITE(SMH_RAM, yumefuda_vram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0xd000, 0xd3ff) AM_READWRITE(SMH_RAM, yumefuda_cram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0xb000, 0xb0ff) AM_RAM AM_WRITE(paletteram_RRRGGGBB_w) AM_BASE(&paletteram) /*Wrong format*/
|
||||
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_WRITE(yumefuda_vram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_WRITE(yumefuda_cram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -134,15 +134,15 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x800102, 0x800103) AM_WRITE(SMH_NOP ) // ? $9080
|
||||
AM_RANGE(0x800104, 0x800105) AM_WRITE(SMH_NOP ) // ? $90c0
|
||||
AM_RANGE(0x80010a, 0x80010b) AM_WRITE(SMH_NOP ) // ? $9000
|
||||
AM_RANGE(0x80010c, 0x80010f) AM_WRITE(SMH_RAM) AM_BASE(&yunsun16_scroll_1 ) // Scrolling
|
||||
AM_RANGE(0x800114, 0x800117) AM_WRITE(SMH_RAM) AM_BASE(&yunsun16_scroll_0 ) // Scrolling
|
||||
AM_RANGE(0x800154, 0x800155) AM_WRITE(SMH_RAM) AM_BASE(&yunsun16_priority ) // Priority
|
||||
AM_RANGE(0x80010c, 0x80010f) AM_RAM AM_BASE(&yunsun16_scroll_1 ) // Scrolling
|
||||
AM_RANGE(0x800114, 0x800117) AM_RAM AM_BASE(&yunsun16_scroll_0 ) // Scrolling
|
||||
AM_RANGE(0x800154, 0x800155) AM_RAM AM_BASE(&yunsun16_priority ) // Priority
|
||||
AM_RANGE(0x800180, 0x800181) AM_WRITE(yunsun16_sound_bank_w ) // Sound
|
||||
AM_RANGE(0x800188, 0x800189) AM_READWRITE(OKIM6295_status_0_lsb_r, OKIM6295_data_0_lsb_w ) // Sound
|
||||
AM_RANGE(0x8001fe, 0x8001ff) AM_WRITE(SMH_NOP ) // ? 0 (during int)
|
||||
AM_RANGE(0x900000, 0x903fff) AM_READWRITE(SMH_RAM, paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
|
||||
AM_RANGE(0x908000, 0x90bfff) AM_READWRITE(SMH_RAM, yunsun16_vram_1_w) AM_BASE(&yunsun16_vram_1 ) // Layer 1
|
||||
AM_RANGE(0x90c000, 0x90ffff) AM_READWRITE(SMH_RAM, yunsun16_vram_0_w) AM_BASE(&yunsun16_vram_0 ) // Layer 0
|
||||
AM_RANGE(0x900000, 0x903fff) AM_RAM AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
|
||||
AM_RANGE(0x908000, 0x90bfff) AM_RAM AM_WRITE(yunsun16_vram_1_w) AM_BASE(&yunsun16_vram_1 ) // Layer 1
|
||||
AM_RANGE(0x90c000, 0x90ffff) AM_RAM AM_WRITE(yunsun16_vram_0_w) AM_BASE(&yunsun16_vram_0 ) // Layer 0
|
||||
AM_RANGE(0x910000, 0x910fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites
|
||||
AM_RANGE(0xff0000, 0xffffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
@ -25,7 +25,7 @@ VIDEO_UPDATE( tinvader );
|
||||
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x17ff) AM_ROM
|
||||
AM_RANGE(0x1800, 0x1bff) AM_READWRITE(SMH_RAM, tinvader_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x1800, 0x1bff) AM_RAM AM_WRITE(tinvader_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x1c00, 0x1cff) AM_RAM
|
||||
AM_RANGE(0x1d00, 0x1dff) AM_RAM
|
||||
AM_RANGE(0x1e80, 0x1e80) AM_READWRITE(tinvader_port_0_r, tinvader_sound_w)
|
||||
|
@ -475,7 +475,7 @@ static WRITE8_HANDLER( zaxxon_coin_lockout_w )
|
||||
static ADDRESS_MAP_START( zaxxon_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x5fff) AM_ROM
|
||||
AM_RANGE(0x6000, 0x6fff) AM_RAM
|
||||
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x1c00) AM_READWRITE(SMH_RAM, zaxxon_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x1c00) AM_RAM AM_WRITE(zaxxon_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0xa000, 0xa0ff) AM_MIRROR(0x1f00) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x18fc) AM_READ_PORT("SW00")
|
||||
AM_RANGE(0xc001, 0xc001) AM_MIRROR(0x18fc) AM_READ_PORT("SW01")
|
||||
@ -498,8 +498,8 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( congo_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x8fff) AM_RAM
|
||||
AM_RANGE(0xa000, 0xa3ff) AM_MIRROR(0x1800) AM_READWRITE(SMH_RAM, zaxxon_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0xa400, 0xa7ff) AM_MIRROR(0x1800) AM_READWRITE(SMH_RAM, congo_colorram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0xa000, 0xa3ff) AM_MIRROR(0x1800) AM_RAM AM_WRITE(zaxxon_videoram_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0xa400, 0xa7ff) AM_MIRROR(0x1800) AM_RAM AM_WRITE(congo_colorram_w) AM_BASE(&colorram)
|
||||
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x1fc4) AM_READ_PORT("SW00")
|
||||
AM_RANGE(0xc001, 0xc001) AM_MIRROR(0x1fc4) AM_READ_PORT("SW01")
|
||||
AM_RANGE(0xc002, 0xc002) AM_MIRROR(0x1fc4) AM_READ_PORT("DSW02")
|
||||
|
Loading…
Reference in New Issue
Block a user