mirror of
https://github.com/holub/mame
synced 2025-07-03 00:56:03 +03:00
Replace MCFG_CPU_VBLANK_INT with line callbacks in more Konami games (nw)
This commit is contained in:
parent
d320e9e156
commit
16125666f7
@ -26,10 +26,10 @@
|
||||
*
|
||||
*************************************/
|
||||
|
||||
INTERRUPT_GEN_MEMBER(_88games_state::k88games_interrupt)
|
||||
WRITE_LINE_MEMBER(_88games_state::vblank_irq)
|
||||
{
|
||||
if (m_k052109->is_irq_enabled())
|
||||
irq0_line_hold(device);
|
||||
if (state && m_k052109->is_irq_enabled())
|
||||
m_maincpu->set_input_line(0, HOLD_LINE);
|
||||
}
|
||||
|
||||
READ8_MEMBER(_88games_state::bankedram_r)
|
||||
@ -309,7 +309,6 @@ MACHINE_CONFIG_START(_88games_state::_88games)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* ? */
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", _88games_state, k88games_interrupt)
|
||||
MCFG_KONAMICPU_LINE_CB(WRITE8(_88games_state, banking_callback))
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
|
||||
@ -327,6 +326,7 @@ MACHINE_CONFIG_START(_88games_state::_88games)
|
||||
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 2*8, 30*8-1 )
|
||||
MCFG_SCREEN_UPDATE_DRIVER(_88games_state, screen_update_88games)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(_88games_state, vblank_irq))
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
MCFG_PALETTE_ENABLE_SHADOWS()
|
||||
|
@ -31,10 +31,10 @@
|
||||
*
|
||||
*************************************/
|
||||
|
||||
INTERRUPT_GEN_MEMBER(battlnts_state::battlnts_interrupt)
|
||||
WRITE_LINE_MEMBER(battlnts_state::vblank_irq)
|
||||
{
|
||||
if (m_k007342->is_int_enabled())
|
||||
device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE);
|
||||
if (state && m_k007342->is_int_enabled())
|
||||
m_maincpu->set_input_line(HD6309_IRQ_LINE, HOLD_LINE);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(battlnts_state::battlnts_sh_irqtrigger_w)
|
||||
@ -236,7 +236,6 @@ MACHINE_CONFIG_START(battlnts_state::battlnts)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD6309, XTAL(24'000'000) / 2 /* 3000000*4? */)
|
||||
MCFG_CPU_PROGRAM_MAP(battlnts_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", battlnts_state, battlnts_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, XTAL(24'000'000) / 6 /* 3579545? */)
|
||||
MCFG_CPU_PROGRAM_MAP(battlnts_sound_map)
|
||||
@ -251,6 +250,7 @@ MACHINE_CONFIG_START(battlnts_state::battlnts)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(battlnts_state, screen_update_battlnts)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(battlnts_state, vblank_irq))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", battlnts)
|
||||
MCFG_PALETTE_ADD("palette", 128)
|
||||
|
@ -25,10 +25,10 @@
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(bottom9_state::bottom9_interrupt)
|
||||
WRITE_LINE_MEMBER(bottom9_state::vblank_irq)
|
||||
{
|
||||
if (m_k052109->is_irq_enabled())
|
||||
device.execute().set_input_line(0, HOLD_LINE);
|
||||
if (state && m_k052109->is_irq_enabled())
|
||||
m_maincpu->set_input_line(0, HOLD_LINE);
|
||||
}
|
||||
|
||||
READ8_MEMBER(bottom9_state::k052109_051960_r)
|
||||
@ -305,7 +305,6 @@ MACHINE_CONFIG_START(bottom9_state::bottom9)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD6309E, XTAL(24'000'000) / 8) // 63C09E
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", bottom9_state, bottom9_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, XTAL(3'579'545))
|
||||
MCFG_CPU_PROGRAM_MAP(audio_map)
|
||||
@ -321,6 +320,7 @@ MACHINE_CONFIG_START(bottom9_state::bottom9)
|
||||
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
|
||||
MCFG_SCREEN_UPDATE_DRIVER(bottom9_state, screen_update_bottom9)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(bottom9_state, vblank_irq))
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 1024)
|
||||
MCFG_PALETTE_ENABLE_SHADOWS()
|
||||
|
@ -111,10 +111,10 @@ WRITE8_MEMBER(jailbrek_state::coin_w)
|
||||
machine().bookkeeping().coin_counter_w(1, data & 0x02);
|
||||
}
|
||||
|
||||
INTERRUPT_GEN_MEMBER(jailbrek_state::interrupt)
|
||||
WRITE_LINE_MEMBER(jailbrek_state::vblank_irq)
|
||||
{
|
||||
if (m_irq_enable)
|
||||
device.execute().set_input_line(0, HOLD_LINE);
|
||||
if (state && m_irq_enable)
|
||||
m_maincpu->set_input_line(0, HOLD_LINE);
|
||||
}
|
||||
|
||||
INTERRUPT_GEN_MEMBER(jailbrek_state::interrupt_nmi)
|
||||
@ -266,7 +266,6 @@ MACHINE_CONFIG_START(jailbrek_state::jailbrek)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", KONAMI1, MASTER_CLOCK/12)
|
||||
MCFG_CPU_PROGRAM_MAP(jailbrek_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", jailbrek_state, interrupt)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(jailbrek_state, interrupt_nmi, 500) /* ? */
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
@ -281,6 +280,7 @@ MACHINE_CONFIG_START(jailbrek_state::jailbrek)
|
||||
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 396, 8, 248, 256, 16, 240)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(jailbrek_state, screen_update)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(jailbrek_state, vblank_irq))
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
@ -21,10 +21,10 @@
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(labyrunr_state::labyrunr_vblank_interrupt)
|
||||
WRITE_LINE_MEMBER(labyrunr_state::vblank_irq)
|
||||
{
|
||||
if (m_k007121->ctrlram_r(7) & 0x02)
|
||||
device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE);
|
||||
if (state && (m_k007121->ctrlram_r(7) & 0x02))
|
||||
m_maincpu->set_input_line(HD6309_IRQ_LINE, HOLD_LINE);
|
||||
}
|
||||
|
||||
INTERRUPT_GEN_MEMBER(labyrunr_state::labyrunr_timer_interrupt)
|
||||
@ -169,7 +169,6 @@ MACHINE_CONFIG_START(labyrunr_state::labyrunr)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD6309, 3000000*4) /* 24MHz/8? */
|
||||
MCFG_CPU_PROGRAM_MAP(labyrunr_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", labyrunr_state, labyrunr_vblank_interrupt)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(labyrunr_state, labyrunr_timer_interrupt, 4*60)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
@ -182,6 +181,7 @@ MACHINE_CONFIG_START(labyrunr_state::labyrunr)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 35*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(labyrunr_state, screen_update_labyrunr)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(labyrunr_state, vblank_irq))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", labyrunr)
|
||||
MCFG_PALETTE_ADD("palette", 2*8*16*16)
|
||||
|
@ -66,16 +66,16 @@ So this is the correct behavior of real hardware, not an emulation bug.
|
||||
#include "konamigt.lh"
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(nemesis_state::nemesis_interrupt)
|
||||
WRITE_LINE_MEMBER(nemesis_state::nemesis_vblank_irq)
|
||||
{
|
||||
if (m_irq_on)
|
||||
device.execute().set_input_line(1, HOLD_LINE);
|
||||
if (state && m_irq_on)
|
||||
m_maincpu->set_input_line(1, HOLD_LINE);
|
||||
}
|
||||
|
||||
INTERRUPT_GEN_MEMBER(nemesis_state::blkpnthr_interrupt)
|
||||
WRITE_LINE_MEMBER(nemesis_state::blkpnthr_vblank_irq)
|
||||
{
|
||||
if (m_irq_on)
|
||||
device.execute().set_input_line(2, HOLD_LINE);
|
||||
if (state && m_irq_on)
|
||||
m_maincpu->set_input_line(2, HOLD_LINE);
|
||||
}
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(nemesis_state::konamigt_interrupt)
|
||||
@ -1464,7 +1464,6 @@ MACHINE_CONFIG_START(nemesis_state::nemesis)
|
||||
MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */
|
||||
// 14318180/2, /* From schematics, should be accurate */
|
||||
MCFG_CPU_PROGRAM_MAP(nemesis_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* From schematics, should be accurate */
|
||||
MCFG_CPU_PROGRAM_MAP(sound_map) /* fixed */
|
||||
@ -1489,6 +1488,7 @@ MACHINE_CONFIG_START(nemesis_state::nemesis)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(nemesis_state, nemesis_vblank_irq))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
@ -1534,7 +1534,6 @@ MACHINE_CONFIG_START(nemesis_state::gx400)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(gx400_sound_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */
|
||||
|
||||
MCFG_DEVICE_ADD("outlatch", LS259, 0)
|
||||
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(nemesis_state, coin1_lockout_w))
|
||||
@ -1558,6 +1557,7 @@ MACHINE_CONFIG_START(nemesis_state::gx400)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
@ -1674,7 +1674,6 @@ MACHINE_CONFIG_START(nemesis_state::rf2_gx400)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(gx400_sound_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */
|
||||
|
||||
MCFG_DEVICE_ADD("outlatch", LS259, 0)
|
||||
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(nemesis_state, coin1_lockout_w))
|
||||
@ -1698,6 +1697,7 @@ MACHINE_CONFIG_START(nemesis_state::rf2_gx400)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
@ -1743,7 +1743,6 @@ MACHINE_CONFIG_START(nemesis_state::salamand)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(salamand_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(sal_sound_map)
|
||||
@ -1759,6 +1758,7 @@ MACHINE_CONFIG_START(nemesis_state::salamand)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(nemesis_state, nemesis_vblank_irq))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
@ -1794,7 +1794,6 @@ MACHINE_CONFIG_START(nemesis_state::blkpnthr)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */
|
||||
MCFG_CPU_PROGRAM_MAP(blkpnthr_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, blkpnthr_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(blkpnthr_sound_map)
|
||||
@ -1810,6 +1809,7 @@ MACHINE_CONFIG_START(nemesis_state::blkpnthr)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(nemesis_state, blkpnthr_vblank_irq))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
@ -1840,7 +1840,6 @@ MACHINE_CONFIG_START(nemesis_state::citybomb)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */
|
||||
MCFG_CPU_PROGRAM_MAP(citybomb_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(city_sound_map)
|
||||
@ -1856,6 +1855,7 @@ MACHINE_CONFIG_START(nemesis_state::citybomb)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(nemesis_state, nemesis_vblank_irq))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
@ -1890,7 +1890,6 @@ MACHINE_CONFIG_START(nemesis_state::nyanpani)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */
|
||||
MCFG_CPU_PROGRAM_MAP(nyanpani_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(city_sound_map)
|
||||
@ -1906,6 +1905,7 @@ MACHINE_CONFIG_START(nemesis_state::nyanpani)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(nemesis_state, nemesis_vblank_irq))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
@ -2698,7 +2698,6 @@ MACHINE_CONFIG_START(nemesis_state::bubsys)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(gx400_sound_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */
|
||||
|
||||
MCFG_DEVICE_ADD("outlatch", LS259, 0)
|
||||
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(nemesis_state, coin1_lockout_w))
|
||||
@ -2722,6 +2721,7 @@ MACHINE_CONFIG_START(nemesis_state::bubsys)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
|
@ -61,10 +61,10 @@ Notes:
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(rockrage_state::rockrage_interrupt)
|
||||
WRITE_LINE_MEMBER(rockrage_state::vblank_irq)
|
||||
{
|
||||
if (m_k007342->is_int_enabled())
|
||||
device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE);
|
||||
if (state && m_k007342->is_int_enabled())
|
||||
m_maincpu->set_input_line(HD6309_IRQ_LINE, HOLD_LINE);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(rockrage_state::rockrage_bankswitch_w)
|
||||
@ -253,7 +253,6 @@ MACHINE_CONFIG_START(rockrage_state::rockrage)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", HD6309E, XTAL(24'000'000) / 8)
|
||||
MCFG_CPU_PROGRAM_MAP(rockrage_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", rockrage_state, rockrage_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", MC6809E, XTAL(24'000'000) / 16)
|
||||
MCFG_CPU_PROGRAM_MAP(rockrage_sound_map)
|
||||
@ -268,6 +267,7 @@ MACHINE_CONFIG_START(rockrage_state::rockrage)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(rockrage_state, screen_update_rockrage)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(rockrage_state, vblank_irq))
|
||||
|
||||
MCFG_K007342_ADD("k007342")
|
||||
MCFG_K007342_GFXNUM(0)
|
||||
|
@ -58,10 +58,6 @@ Known Issues:
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
#define CPUA_IRQ_ENABLE (m_CPUA_register & 0x20)
|
||||
#define CPUB_IRQ_ENABLE (m_CPUB_register & 0x02)
|
||||
|
||||
|
||||
|
||||
|
||||
int twin16_state::spriteram_process_enable( )
|
||||
@ -638,18 +634,6 @@ WRITE8_MEMBER(twin16_state::volume_callback)
|
||||
m_k007232->set_volume(1,0,(data & 0x0f) * 0x11);
|
||||
}
|
||||
|
||||
/* Interrupt Generators */
|
||||
|
||||
INTERRUPT_GEN_MEMBER(twin16_state::CPUA_interrupt)
|
||||
{
|
||||
if (CPUA_IRQ_ENABLE) device.execute().set_input_line(5, HOLD_LINE);
|
||||
}
|
||||
|
||||
INTERRUPT_GEN_MEMBER(twin16_state::CPUB_interrupt)
|
||||
{
|
||||
if (CPUB_IRQ_ENABLE) device.execute().set_input_line(5, HOLD_LINE);
|
||||
}
|
||||
|
||||
/* Machine Drivers */
|
||||
|
||||
void twin16_state::machine_reset()
|
||||
@ -669,11 +653,9 @@ MACHINE_CONFIG_START(twin16_state::twin16)
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD("maincpu", M68000, XTAL(18'432'000)/2)
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", twin16_state, CPUA_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("sub", M68000, XTAL(18'432'000)/2)
|
||||
MCFG_CPU_PROGRAM_MAP(sub_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", twin16_state, CPUB_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, XTAL(3'579'545))
|
||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||
@ -728,7 +710,6 @@ MACHINE_CONFIG_START(fround_state::fround)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000, XTAL(18'432'000)/2)
|
||||
MCFG_CPU_PROGRAM_MAP(fround_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", twin16_state, CPUA_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, XTAL(3'579'545))
|
||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||
|
@ -60,7 +60,7 @@ public:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
uint32_t screen_update_88games(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(k88games_interrupt);
|
||||
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
|
||||
K051316_CB_MEMBER(zoom_callback);
|
||||
K052109_CB_MEMBER(tile_callback);
|
||||
K051960_CB_MEMBER(sprite_callback);
|
||||
|
@ -38,7 +38,7 @@ public:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
uint32_t screen_update_battlnts(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(battlnts_interrupt);
|
||||
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
|
||||
K007342_CALLBACK_MEMBER(battlnts_tile_callback);
|
||||
K007420_CALLBACK_MEMBER(battlnts_sprite_callback);
|
||||
void battlnts(machine_config &config);
|
||||
|
@ -54,7 +54,7 @@ public:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
uint32_t screen_update_bottom9(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(bottom9_interrupt);
|
||||
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
|
||||
INTERRUPT_GEN_MEMBER(bottom9_sound_interrupt);
|
||||
DECLARE_WRITE8_MEMBER(volume_callback0);
|
||||
DECLARE_WRITE8_MEMBER(volume_callback1);
|
||||
|
@ -57,7 +57,7 @@ public:
|
||||
virtual void video_start() override;
|
||||
DECLARE_PALETTE_INIT(jailbrek);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(interrupt);
|
||||
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
|
||||
INTERRUPT_GEN_MEMBER(interrupt_nmi);
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
void jailbrek(machine_config &config);
|
||||
|
@ -54,7 +54,7 @@ public:
|
||||
virtual void video_start() override;
|
||||
DECLARE_PALETTE_INIT(labyrunr);
|
||||
uint32_t screen_update_labyrunr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(labyrunr_vblank_interrupt);
|
||||
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
|
||||
INTERRUPT_GEN_MEMBER(labyrunr_timer_interrupt);
|
||||
void labyrunr(machine_config &config);
|
||||
void labyrunr_map(address_map &map);
|
||||
|
@ -120,8 +120,8 @@ public:
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update_nemesis(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(nemesis_interrupt);
|
||||
INTERRUPT_GEN_MEMBER(blkpnthr_interrupt);
|
||||
DECLARE_WRITE_LINE_MEMBER(nemesis_vblank_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(blkpnthr_vblank_irq);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(konamigt_interrupt);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(gx400_interrupt);
|
||||
void create_palette_lookups();
|
||||
|
@ -51,7 +51,7 @@ public:
|
||||
virtual void machine_reset() override;
|
||||
DECLARE_PALETTE_INIT(rockrage);
|
||||
uint32_t screen_update_rockrage(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(rockrage_interrupt);
|
||||
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
|
||||
K007342_CALLBACK_MEMBER(rockrage_tile_callback);
|
||||
K007420_CALLBACK_MEMBER(rockrage_sprite_callback);
|
||||
|
||||
|
@ -77,8 +77,6 @@ public:
|
||||
|
||||
uint32_t screen_update_twin16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
DECLARE_WRITE_LINE_MEMBER(screen_vblank_twin16);
|
||||
INTERRUPT_GEN_MEMBER(CPUA_interrupt);
|
||||
INTERRUPT_GEN_MEMBER(CPUB_interrupt);
|
||||
TIMER_CALLBACK_MEMBER(sprite_tick);
|
||||
DECLARE_WRITE8_MEMBER(volume_callback);
|
||||
void devilw(machine_config &config);
|
||||
|
@ -564,5 +564,11 @@ WRITE_LINE_MEMBER(twin16_state::screen_vblank_twin16)
|
||||
else {
|
||||
m_spriteram->copy();
|
||||
}
|
||||
|
||||
// IRQ generation
|
||||
if (m_CPUA_register & 0x20)
|
||||
m_maincpu->set_input_line(5, HOLD_LINE);
|
||||
if (m_subcpu.found() && (m_CPUB_register & 0x02))
|
||||
m_subcpu->set_input_line(5, HOLD_LINE);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user