![]() |
Routines |
| Prev: 7F77 | Up: Map | Next: 7FA7 |
|
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 |