Prev: CD24 Up: Map Next: CD82
CD47: Handle Pop Stack
Used by the routine at ExecuteCharacterCommand.
HandlePopStack CD47 LD B,(IX+$01) B=*IX+01.
CD4A LD IX,$9FE9 IX=9FE9.
HandlePopStack_0 CD4E CALL $A0F7 Call A0F7.
CD51 JP Z,$CEB8 Jump to CEB8 if A is equal to 02.
CD54 LD A,($A036) Jump to HandlePopStack_0 if *CurrentCharacter_ID is not equal to *IX+01.
CD57 CP (IX+$01)
CD5A JR NZ,HandlePopStack_0
CD5C LD A,B Jump to HandlePopStack_0 if B is not equal to *IX+00.
CD5D CP (IX+$00)
CD60 JR NZ,HandlePopStack_0
CD62 PUSH IY Stash IY on the stack.
CD64 PUSH IX DE=IX (using the stack).
CD66 POP DE
CD67 LD IY,$9FE7 IY=9FE7.
CD6B CALL $A104 Call A104.
CD6E LD L,(IX-$02) L=*IX-02.
CD71 LD H,(IX-$01) H=*IX-01.
CD74 LD (IY-$02),L Write L to *IY-02.
CD77 LD (IY-$01),H Write H to *IY-01.
CD7A CALL $A1C7 Call A1C7.
CD7D POP IY Restore IY from the stack.
CD7F JP ContinueScriptExecution Jump to ContinueScriptExecution.
Prev: CD24 Up: Map Next: CD82