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 |