Prev: 9DF8 Up: Map Next: 9E55
9E21: Drawing mode 6: furniture's colours mirrored across the top-left to bottom-right diagonal
Entry 6 of COLOUR_DRAWERS. It fetches through FETCH_SPRITE_ATTRS, then copies row by row with the combining instruction patched in by SPRITE_COMBINE_OPCODE, the same as every other routine in the two tables.
COLOURS_FLIP_DIAGONAL 9E21 POP BC
9E22 CALL FETCH_SPRITE_ATTRS
9E25 LD A,B
9E26 EXX
9E27 LD B,A
9E28 EXX
9E29 CALL START_AT_LAST_ROW
9E2C CALL NEXT_SPRITE_ROW
COLOURS_FLIP_DIAGONAL_0 9E2F DEC DE
9E30 PUSH BC
9E31 PUSH DE
9E32 PUSH HL
COLOURS_FLIP_DIAGONAL_1 9E33 LD A,(DE)
9E34 AND A
9E35 JR Z,COLOURS_FLIP_DIAGONAL_3
9E37 CP $FF
9E39 JR NZ,COLOURS_FLIP_DIAGONAL_2
9E3B LD A,($5E1A)
COLOURS_FLIP_DIAGONAL_2 9E3E LD (HL),A
COLOURS_FLIP_DIAGONAL_3 9E3F CALL PREVIOUS_SPRITE_ROW
9E42 INC L
9E43 DEC C
9E44 JR NZ,COLOURS_FLIP_DIAGONAL_1
9E46 POP HL
9E47 LD BC,$0020
9E4A AND A
9E4B SBC HL,BC
9E4D POP DE
9E4E POP BC
9E4F EXX
9E50 DEC B
9E51 EXX
9E52 JR NZ,COLOURS_FLIP_DIAGONAL_0
9E54 RET
Prev: 9DF8 Up: Map Next: 9E55