Thanks for the suggestions Zozosoft!
Though I think that adding an option to disable music will not make much sense. It's not like it's a separate loading music, it's the main music that will play through the entire demo.
If I were to stop calling the music player while loading, it will be out of sync totally anyway on slow loading systems when the next part starts (for example, if I want to load 10240 bytes, it will take 20 frames x 512 bytes. If I don't call the music player those 20 times while loading, it will be off by almost half a second when the next part starts).
Perhaps I could modify the music replayer to have an option to keep calling it the correct number of times while loading, but not outputting at all to the sound registers and have silence).
I don't think that would be good either, since my plan is to really have a high data flow, say 10-20 seconds of effect that can use the entire memory, then it's time to load 25-30kb of new packed code/data which will take a couple of seconds with my 512 byte/frame loader, and then the next effect and so on.
With a slow loader then it would be 10-20 seconds of effect and music, then maybe 10-20 seconds (with disk, I guess) or minutes even (with tape) with silence while the slow disk loader is loading, and then music resumes.
It would not be a good experience either way.
Perhaps something I will do it like this:
Use the probes you suggested, and then -
* If tape only or drive number 1-4 => Show warning "Demo will not work properly" - but let the viewer see it anyway, with crappy slow "music" (ie. notes that last several seconds...) while loading.
* If emu or 5/6 => Start demo as usual, no warning shown.
So for users with RAMDISK, it's up to them to copy the demo into it before starting the demo.
The truth is that I think most people will only watch the demo on YouTube, a few will use ep128emu and some real enthusiasts will use real Enterprise 128, but I think most of them will have either SD card or RAM expansion available!