Routines |
Prev: 53019 | Up: Map | Next: 53115 |
Used by the routine at 53150.
|
||||||||
53073 | LD DE,23813 | Point DE at table of bitmap data for Magic Knight at his current location | ||||||
This entry point is used by the routine at 53115.
|
||||||||
53076 | LD IX,(23420) | Load IX with pointer to entry in table of display file addresses for pixel row at Magic Knight's current y-coordinate | ||||||
53080 | LD A,(23422) | Load C with Magic Knight's current x-coordinate (characters)... | ||||||
53083 | LD C,A | ... | ||||||
53084 | LD B,32 | Load B with 32 (as Magic Knight is 32 pixels tall) | ||||||
53086 | PUSH BC | Store BC (B = remaining number of pixel rows to draw, C = Magic Knight's x-coordinate in characters) | ||||||
53087 | LD L,(IX+0) | Load display file address of pixel row at IX into HL... | ||||||
53090 | INC IX | ...and advance IX to entry for next pixel row down... | ||||||
53092 | LD H,(IX+0) | ... | ||||||
53095 | INC IX | ... | ||||||
53097 | LD B,0 | Set B to zero (BC = Magic Knight's current x-coordinate in characters) | ||||||
53099 | ADD HL,BC | Add BC to HL as offset | ||||||
53100 | LD A,(DE) | Copy three bytes of graphic data from table of bitmap data for Magic Knight at his current location... | ||||||
53101 | LD (HL),A | ...into display file... | ||||||
53102 | INC HL | ...as Magic Knight can only occupy three consecutive character blocks horizontally... | ||||||
53103 | INC DE | ... | ||||||
53104 | LD A,(DE) | ... | ||||||
53105 | LD (HL),A | ... | ||||||
53106 | INC HL | ... | ||||||
53107 | INC DE | ... | ||||||
53108 | LD A,(DE) | ... | ||||||
53109 | LD (HL),A | ... | ||||||
53110 | INC DE | ... | ||||||
53111 | POP BC | Restore BC (B = remaining number of pixel rows to store, C = Magic Knight's x-coordinate in characters) | ||||||
53112 | DJNZ 53086 | Decrease B (remaining number of pixel rows to draw) and loop back to 53086 if non-zero for next pixel row | ||||||
53114 | RET | Return |
Prev: 53019 | Up: Map | Next: 53115 |