Loading music
Cassette
Loading from cassette effectively uses all the CPU's time because you have to keep checking the cassette signal to see if it has changed, and you use a CPU timing loop to calculate length of signal.
So to do music and other things during loading requires precise timing. The C64 effectively had interrupt driven loading music and the serial chip handled clocking in of the data bits and signalled an interrupt when the byte of data was ready.
I think only Firebird games had loading music on cassette. The music was composed by Melvyn Wright (www.melright.com). The music data was embeded into the data on cassette. The data was read as a group of 3 bits and 8 data bits. The 3 bits determined if the 8 data bits were for data or for music.
This list is not complete, please add more. Will upload YM of the loading music soon.
Game | Loading music |
Booty | |
Comet Game (The) | Media:Comet_game_(the)-loader.ym |
Harvey Headbanger | Media:Harvey_headbanger-loader.ym |
Thrust | Media:Thrust.ym |
Spiky Harold | Media:Spiky_harold-loader.ym |
Disc
The disc system on the Amstrad is "polled" which means the CPU has to keep checking if the FDC (NEC765) has more data to read/write. On the C64 the disc system is interrupt driven.
So to do music while loading requires careful timing and often the use of very small sectors (128bytes).
ZapTBalls
The Demo
5KB Demo 3
Midline Process
Orion Prime
Batman Forever