![]() |
Routines |
| Prev: 90A8 | Up: Map | Next: 910B |
|
Used by the routine at 8F9F.
|
||||
| 90BD | LD HL,$912B | Get the graphic index for the shower head (912B). | ||
| 90C0 | LD A,($C526) | Does it match the index for this room? | ||
| 90C3 | CP (HL) | |||
| 90C4 | JR NZ,$912C | No, so set it. | ||
| 90C6 | OR A | Return if it is zero. | ||
| 90C7 | RET Z | |||
| 90C8 | LD HL,($9129) | Put the last two bytes of the graphic in HL. | ||
| 90CB | PUSH HL | Store it. | ||
| 90CC | LD HL,$9128 | Shift the other bytes down. | ||
| 90CF | LD DE,$912A | |||
| 90D2 | LD BC,$001E | |||
| 90D5 | LDDR | |||
| 90D7 | POP HL | Restore the last byte and put it on the front. | ||
| 90D8 | LD ($910B),HL | |||
| 90DB | LD IX,$910B | Point to the first graphic frame. | ||
| 90DF | LD HL,$4841 | Location on screen. | ||
| 90E2 | LD DE,$DAA1 | Location in the screen buffer. | ||
| 90E5 | CALL $90F2 | Draw it. | ||
| 90E8 | LD HL,$4861 | Location on screen. | ||
| 90EB | LD DE,$DAC1 | Location in the screen buffer. | ||
| 90EE | LD IX,$911B | Pointer to the second graphic frame. | ||
|
Draw the next graphic. This entry point is used by the routine at 912C.
|
||||
| 90F2 | LD B,$08 | 8 rows to draw. | ||
| 90F4 | LD A,(IX+$00) | Get the graphic. | ||
| 90F7 | LD (HL),A | Put the graphic on screen. | ||
| 90F8 | LD (DE),A | Put the graphic in the screen buffer. | ||
| 90F9 | INC L | Move to the next column. | ||
| 90FA | INC E | |||
| 90FB | LD A,(IX+$01) | Get the graphic. | ||
| 90FE | LD (HL),A | Put the graphic on screen. | ||
| 90FF | LD (DE),A | Put the graphic in the screen buffer. | ||
| 9100 | INC H | Move to the next row, and back to the first column. | ||
| 9101 | DEC L | |||
| 9102 | INC D | |||
| 9103 | DEC E | |||
| 9104 | INC IX | Move forward to the next graphic. | ||
| 9106 | INC IX | |||
| 9108 | DJNZ $90F4 | Loop until all the rows are drawn. | ||
| 910A | RET | |||
| Prev: 90A8 | Up: Map | Next: 910B |