Piru wrote:
The point of this thing is to allow one to run games after running lot of applications. So it would need to work with those nasty apps I'm afraid.
That's not how I interpreted the point of this thing, but nonetheless, I don't see how a game would cause any trouble that way, as usually the only way (if any) to get back to the system is to quit out, so you'd never get the chance to swap it out of the system anyway.
This onle works for OS friendly apps. You can't OwnBlit() if you have disabled or are in the middle of interrupt (OwnBlit() uses a semaphore locking).
The task manager won't be on interrupts. It will be started probably from an AppIcon on the workbench. It will also call Forbid() when it starts, so even if another program has started the blitter, it won't be able to start it again because it won't be running anymore. Waitblit() will then suffice to ensure the blitter is no longer in use.
Actually it migth crash or at least stop the application from continuing if it uses audio interrupts (when swapping it back).
I might have to put a lot of disclaimers on this...
Also, as for interrupts, if an interrupt happens to be in Chip ram, I'll need to make sure its vector is removed from the Interrupt Server when swapping that chip ram out. Although there's not usually much need to put an interrupt in chip ram, but of course the interrupt may access chip ram, and how to know this? Interrupts may defeat me...
Nothing naughty about it. It's common practice to take over the system in OS fiendly way and then display your own hardware screen.
I know it's common, but the official commodore line was always that you weren't supposed to use the hardware directly.
Even still, as I already said, you'd need to be on the workbench screen to swap the app out anyway so this won't apply.