Prev: 9B44 Up: Map Next: 9B84
9B64: Draw Bottom Left Corner
Used by the routine at Draw_Room.
Draws the bottom left corner of the frame of the room if bit 5 of the frame flags is set, or clears its area if it is not.
The corner is drawn at x position 00 y position A0 by Draw_Corner_Shape. Its shape depends on whether the floor (bit 4) and the left wall (bit 6) are present.
Input
DE Frame flags of the room in E
IX Object record of Sabreman
Draw_Bottom_Left_Corner 9B64 PUSH DE Stash the frame flags on the stack.
9B65 LD HL,$A000 Set the x position to 00 and the y position to A0 (A000).
9B68 LD A,E Copy the frame flags to A.
9B69 LD DE,$9B84 Point at the table of corner shapes (Bottom_Left_Corner_Table).
9B6C BIT 5,A Jump to 9B73 to clear the area if the corner is not present.
9B6E JP Z,Clear_Panel
9B70 SBC A,C
9B71 PUSH HL Stash the position on the stack.
9B72 EX DE,HL Exchange the registers so that HL holds the address of the table.
9B73 BIT 4,A Jump to Draw_Bottom_Left_Corner_Check_Left_Wall if the floor is not present.
9B75 JR Z,Draw_Bottom_Left_Corner_Check_Left_Wall
9B77 INC HL Skip the shapes for a floor.
9B78 INC HL
Draw_Bottom_Left_Corner_Check_Left_Wall 9B79 BIT 6,A Jump to Draw_Bottom_Left_Corner_Draw_Shape if the left wall is not present.
9B7B JR Z,Draw_Bottom_Left_Corner_Draw_Shape
9B7D INC HL Skip the shapes for a left wall.
9B7E INC HL
9B7F INC HL
9B80 INC HL
Draw_Bottom_Left_Corner_Draw_Shape 9B81 JP Draw_Corner_Shape Jump to Draw_Corner_Shape to draw the shape.
Prev: 9B44 Up: Map Next: 9B84