Routines |
Prev: 41477 | Up: Map | Next: 41545 |
Used by the routine at 39958.
|
||||||||
41504 | LD DE,23299 | Load DE with start address of temporary storage area | ||||||
41507 | LD C,(IX+1) | Load C with x-coordinate of area to copy | ||||||
41510 | LD B,(IX+2) | Load B with y-coordinate of area to copy... | ||||||
41513 | DEC B | ...and decrease by one | ||||||
41514 | LD (41549),BC | Store x- and y-coordinates as operand of instruction at 41548 | ||||||
41518 | LD A,4 | Load A with 4 (as Magic Knight and other characters span four character blocks in height) | ||||||
41520 | PUSH AF | Store AF (A = remaining height in characters to copy) | ||||||
41521 | INC B | Increase y-coordinate by one | ||||||
41522 | PUSH BC | Store BC (B = current y-coordinate, C = current x-coordinate) | ||||||
41523 | CALL 63203 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||||||
41526 | LD B,8 | Load B with 8 (as there are eight pixel rows per character) | ||||||
41528 | LD A,(HL) | Copy byte from current location in display file... | ||||||
41529 | LD (DE),A | ...to temporary storage area starting at 23299 | ||||||
41530 | INC HL | Advance right one character in display file | ||||||
41531 | INC DE | Advance to next byte in temporary storage area | ||||||
41532 | LD A,(HL) | Copy byte from current location in display file... | ||||||
41533 | LD (DE),A | ...to temporary storage area starting at 23299 | ||||||
41534 | INC DE | Advance to next byte in temporary storage area | ||||||
41535 | DEC HL | Move left one character... | ||||||
41536 | INC H | ...and down one pixel in display file | ||||||
41537 | DJNZ 41528 | Decrease B (remaining number of pixel rows) and loop back to 41528 if not zero | ||||||
41539 | POP BC | Restore BC (B = current y-coordinate, C = current x-coordinate) | ||||||
41540 | POP AF | Restore AF (A = remaining height in characters to copy) | ||||||
41541 | DEC A | Decrease remaining number of character blocks to copy... | ||||||
41542 | JR NZ,41520 | ...and loop back to 41520 if not zero | ||||||
41544 | RET | Return |
Prev: 41477 | Up: Map | Next: 41545 |