Routines |
Prev: 41504 | Up: Map | Next: 41578 |
Used by the routine at 39958.
|
||||
41545 | LD DE,23299 | Load DE with start address of temporary storage area | ||
The operand of the instruction at 41548 represents the x- and y-coordinates at which to copy the previously stored bitmap data into the display file. This is modified by the instruction at 41514.
|
||||
41548 | LD BC,0 | Load B and C with the y- and x-coordinates to copy to, respectively | ||
41551 | LD A,4 | Load A with 4 (as characters are 4 characters high) | ||
41553 | PUSH AF | Store AF (A = remaining height in characters to copy) | ||
41554 | INC B | Increase destination y-coordinate by one | ||
41555 | PUSH BC | Store BC (B = current y-coordinate, C = current x-coordinate) | ||
41556 | CALL 63203 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
41559 | LD B,8 | Load B with 8 (as there are eight pixel rows per character) | ||
41561 | LD A,(DE) | Copy byte from temporary storage area starting at 23299... | ||
41562 | LD (HL),A | ...to current location in display file | ||
41563 | INC HL | Advance right one character in display file | ||
41564 | INC DE | Advance to next byte in temporary storage area | ||
41565 | LD A,(DE) | Copy byte from temporary storage area starting at 23299... | ||
41566 | LD (HL),A | ...to current location in display file | ||
41567 | INC DE | Advance to next byte in temporary storage area | ||
41568 | DEC HL | Move left one character... | ||
41569 | INC H | ...and down one pixel in display file | ||
41570 | DJNZ 41561 | Decrease B (remaining number of pixel rows) and loop back to 41561 if not zero | ||
41572 | POP BC | Restore BC (B = current y-coordinate, C = current x-coordinate) | ||
41573 | POP AF | Restore AF (A = remaining height in characters to copy) | ||
41574 | DEC A | Decrease remaining height to copy... | ||
41575 | JR NZ,41553 | ...and loop back to 41553 if not zero | ||
41577 | RET | Return |
Prev: 41504 | Up: Map | Next: 41578 |