Prev: DADF Up: Map Next: DD39
DCC9: The loader's failure routine
Where the loader goes if its checksum test fails. It never runs on a good load and is kept as data here; what it does, read from the bytes: it clears memory from its own first bytes down to SPRITE5B00 (an LDDR), prints a line in the ROM's characters on the bottom row of the screen, bright yellow and flashing on black, asking for the tape to be rewound and loaded again, makes the border black, warbles on the beeper with two calls of the ROM's BEEPER 233 times over, and resets the machine (RST 0).
After its message, the byte the loader keeps its decryption key in (it XORs each byte loaded with it, and adds to it), as the load left it; and three counters of the countdown the loader draws over the loading screen.
LOADER_FAILURE DCC9 DEFB $21,$D3,$DC,$11,$D2,$DC,$01,$D3 The routine
DCD1 DEFB $81,$AF,$77,$ED,$B8,$FD,$21,$1D
DCD9 DEFB $DD,$1E,$E7,$06,$18,$C5,$FD,$6E
DCE1 DEFB $00,$26,$00,$01,$00,$3C,$29,$29
DCE9 DEFB $29,$09,$16,$50,$06,$08,$7E,$12
DCF1 DEFB $14,$23,$10,$FA,$16,$5A,$3E,$C6
DCF9 DEFB $12,$1C,$FD,$23,$C1,$10,$DE,$3E
DD01 DEFB $00,$32,$48,$5C,$06,$E9,$C5,$11
DD09 DEFB $05,$00,$21,$6A,$06,$CD,$B5,$03
DD11 DEFB $1E,$04,$21,$05,$04,$CD,$B5,$03
DD19 DEFB $C1,$10,$EB,$C7 The routine's last four bytes (the end of the BEEPER loop, and the RST 0); the message, 24 characters of ASCII; the key; the countdown's counters
DD1D DEFB $20,$45,$52,$52,$4F,$52,$3A,$20
DD25 DEFB $52,$45,$57,$49,$4E,$44,$20,$26
DD2D DEFB $20,$52,$45,$4C,$4F,$41,$44,$20
DD35 DEFB $ED
DD36 DEFB $FF,$4F,$4F
Prev: DADF Up: Map Next: DD39