|  | Routines | 
| Prev: 52937 | Up: Map | Next: 53073 | 
| 
Used by the routine at 53150.
 | ||||
| 53019 | LD A,(25159) | Load Magic Knight's current frame index into A... | ||
| 53022 | LD B,A | ...multiply by 48... | ||
| 53023 | ADD A,A | ... | ||
| 53024 | ADD A,B | ... | ||
| 53025 | ADD A,A | ... | ||
| 53026 | ADD A,A | ... | ||
| 53027 | ADD A,A | ... | ||
| 53028 | ADD A,A | ... | ||
| 53029 | LD L,A | ...load into HL... | ||
| 53030 | LD H,0 | ... | ||
| 53032 | ADD HL,HL | ...and double again to give 96 times original value, as graphic data for Magic Knight's frames are 96 bytes each | ||
| 53033 | LD A,(23425) | If Magic-Knight-facing-left flag is reset... | ||
| 53036 | OR A | ... | ||
| 53037 | JR Z,53043 | ...then skip ahead to 53043 | ||
| 53039 | LD BC,384 | Advance HL by 384 bytes... | ||
| 53042 | ADD HL,BC | ...i.e. prepare to use left-facing graphic data, rather than right-facing... | ||
| 53043 | PUSH HL | Copy value in HL to IX... | ||
| 53044 | POP IX | ... | ||
| 53046 | LD DE,63988 | Point DE at start of graphic data for Magic Knight facing right, frame 1 (mask) | ||
| 53049 | ADD HL,DE | Add HL as offset in HL (HL now points to start of graphic data for Magic Knight's current frame mask) | ||
| 53050 | LD DE,63220 | Point DE at start of graphic data for Magic Knight facing right, frame 1 | ||
| 53053 | ADD IX,DE | Add IX as offset in IX (IX now points to start of graphic data for Magic Knight's current frame) | ||
| 53055 | LD DE,23813 | Point DE at table of bitmap data for Magic Knight at his current location | ||
| 53058 | LD B,96 | Load B with 96, as Magic Knight's bitmap graphic data is 96 bytes per frame | ||
| 53060 | LD A,(DE) | Load current background bitmap byte into A | ||
| 53061 | AND (HL) | Apply mask to bitmap data | ||
| 53062 | OR (IX+0) | Overlay Magic Knight bitmap graphic data | ||
| 53065 | LD (DE),A | Store result back into table of background bitmap data | ||
| 53066 | INC HL | Advance HL to next byte in Magic Knight mask bitmap data | ||
| 53067 | INC DE | Advance DE to next byte in background graphic bitmap data | ||
| 53068 | INC IX | Advance IX to next byte in Magic Knight graphic bitmap data | ||
| 53070 | DJNZ 53060 | Decrease B (remaining number of bytes to process) and loop back to 53060 | ||
| 53072 | RET | Return | ||
| Prev: 52937 | Up: Map | Next: 53073 |