Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix slave SH2 interrupt handling #259

Open
rtoumazet opened this issue Feb 19, 2023 · 0 comments
Open

Fix slave SH2 interrupt handling #259

rtoumazet opened this issue Feb 19, 2023 · 0 comments
Assignees
Labels
bug Something isn't working sh2 SH2 cpu module

Comments

@rtoumazet
Copy link
Owner

rtoumazet commented Feb 19, 2023

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:

  • Internal peripheral modules (6 of them, including FRT)
  • H-blank-in (source IRL2, vector 0x41)
  • V-blank-in (source IRL6, vector 0x43)

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.

@rtoumazet rtoumazet added bug Something isn't working sh2 SH2 cpu module labels Feb 19, 2023
@rtoumazet rtoumazet self-assigned this Feb 19, 2023
@github-project-automation github-project-automation bot moved this to Needs triage in Backlog Feb 19, 2023
@rtoumazet rtoumazet moved this from Needs triage to Low priority in Backlog Mar 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working sh2 SH2 cpu module
Projects
Status: Low priority
Development

No branches or pull requests

1 participant