Prev: 9F82 Up: Map Next: A050
9F94: Routine at 9F94
Used by the routine at YouSeeEntry.
9F94 PUSH IY Stash IY, AF and BC on the stack.
9F96 PUSH AF
9F97 PUSH BC
9F98 LD HL,$B003 HL="You see :[0x14]"
9F9B CALL PrintMsg Call PrintMsg.
9F9E LD A,$FF A=$FF.
9FA0 LD IY,($B70C) IY=ptrCurObject.
9FA4 LD B,(IY+$10) B=location ID of the object.
9FA7 CALL $9FAF Call 9FAF.
9FAA POP BC Restore BC, AF and IY off the stack.
9FAB POP AF
9FAC POP IY
9FAE RET Return.
This entry point is used by the routines at Action_Look, Action_Inventory and 910E.
9FAF PUSH IY Stash IY, DE and BC on the stack.
9FB1 PUSH DE
9FB2 PUSH BC
9FB3 LD C,$00
9FB5 LD D,$04
9FB7 CALL $9FC7 Call 9FC7.
9FBA SUB A
9FBB CP C
9FBC LD HL,$B33B HL=" {6} nothing"
9FBF CALL Z,PrintMsg Call 9FAF if zero.
9FC2 POP BC Restore BC, DE and IY off the stack.
9FC3 POP DE
9FC4 POP IY
9FC6 RET Return.
9FC7 PUSH HL
9FC8 LD L,A
9FC9 LD A,($869F)
9FCC LD H,A
9FCD LD A,D
9FCE LD ($869F),A
9FD1 LD A,L
9FD2 EX (SP),HL
9FD3 PUSH IX Stash IX on the stack.
9FD5 LD IX,$C060 Set IX to $C060 which is 3 bytes less than the start of the object table due to the following line adding $0003 and moving us on to the first record.
9FD9 CALL Step3ByteTable_Next Call Step3ByteTable_Next.
9FDC JR Z,$A046
9FDE CP (IY+$01)
9FE1 JR NZ,$9FD9
9FE3 PUSH AF
9FE4 INC A
9FE5 LD E,(IY+$00)
9FE8 JR NZ,$9FEF
9FEA LD A,$01
9FEC CP E
9FED JR NZ,$A03D
9FEF LD A,(IY+$10)
9FF2 CP B
9FF3 JR Z,$9FFE
9FF5 DEC E
9FF6 JR Z,$A03D
9FF8 LD A,(IY+$11)
9FFB CP B
9FFC JR NZ,$A03D
9FFE LD A,($B6EA)
A001 CP (IX+$00)
A004 JR NZ,$A00B
A006 LD A,$04
A008 CP D
A009 JR Z,$A03D
A00B LD A,(IX+$00)
A00E CALL $9E34 Call 9E34.
A011 JR Z,$A03D
A013 INC C
A014 SUB A
A015 LD ($B704),A
A018 LD ($B703),A
A01B CALL $9EC7 Call 9EC7.
A01E LD A,($B6EA)
A021 CP (IX+$00)
A024 JR Z,$A041
A026 LD A,$2E
A028 CALL $858B Call 858B.
A02B LD A,(IX+$00)
A02E CALL $A050 Call A050.
A031 JR C,$A03D
A033 LD A,(IX+$00)
A036 PUSH DE
A037 INC D
A038 INC D
A039 CALL $9FC7 Call 9FC7.
A03C POP DE
A03D POP AF
A03E JP $9FD9
A041 CALL $8583 Call 8583.
A044 JR $A03D
A046 POP IX
A048 EX (SP),HL
A049 LD A,H
A04A LD ($869F),A
A04D LD A,L
A04E POP HL
A04F RET Return.
Prev: 9F82 Up: Map Next: A050