Prev: D51A Up: Map Next: D590
D526: Routine at D526
Used by the routine at D51A.
D526 PUSH IX Stash IX on the stack.
D528 CALL AdjustObjectTableForSum Call AdjustObjectTableForSum.
D52B PUSH AF Stash AF on the stack.
D52C CALL $D57D Call D57D.
D52F JR C,$D55A Jump to D55A if A is less than A.
D531 SET 7,(IY+$06) Set bit 7 of *IY+06.
D535 SUB A A-=A.
D536 LD ($A028),A Write A to *A028.
D539 CALL $D3D9 Call D3D9.
D53C DEC C Decrease C by one.
D53D LD A,C A=C.
D53E AND A Set flags.
D53F JR NZ,$D546 Jump to D546 if C is not equal to A.
D541 CALL $A414 Call A414.
D544 JR $D557 Jump to D557.
D546 CP $01 Compare A with 01.
D548 JR Z,$D551 Jump to D551 if A is equal to 01.
D54A LD A,$2C A=2C.
D54C CALL $A9B7 Call A9B7.
D54F JR $D557 Jump to D557.
D551 LD DE,$005D DE=005D.
D554 CALL $A887 Call A887.
D557 POP AF Restore AF from the stack.
D558 JR $D52B Jump to D52B.
D55A POP AF Restore AF from the stack.
D55B CALL AdjustObjectTableForSum Call AdjustObjectTableForSum.
D55E PUSH AF Stash AF on the stack.
D55F CALL $D57D Call D57D.
D562 JR C,$D578 Jump to D578 if A is less than 2C.
D564 PUSH AF Stash AF on the stack.
D565 CALL $D4CC Call D4CC.
D568 JR Z,$D574 Jump to D574 if A is equal to 2C.
D56A LD C,A C=A.
D56B POP AF Restore AF from the stack.
D56C CALL $D590 Call D590.
D56F CALL $D526 Call D526.
D572 JR $D575 Jump to D575.
D574 POP AF Restore AF and AF from the stack.
D575 POP AF
D576 JR $D55E Jump to D55E.
D578 POP AF Restore AF from the stack.
D579 POP IX Restore IX from the stack.
D57B RET Return.
D57C POP AF Restore AF from the stack.
D57D CALL $D21C Call D21C.
D580 JR NZ,$D584 Jump to D584 if A is not equal to 2C.
D582 SCF Set the carry flag.
D583 RET Return.
D584 PUSH AF Stash AF on the stack.
D585 CALL $D4EF Call D4EF.
D588 JR NC,$D57C Jump to D57C if A is greater than or equal to 2C.
D58A POP AF Restore AF from the stack.
D58B LD A,(IX+$00) A=*IX+00.
D58E AND A Set flags.
D58F RET Return.
Prev: D51A Up: Map Next: D590