A loader is a program that loads in new data for a game or program. This section covers various types of loaders seen on the Amstrad.
Cassette
This list is not complete:
Disc
This list is not complete:
Specific loaders worth looking at
This list is not complete:
Loading music
Cassette
Loading from cassette effectively uses all the CPU's time because it must poll the cassette input in order to convert the sound into data. 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. This meant music during loading was much easier to achieve.
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 (and Spectrum +3) 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