madshark, magspeed: Add IRQ acks and PIT for latter (nw)

This commit is contained in:
AJR 2017-12-29 20:41:46 -05:00
parent 216e7958ee
commit 6cae274c80

View File

@ -1522,7 +1522,7 @@ WRITE_LINE_MEMBER(seta_state::utoukond_ym3438_interrupt)
WRITE_LINE_MEMBER(seta_state::pit_out0) WRITE_LINE_MEMBER(seta_state::pit_out0)
{ {
if (state) if (state)
m_maincpu->set_input_line(4, HOLD_LINE); m_maincpu->set_input_line(4, ASSERT_LINE);
} }
@ -2580,8 +2580,9 @@ static ADDRESS_MAP_START( madshark_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("COINS") // Coins AM_RANGE(0x500004, 0x500005) AM_READ_PORT("COINS") // Coins
AM_RANGE(0x500008, 0x50000b) AM_READ(seta_dsw_r) // DSW AM_RANGE(0x500008, 0x50000b) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x50000c, 0x50000d) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) AM_RANGE(0x50000c, 0x50000d) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x600004, 0x600005) AM_WRITE(ipl1_ack_w)
AM_RANGE(0x600000, 0x600005) AM_RAM_WRITE(seta_vregs_w) AM_SHARE("vregs") // ? Coin Lockout + Video Registers AM_RANGE(0x600000, 0x600005) AM_RAM_WRITE(seta_vregs_w) AM_SHARE("vregs") // ? Coin Lockout + Video Registers
AM_RANGE(0x600006, 0x600007) AM_WRITENOP // ? AM_RANGE(0x600006, 0x600007) AM_WRITE(ipl2_ack_w)
AM_RANGE(0x700400, 0x700fff) AM_RAM AM_SHARE("paletteram") // Palette AM_RANGE(0x700400, 0x700fff) AM_RAM AM_SHARE("paletteram") // Palette
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_SHARE("vram_0") // VRAM 0&1 AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_SHARE("vram_0") // VRAM 0&1
AM_RANGE(0x880000, 0x883fff) AM_RAM_WRITE(seta_vram_2_w) AM_SHARE("vram_2") // VRAM 2&3 AM_RANGE(0x880000, 0x883fff) AM_RAM_WRITE(seta_vram_2_w) AM_SHARE("vram_2") // VRAM 2&3
@ -2617,8 +2618,8 @@ static ADDRESS_MAP_START( magspeed_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x500008, 0x50000b) AM_READ(seta_dsw_r) // DSW AM_RANGE(0x500008, 0x50000b) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x50000c, 0x50000d) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) AM_RANGE(0x50000c, 0x50000d) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x500010, 0x500015) AM_RAM_WRITE(msgundam_vregs_w) AM_SHARE("vregs") // ? Coin Lockout + Video Registers AM_RANGE(0x500010, 0x500015) AM_RAM_WRITE(msgundam_vregs_w) AM_SHARE("vregs") // ? Coin Lockout + Video Registers
AM_RANGE(0x500018, 0x500019) AM_WRITENOP // lev 2 irq ack? AM_RANGE(0x500018, 0x500019) AM_WRITE(ipl1_ack_w) // lev 2 irq ack?
AM_RANGE(0x50001c, 0x50001d) AM_WRITENOP // lev 4 irq ack? AM_RANGE(0x50001c, 0x50001d) AM_WRITE(ipl2_ack_w) // lev 4 irq ack?
AM_RANGE(0x600000, 0x600005) AM_WRITE(magspeed_lights_w) // Lights AM_RANGE(0x600000, 0x600005) AM_WRITE(magspeed_lights_w) // Lights
AM_RANGE(0x600006, 0x600007) AM_WRITENOP // ? AM_RANGE(0x600006, 0x600007) AM_WRITENOP // ?
AM_RANGE(0x700000, 0x7003ff) AM_RAM // Palette RAM (tested) AM_RANGE(0x700000, 0x7003ff) AM_RAM // Palette RAM (tested)
@ -2635,11 +2636,7 @@ static ADDRESS_MAP_START( magspeed_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? $4000 AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? $4000
AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecode_r16, spritecode_w16) // Sprites Code + X + Attr AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
AM_RANGE(0xb04000, 0xb07fff) AM_RAM // tested AM_RANGE(0xb04000, 0xb07fff) AM_RAM // tested
#if __uPD71054_TIMER AM_RANGE(0xc00000, 0xc00007) AM_DEVREADWRITE8("pit", pit8254_device, read, write, 0x00ff)
AM_RANGE(0xc00000, 0xc00007) AM_WRITE(timer_regs_w) // ?
#else
AM_RANGE(0xc00000, 0xc00007) AM_WRITENOP // ?
#endif
AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
ADDRESS_MAP_END ADDRESS_MAP_END
@ -8931,7 +8928,7 @@ static MACHINE_CONFIG_START( madshark )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */
MCFG_CPU_PROGRAM_MAP(madshark_map) MCFG_CPU_PROGRAM_MAP(madshark_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, wrofaero_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_assert)
MCFG_DEVICE_ADD("pit", PIT8254, 0) // uPD71054C MCFG_DEVICE_ADD("pit", PIT8254, 0) // uPD71054C
MCFG_PIT8253_CLK0(16000000/2/8) MCFG_PIT8253_CLK0(16000000/2/8)
@ -8977,13 +8974,13 @@ static MACHINE_CONFIG_START( magspeed )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */
MCFG_CPU_PROGRAM_MAP(magspeed_map) MCFG_CPU_PROGRAM_MAP(magspeed_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, wrofaero_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_assert)
MCFG_WATCHDOG_ADD("watchdog") MCFG_WATCHDOG_ADD("watchdog")
#if __uPD71054_TIMER MCFG_DEVICE_ADD("pit", PIT8254, 0) // uPD71054C
MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero ) MCFG_PIT8253_CLK0(16000000/2/8)
#endif // __uPD71054_TIMER MCFG_PIT8253_OUT0_HANDLER(WRITELINE(seta_state, pit_out0))
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode") MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")