OK, here's a first attempt at something!
This test is kind of a simple slideshow, with music running (same as I used in "First Contact", just because then it was easier for me to determine if something sounded off or not!) and loading different 256-col pictures from disk while music is playing.
It seems to work OK in emulator (though once I had some slowdowns while loading, never able to reproduce it) and on my SD-card-interface.
I would be really grateful if some of you could also try it on your SD-card readers and other loading methods (diskdrives, HD, ?).
Note though that even though I only used the standard EXOS-calls this is very experimental and could perhaps destroy the contents of your disk/HD so don't run it on something where you have valuable data!
Please report what you have tried it on, and if it works (music keeps playing without corruption, pictures keep showing) or not!
The whole solution turned out kind of strange. Exactly as geco had predicted, the EXOS calls does something weird with the sound registers if I ran without any IRQs (don't understand why though!)
So now I have my own IRQ set up instead, that really doesn't do anything but increment a counter every frame so I can know when an IRQ has completed.
The my code is essentially like this:
* Check counter that is in IRQ to know when it has run and finished
* Call music player
* Load 512 bytes
* Repeat
The really weird thing is that I thought since I just wait for the IRQ to be finished, then call the music player directly, I might as well call it from within the IRQ, right?
Nope, when I do that, the machine simply resets when trying to load at the same time.
Really weird, as I make sure to push/pop all registers in the IRQ.
Oh well, at least the method I have now seems to work (at least on my machine) - and I'm really eager to get some input on how it works for everyone else.
Keeping fingers crossed that we have found a method that would allow demos with tons of parts and data and continuous music!