Prev: 9273 Up: Map Next: 9291
9286: Get Other Door Half
Used by the routines at EnterDoor, OpenDoorway and CloseDoorway.
A door is held as two 8-byte entities, one for each of the two rooms that it joins, and these are 08 bytes apart with one of them on an address that has bit 3 reset. This flips bit 3 of IX to get the other.
Input
IX One half of the door
Output
IX The other half of the door
GetOtherDoorHalf 9286 PUSH IX Copy IX into HL.
9288 POP HL
9289 LD A,L Fetch the low byte of the address of this half.
928A XOR %00001000 Flip bit 3.
928C LD L,A Keep the address of the other half of the door in L.
928D PUSH HL Copy HL into IX, as the other half of the door.
928E POP IX
9290 RET Return.
Prev: 9273 Up: Map Next: 9291