Prev: DAC0 Up: Map Next: DCC9
DADF: The loader, cleared
The loader's turbo stage, which clears itself as its last act: an LD (HL),0 and an LDIR run zeros from here to the end of the block. The LDIR's own first byte is the last it clears; the processor then fetches the instruction again (an LDIR repeats by going back to itself), finds a NOP, and goes on through the LDIR's second byte (OR B) to the RET after it, which takes the last piece's return address off the stack: START. So 488 bytes are cleared, and the last two are not zeros. (Read from the loader's code in a snapshot taken where the turbo stage starts.)
The code names offset 289 (BUFFER_DC00) only as the end of the 512 bytes below it that SORT_AND_DRAW_BEHIND clears: pages $DA and $DB.
LOADER_CLEARED DADF DEFS $0121
BUFFER_DC00 DC00 DEFB $00,$00,$00,$00,$00,$00,$00,$00 Zeros, but for the last two bytes: the LDIR's second byte, and the RET
DC08 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC10 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC18 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC20 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC28 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC30 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC38 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC40 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC48 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC50 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC58 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC60 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC68 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC70 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC78 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC80 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC88 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC90 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DC98 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DCA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DCA8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DCB0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DCB8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DCC0 DEFB $00,$00,$00,$00,$00,$00,$00,$B0
DCC8 DEFB $C9
Prev: DAC0 Up: Map Next: DCC9