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

[KERNAL] ioinit now disables interrupt sources #344

Merged
merged 1 commit into from
Jun 18, 2024

Conversation

mooinglemur
Copy link
Collaborator

@mooinglemur mooinglemur commented Jun 17, 2024

On the C64, ioinit disables interrupt sources entirely, until cint enables the default one. After this change, the same thing now happens on the X16.

Ultimately, this allows the default NMI and BRK handlers to successfully give control to the user (in BASIC or MONITOR) even when the interrupted program uses VIA timers, LINE interrupts, YM2151 IRQs, or other IRQ sources on VERA.

@mooinglemur mooinglemur merged commit a791741 into X16Community:master Jun 18, 2024
1 check passed
@mooinglemur
Copy link
Collaborator Author

mooinglemur commented Jun 18, 2024

As a side note: it might be good to add some notes to the docs somewhere to suggest a custom BRK/NMI handler for user programs that enable add-on hardware IRQ sources, such as serial cards, so that they may disable the IRQ source, then chain to the default handler to allow the monitor or warm basic start to function.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants