|  | Routines | 
| Prev: 46463 | Up: Map | Next: 46560 | 
| 
Used by the routine at 38780.
 | ||||
| 46490 | LD A,20 | If Magic Knight is not carrying the Mirror (20)... | ||
| 46492 | CALL 45510 | ... | ||
| 46495 | RET NZ | ...then return | ||
| 46496 | LD HL,24848 | Point HL at start of Magic Knight's current inventory (carrying) | ||
| 46499 | LD B,5 | Load B with 5 (five inventory slots) | ||
| 46501 | LD DE,528 | Load DE with x- and y-coordinates respectively to start drawing object graphics (D, or x = 2, E, or y = 16) | ||
| 46504 | PUSH BC | Store BC (B = remaining number of inventory slots to process) | ||
| 46505 | PUSH HL | Store HL (pointer to current position in Magic Knight's current inventory) | ||
| 46506 | PUSH DE | Store DE (coordinates in characters to draw object) | ||
| 46507 | LD A,(HL) | Load index of object in current slot in Magic Knight's inventory into A | ||
| 46508 | OR A | If this is zero... | ||
| 46509 | JR Z,46556 | ...then restore registers and return | ||
| 46511 | LD E,6 | Load 6 (index of objects' attribute property) into E | ||
| 46513 | CALL 45390 | Point HL at the attribute property of the object in the current inventory slot | ||
| 46516 | LD A,(HL) | Store attribute at 23695... | ||
| 46517 | LD (23695),A | ... | ||
| 46520 | INC HL | Advance HL to point to graphic index property... | ||
| 46521 | LD A,(HL) | ...and load into A | ||
| 46522 | POP BC | Restore BC (coordinates in characters to draw object, was in DE) | ||
| 46523 | PUSH BC | Store BC (coordinates in characters to draw object) | ||
| 46524 | PUSH BC | Store BC (coordinates in characters to draw object) | ||
| 46525 | CALL 63499 | Draw 2 × 2 graphic with lookup index A at character coordinates (C, B) | ||
| 46528 | POP BC | Restore BC (coordinates in characters to draw object) | ||
| 46529 | CALL 63219 | Load HL with attribute file address for coordinates (C, B) | ||
| 46532 | LD A,(23695) | Load A with attribute stored at 23695... | ||
| 46535 | LD (HL),A | ...and apply this attribute to attribute file at coordinates (C, B)... | ||
| 46536 | INC HL | ... | ||
| 46537 | LD (HL),A | ...(C + 1, B)... | ||
| 46538 | LD BC,31 | ... | ||
| 46541 | ADD HL,BC | ... | ||
| 46542 | LD (HL),A | ...(C, B + 1)... | ||
| 46543 | INC HL | ... | ||
| 46544 | LD (HL),A | ...and (C + 1, B + 1) | ||
| 46545 | POP DE | Restore DE (coordinates in characters to draw object) | ||
| 46546 | LD A,E | Advance right by three characters (i.e. add three to x-coordinate in E)... | ||
| 46547 | ADD A,3 | ... | ||
| 46549 | LD E,A | ... | ||
| 46550 | POP HL | Restore HL (pointer to current position in Magic Knight's current inventory) | ||
| 46551 | INC HL | Advance HL to next inventory slot | ||
| 46552 | POP BC | Restore BC (B = remaining number of inventory slots to process) | ||
| 46553 | DJNZ 46504 | Decrease B, and loop back to 46504 if not zero | ||
| 46555 | RET | Return | ||
| 46556 | POP DE | Restore DE (coordinates in characters to draw object) | ||
| 46557 | POP HL | Restore HL (pointer to current position in Magic Knight's current inventory) | ||
| 46558 | POP BC | Restore BC (B = remaining number of inventory slots to process) | ||
| 46559 | RET | Return | ||
| Prev: 46463 | Up: Map | Next: 46560 |