Routines |
Prev: 39849 | Up: Map | Next: 39882 |
Used by the routines at 28915, Action_Dir, YouSeeEntry, 40001, GetObjectLocationInIX, 40608, 41134 and ActionClimbOut.
|
||||||||||||
LocateLocation | 39857 | CP 80 | If the location ID is less than $50 jump to LocateLocation_Action to process it. | |||||||||
39859 | JR C,LocateLocation_Action | |||||||||||
39861 | XOR A | Reset A to $00. | ||||||||||
39862 | RET | Return. | ||||||||||
Work out the location now A is validated as a legitimate location ID.
|
||||||||||||
LocateLocation_Action | 39863 | PUSH DE | Stash DE on the stack. | |||||||||
39864 | LD DE,47584 | DE=LocationTable | ||||||||||
39867 | PUSH HL | Stash HL on the stack. | ||||||||||
39868 | LD L,A | Store offset in the HL register pair. | ||||||||||
39869 | LD H,0 | |||||||||||
39871 | ADD HL,HL | HL=(HL * $02)+DE | ||||||||||
39872 | ADD HL,DE | |||||||||||
39873 | LD E,(HL) | DE=the location from the pointer in HL. | ||||||||||
39874 | INC HL | |||||||||||
39875 | LD D,(HL) | |||||||||||
39876 | PUSH DE | IX=DE using the stack. | ||||||||||
39877 | POP IX | |||||||||||
39879 | POP HL | Restore HL and DE off the stack. | ||||||||||
39880 | POP DE | |||||||||||
39881 | RET | Return. |
Prev: 39849 | Up: Map | Next: 39882 |