diff options
author | angelosa <lordkale4@gmail.com> | 2020-11-26 20:54:13 +0100 |
---|---|---|
committer | angelosa <lordkale4@gmail.com> | 2020-11-26 20:54:13 +0100 |
commit | 3228002ed4781ece4c5cfae99c8e22247bd53932 (patch) | |
tree | 7144addc08b9f3ef4e2bdbac515e97058b7d0764 | |
parent | 03707c72c6d31bcd3d55f0a92f41fb8ddd717540 (diff) |
bnstars.cpp: make it boot again
-rw-r--r-- | src/mame/drivers/bnstars.cpp | 3 | ||||
-rw-r--r-- | src/mame/machine/jaleco_ms32_sysctrl.cpp | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/mame/drivers/bnstars.cpp b/src/mame/drivers/bnstars.cpp index b1cd84f8861..9b8a082eedf 100644 --- a/src/mame/drivers/bnstars.cpp +++ b/src/mame/drivers/bnstars.cpp @@ -704,6 +704,9 @@ void ms32_bnstars_state::bnstars(machine_config &config) m_sysctrl->prg_timer_cb().set(FUNC(ms32_bnstars_state::timer_irq_w)); m_sysctrl->sound_ack_cb().set(FUNC(ms32_bnstars_state::sound_ack_w)); m_sysctrl->sound_reset_cb().set(FUNC(ms32_bnstars_state::sound_reset_line_w)); +// TODO: runs better with this on but eventually game crashes during match presentation +// (may be due of the field irq positioning) +// m_sysctrl->set_invert_vblank_lines(true); /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); diff --git a/src/mame/machine/jaleco_ms32_sysctrl.cpp b/src/mame/machine/jaleco_ms32_sysctrl.cpp index 55fffddd8bb..4d05d40329d 100644 --- a/src/mame/machine/jaleco_ms32_sysctrl.cpp +++ b/src/mame/machine/jaleco_ms32_sysctrl.cpp @@ -148,8 +148,11 @@ void jaleco_ms32_sysctrl_device::device_reset() m_timer.irq_enable = false; m_timer.interval = 1; flush_prg_timer(); -// flush_scanline_timer(m_crtc.vert_display); - m_timer_scanline->adjust(attotime::never); + // bnstars1 never ever set up the CRTC at boot, causing no irq. + // we currently compensate by basically giving one frame of time, + // ofc on the real thing the first vblank is really when screen sync occurs. + flush_scanline_timer(m_crtc.vert_display-1); +// m_timer_scanline->adjust(attotime::never); // put flipping in a default state m_flip_screen_state = false; m_flip_screen_cb(0); |