funtech/supracan.cpp: hookup sound CPU NMI, makes staiwbbl inputs to work

This commit is contained in:
angelosa 2024-09-06 19:45:51 +02:00
parent 3a94c9ad00
commit 5454c19626
2 changed files with 8 additions and 2 deletions

View File

@ -188,7 +188,8 @@ Crashes after few seconds in attract, controls [irq 3] as FRC
</part>
</software>
<!-- F012 - Rebel Star -->
<!-- F012 - Rebel Star / 叛星 -->
<!-- presumably uses blending during gameplay -->
<!-- Unreleased Super A'can carts -->
<!-- Dinosaur Wars -->

View File

@ -9,6 +9,7 @@ References:
- https://upload.wikimedia.org/wikipedia/commons/a/a6/Super-ACan-motherboard-flat.jpg
- https://github.com/angelosa/hw_docs/blob/main/funtech_superacan/pergame.md
*******************************************************************************
INFO:
@ -1366,9 +1367,10 @@ uint8_t supracan_state::_6502_soundmem_r(offs_t offset)
break;
case 0x411:
data = m_soundcpu_irq_source;
m_soundcpu_irq_source = 0;
// TODO: should really check for further pending irqs before acking
if (!machine().side_effects_disabled())
{
m_soundcpu_irq_source = 0;
LOGMASKED(LOG_SOUND, "%s: %s: 6502_soundmem_r: Sound IRQ source read + clear: %02x\n", machine().describe_context(), machine().time().to_string(), data);
m_soundcpu->set_input_line(0, CLEAR_LINE);
}
@ -1757,6 +1759,9 @@ TIMER_CALLBACK_MEMBER(supracan_state::scanline_cb)
{
LOGMASKED(LOG_IRQS, "Triggering VBL IRQ\n\n");
m_maincpu->set_input_line(7, HOLD_LINE);
// TODO: ack, from $412?
// staiwbbl requires this for inputs to work
m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
}
break;
}