Hi chains,
Nice to see you working the QL
![Wink ;)](./images/smilies/icon_e_wink.gif)
. As far as my research goes, the vectors to deal with interrupts are pointing to addresses in ROM, which has a generic interrupt handler. This in turn also has hardcoded addresses, to for example the pointer location of the vblank interrupt handing. For JS this lies in the $28000 range, and for the Minerva ROM I believe it lies in the $38000 range. As such, since its hardcoded; you can either disable all interrupts and use the memory, and live without programmable interrupts (well, programmable vblank anyway); or isolate the memory needed for the interrupt (well vblank
![Wink ;)](./images/smilies/icon_e_wink.gif)
), and work around the limitation.
In the case of Minerva the memory location does not collide with the 2nd screen buffer.
I chose to use the vblank interrupt as my demosystem handler, so I worked around the memory limitation thing.
Hope this helps. I'm cool to share the approach, similarly both Minerva and JsRom can this way be supported I believe by 'just' writing the interrupt handler vector to both jsrom and Minerva locations .
Long story summarized, you can trash the whole os and just use only the vblank vector pointer, and have your 2nd screen buffer (bar a few pixels
![Wink ;)](./images/smilies/icon_e_wink.gif)
).
Kind regards
Wietze