Prev: 9EDC Up: Map Next: 9F03
9EE6: The erase path's unrolled shift chain
Seven more ADD HL,HL and ADC A,A pairs, entered part-way down by the jump at ERASE_JR, which SETUP_ERASE patches exactly as SETUP_SPRITE_DRAW patches the one before SHIFT_CHAIN. There are two because the erase and the draw run interleaved, each in its own register bank, with its own shift.
ERASE_SHIFT_CHAIN 9EE6 ADD HL,HL
9EE7 ADC A,A
9EE8 ADD HL,HL
9EE9 ADC A,A
9EEA ADD HL,HL
9EEB ADC A,A
9EEC ADD HL,HL
9EED ADC A,A
9EEE ADD HL,HL
9EEF ADC A,A
9EF0 ADD HL,HL
9EF1 ADC A,A
9EF2 ADD HL,HL
9EF3 ADC A,A
9EF4 EX DE,HL
9EF5 EX (SP),HL
9EF6 XOR (HL)
9EF7 LD (HL),A
9EF8 INC L
This entry point is used by the routine at SHIFT_CHAIN.
XOR_BYTE 9EF9 LD A,D
9EFA XOR (HL)
9EFB LD (HL),A
9EFC INC L
9EFD LD A,E
9EFE XOR (HL)
9EFF LD (HL),A
9F00 POP DE
9F01 DEC L
9F02 DEC L
Prev: 9EDC Up: Map Next: 9F03