Prev: 7F77 Up: Map Next: 7FA7
7F78: Drawing Routine
Used by the routine at YouSeeStart.
Draws a location picture from its line, fill and attribute commands. Nothing is drawn when the picture switch is off, and a dark place is forced black. See Location Graphics Decoding.
Drawing 7F78 PUSH AF Save AF and jump to Drawing_Check if the picture switch at B707 is not zero.
7F79 LD A,($B707)
7F7C AND A
7F7D JR NZ,Drawing_Check
7F7F LD A,$FF Write FF to LocationID.
7F81 LD ($7F77),A
7F84 POP AF Restore AF from the stack.
7F85 RET Return.
Drawing Check
Drawing_Check 7F86 POP AF Keep the saved flags, save the registers, and point IX at the location graphics table.
7F87 PUSH AF
7F88 PUSH HL
7F89 PUSH BC
7F8A PUSH DE
7F8B PUSH IX
7F8D LD IX,$CC00
7F91 CALL IndexIdTable Call IndexIdTable to look this id up. The zero flag is set when nothing matches.
7F94 LD ($7F77),A Store the location ID at LocationID.
7F97 LD L,(IX+$01) Read the low byte of this location's graphics address.
7F9A LD H,(IX+$02) Read the high byte of this location's graphics address.
7F9D CALL NZ,DrawingSetup If there is graphics data for this location then call DrawingSetup.
7FA0 POP IX Restore IX, DE, BC, HL and AF from the stack.
7FA2 POP DE
7FA3 POP BC
7FA4 POP HL
7FA5 POP AF
7FA6 RET Return.
Prev: 7F77 Up: Map Next: 7FA7