mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
bombjack: Use MCFG_SCREEN_VBLANK_CALLBACK instead of MCFG_CPU_VBLANK_INT (nw)
This commit is contained in:
parent
f19a46cfdb
commit
7d411bb076
@ -125,7 +125,9 @@ READ8_MEMBER(bombjack_state::soundlatch_read_and_clear)
|
||||
|
||||
WRITE8_MEMBER(bombjack_state::irq_mask_w)
|
||||
{
|
||||
m_nmi_mask = data & 1;
|
||||
m_nmi_mask = BIT(data, 0);
|
||||
if (!m_nmi_mask)
|
||||
m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
|
||||
}
|
||||
|
||||
void bombjack_state::main_map(address_map &map)
|
||||
@ -330,19 +332,21 @@ GFXDECODE_END
|
||||
void bombjack_state::machine_start()
|
||||
{
|
||||
save_item(NAME(m_background_image));
|
||||
save_item(NAME(m_nmi_mask));
|
||||
}
|
||||
|
||||
|
||||
void bombjack_state::machine_reset()
|
||||
{
|
||||
m_background_image = 0;
|
||||
m_nmi_mask = false;
|
||||
}
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(bombjack_state::vblank_irq)
|
||||
WRITE_LINE_MEMBER(bombjack_state::vblank_irq)
|
||||
{
|
||||
if(m_nmi_mask)
|
||||
device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
if (state && m_nmi_mask)
|
||||
m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(bombjack_state::bombjack)
|
||||
@ -350,12 +354,10 @@ MACHINE_CONFIG_START(bombjack_state::bombjack)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", Z80, XTAL(4'000'000)) /* Confirmed from PCB */
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", bombjack_state, vblank_irq)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, XTAL(12'000'000)/4) /* Confirmed from PCB */
|
||||
MCFG_CPU_PROGRAM_MAP(audio_map)
|
||||
MCFG_CPU_IO_MAP(audio_io_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", bombjack_state, nmi_line_pulse)
|
||||
|
||||
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
|
||||
|
||||
@ -367,6 +369,8 @@ MACHINE_CONFIG_START(bombjack_state::bombjack)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(bombjack_state, screen_update_bombjack)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(bombjack_state, vblank_irq))
|
||||
MCFG_DEVCB_CHAIN_OUTPUT(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", bombjack)
|
||||
MCFG_PALETTE_ADD("palette", 128)
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update_bombjack(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(vblank_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
|
||||
TIMER_CALLBACK_MEMBER(soundlatch_callback);
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
|
||||
@ -52,7 +52,7 @@ private:
|
||||
tilemap_t *m_bg_tilemap;
|
||||
uint8_t m_background_image;
|
||||
|
||||
uint8_t m_nmi_mask;
|
||||
bool m_nmi_mask;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
|
Loading…
Reference in New Issue
Block a user