Prev: 99E5 Up: Map Next: 9A50
9A0A: Drawing mode 2: furniture's pixels turned a quarter clockwise
Entry 2 of PIXEL_DRAWERS. Each screen byte is gathered a bit at a time from one bit column of eight successive rows, starting from the right-hand column, so the source's bottom edge ends up on the left: the picture turned a quarter clockwise. The combining instruction is patched in by SPRITE_COMBINE_OPCODE, as in every routine of the two tables.
DRAW_TURNED_RIGHT 9A0A POP BC
9A0B CALL SPRITE_COMBINE_OPCODE
9A0E LD (DRAW_TURNED_RIGHT_OP),A
9A11 CALL FETCH_SPRITE
9A14 LD A,B
9A15 EXX
9A16 LD L,$01
9A18 LD B,A
9A19 EXX
9A1A CALL NEXT_SPRITE_ROW
9A1D DEC DE
DRAW_TURNED_RIGHT_0 9A1E PUSH BC
9A1F PUSH DE
9A20 PUSH HL
DRAW_TURNED_RIGHT_1 9A21 LD A,(DE)
9A22 EXX
9A23 AND L
9A24 JR Z,DRAW_TURNED_RIGHT_2
9A26 SCF
DRAW_TURNED_RIGHT_2 9A27 RL H
9A29 EXX
9A2A CALL NEXT_SPRITE_ROW
9A2D DEC C
9A2E LD A,C
9A2F AND $07
9A31 JR NZ,DRAW_TURNED_RIGHT_1
9A33 EXX
9A34 LD A,H
9A35 EXX
DRAW_TURNED_RIGHT_OP 9A36 NOP
9A37 LD (HL),A
9A38 INC L
9A39 LD A,C
9A3A AND A
9A3B JR NZ,DRAW_TURNED_RIGHT_1
9A3D POP HL
9A3E CALL SCREEN_ROW_UP
9A41 POP DE
9A42 POP BC
9A43 EXX
9A44 RLC L
9A46 EXX
9A47 JR NC,DRAW_TURNED_RIGHT_0
9A49 EXX
9A4A DEC B
9A4B EXX
9A4C RET Z
9A4D DEC DE
9A4E JR DRAW_TURNED_RIGHT_0
Prev: 99E5 Up: Map Next: 9A50