Closed mooinglemur closed 2 months ago
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.
On the C64,
ioinit
disables interrupt sources entirely, untilcint
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.