![]() |
Routines |
| Prev: 962B | Up: Map | Next: 965B |
|
What MOVE does on the first visit to a place. The opening phrase is a message with a word left to fill in: bits 1-3 of byte 0 of the room's record pick it from ROOM_PREPOSITIONS, and it is written into the message at MSG_IN before DESCRIBE_LOCATION prints it -- "you are in", "you are on", "you are outside" and so on.
|
||||||||
| DESCRIBE_ROOM | 9630 | PUSH AF | ||||||
| 9631 | CALL GET_ROOM | Its record | ||||||
| 9634 | LD A,(IX+$00) | The word for how the player is placed there | ||||||
| 9637 | AND $0E | |||||||
| 9639 | LD E,A | |||||||
| 963A | LD D,$00 | |||||||
| 963C | LD HL,ROOM_PREPOSITIONS | |||||||
| 963F | ADD HL,DE | |||||||
| 9640 | LD E,(HL) | |||||||
| 9641 | INC HL | |||||||
| 9642 | LD D,(HL) | |||||||
| 9643 | LD HL,MSG_IN_SLOT | Into the message, high byte first, the way messages keep a word | ||||||
| 9646 | LD (HL),D | |||||||
| 9647 | INC HL | |||||||
| 9648 | LD (HL),E | |||||||
| 9649 | POP AF | HL = "you are ..." | ||||||
| 964A | LD HL,MSG_IN | |||||||
|
This entry point is used by the routines at DESCRIBE_SEEN and DO_CAPTURE.
|
||||||||
| DESCRIBE_WITH_OPENING | 964D | PUSH IX | Describe it, keeping IX, IY and BC | |||||
| 964F | PUSH IY | |||||||
| 9651 | PUSH BC | |||||||
| 9652 | CALL DESCRIBE_LOCATION | |||||||
| 9655 | POP BC | |||||||
| 9656 | POP IY | |||||||
| 9658 | POP IX | |||||||
| 965A | RET | |||||||
| Prev: 962B | Up: Map | Next: 965B |