Prev: 9D37 Up: Map Next: 9D97
9D44: Routine at 9D44
9D44 LD A,($B6FA) If B6FA is $01 then return.
9D47 CP $01
9D49 RET Z
9D4A INC A Increase TODO by one and write it to B6FB.
9D4B LD ($B6FB),A
9D4E POP BC
9D4F RET Return.
This entry point is used by the routines at Action_Attack and Action_Examine.
9D50 LD A,($B6E8) A=CurrentObject.
This entry point is used by the routines at 96B3 and A55F.
9D53 PUSH IY Stash IY, IX and HL on the stack.
9D55 PUSH IX
9D57 PUSH HL
9D58 CALL LocateObject Call LocateObject.
9D5B LD B,(IX+$01) B=Mother object.
9D5E 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.
9D62 CALL Step3ByteTable_Next Call Step3ByteTable_Next.
9D65 JR Z,$9D91 Jump to 9D91 if TODO.
9D67 CP (IY+$01) Compare TODO, jump back to 9D62 if so.
9D6A JR NZ,$9D62
9D6C BIT 1,(IY+$07)
9D70 JR Z,$9D8B
9D72 PUSH AF
9D73 LD (IY+$10),$00
9D77 LD (IY+$01),$FF
9D7B RES 7,(IY+$07)
9D7F CALL $9EC7 Call 9EC7.
9D82 LD HL,$B143 HL="evaporate(s|d|ing|es)[0x15]".
9D85 CALL PrintMsg Call PrintMsg.
9D88 POP AF
9D89 JR $9D62 Jump to 9D62.
9D8B LD (IY+$01),B
9D8E JP $9D62 Jump to 9D62.
9D91 POP HL Restore HL, IX and IY from the stack.
9D92 POP IX
9D94 POP IY
9D96 RET Return.
Prev: 9D37 Up: Map Next: 9D97