Prev: 9C17 Up: Map Next: 9C78
9C41: How much room is left in a location
Used by the routine at CAN_PASS.
Byte 1 of its record, less the size of everything that is only there; 0 if it is over-full.
Input
A The location
Output
A The room left
ROOM_LEFT 9C41 PUSH IX
9C43 PUSH IY
9C45 PUSH BC
9C46 LD B,A
9C47 CALL GET_ROOM
9C4A LD A,(IX+$01)
9C4D LD C,A
9C4E LD IX,$C060
ROOM_LEFT_0 9C52 CALL NEXT_EXIT
9C55 JR Z,ROOM_LEFT_1
9C57 LD A,(IY+$00)
9C5A CP $01
9C5C JR NZ,ROOM_LEFT_0
9C5E LD A,B
9C5F CP (IY+$10)
9C62 JR NZ,ROOM_LEFT_0
9C64 LD A,C
9C65 SUB (IY+$02)
9C68 JR C,ROOM_LEFT_2
9C6A LD C,A
9C6B JR ROOM_LEFT_0
ROOM_LEFT_1 9C6D LD A,C
9C6E POP BC
9C6F POP IY
9C71 POP IX
9C73 RET
ROOM_LEFT_2 9C74 LD C,$00
9C76 JR ROOM_LEFT_1
Prev: 9C17 Up: Map Next: 9C78