Routines |
Prev: 61720 | Up: Map | Next: 61816 |
Used by the routine at 61860.
|
||||||||
61774 | LD DE,24576 | Point DE at table of bitmap data for Magic Knight at his current location | ||||||
This entry point is used by the routines at 39553 and 61823.
|
||||||||
61777 | LD IX,(23412) | Load IX with pointer to entry in table of display file addresses for pixel row at Magic Knight's current y-coordinate | ||||||
61781 | LD A,(23414) | Load C with Magic Knight's current x-coordinate (characters)... | ||||||
61784 | LD C,A | ... | ||||||
61785 | LD B,32 | Load B with 32 (as Magic Knight is 32 pixels tall) | ||||||
61787 | PUSH BC | Store BC (B = remaining number of pixel rows to draw, C = Magic Knight's x-coordinate in characters) | ||||||
61788 | LD L,(IX+0) | Load display file address of pixel row at IX into HL... | ||||||
61791 | INC IX | ...and advance IX to entry for next pixel row down... | ||||||
61793 | LD H,(IX+0) | ... | ||||||
61796 | INC IX | ... | ||||||
61798 | LD B,0 | Set B to zero (BC = Magic Knight's current x-coordinate in characters) | ||||||
61800 | ADD HL,BC | Add BC to HL as offset | ||||||
61801 | LD A,(DE) | Copy three bytes of graphic data from table of bitmap data for Magic Knight at his current location... | ||||||
61802 | LD (HL),A | ...into display file... | ||||||
61803 | INC HL | ...as Magic Knight can only occupy three consecutive character blocks horizontally... | ||||||
61804 | INC DE | ... | ||||||
61805 | LD A,(DE) | ... | ||||||
61806 | LD (HL),A | ... | ||||||
61807 | INC HL | ... | ||||||
61808 | INC DE | ... | ||||||
61809 | LD A,(DE) | ... | ||||||
61810 | LD (HL),A | ... | ||||||
61811 | INC DE | ... | ||||||
61812 | POP BC | Restore BC (B = remaining number of pixel rows to store, C = Magic Knight's x-coordinate in characters) | ||||||
61813 | DJNZ 61787 | Decrease B (remaining number of pixel rows to draw) and loop back to 61787 if non-zero for next pixel row | ||||||
61815 | RET | Return |
Prev: 61720 | Up: Map | Next: 61816 |