Loaders

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 05:13, 29 October 2012 by Arnoldemu (Talk | contribs) (Created page with "== 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,...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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