Prev: 9D6F Up: Map Next: 9DCE
9DA0: Drawing mode 3: furniture's colours mirrored across the bottom-left to top-right diagonal
Entry 3 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_ANTIDIAGONAL 9DA0 POP BC
9DA1 CALL FETCH_SPRITE_ATTRS
9DA4 LD A,B
9DA5 EXX
9DA6 LD B,A
9DA7 EXX
COLOURS_FLIP_ANTIDIAGONAL_0 9DA8 PUSH BC
9DA9 PUSH DE
9DAA PUSH HL
COLOURS_FLIP_ANTIDIAGONAL_1 9DAB LD A,(DE)
9DAC AND A
9DAD JR Z,COLOURS_FLIP_ANTIDIAGONAL_3
9DAF CP $FF
9DB1 JR NZ,COLOURS_FLIP_ANTIDIAGONAL_2
9DB3 LD A,($5E1A)
COLOURS_FLIP_ANTIDIAGONAL_2 9DB6 LD (HL),A
COLOURS_FLIP_ANTIDIAGONAL_3 9DB7 CALL NEXT_SPRITE_ROW
9DBA INC L
9DBB DEC C
9DBC JR NZ,COLOURS_FLIP_ANTIDIAGONAL_1
9DBE POP HL
9DBF LD BC,$0020
9DC2 AND A
9DC3 SBC HL,BC
9DC5 POP DE
9DC6 POP BC
9DC7 INC DE
9DC8 EXX
9DC9 DEC B
9DCA EXX
9DCB JR NZ,COLOURS_FLIP_ANTIDIAGONAL_0
9DCD RET
Prev: 9D6F Up: Map Next: 9DCE