rtoumazet / saturnin

Saturnin is a Sega Saturn emulator
Apache License 2.0
2 stars 0 forks source link

Fix slave SH2 interrupt handling #259

Open rtoumazet opened 1 year ago

rtoumazet commented 1 year ago

According to SATTECH 28 (Using dual CPUs on the Sega Saturn), slave CPU interrupts are not set from the SCU, but are connected from a peripheral module called DCC, which controls dual CPU operation.

Interrupts used by the slave CPU:

Unlike master CPU, the slave CPU does not have an SR mask restriction. To mask interrupts, use the SR mask.

H-blank-in interrupts and V-blank-in interrupts:

In the slave CPU, both the H-blank-in and V-blank-in interrupts are level signal interrupts that accept interrupts during the blank period. For example, when V-blank-in interrupt processing begins and ends, the interrupt is restarted as long as the V-blank period continues.