Prev: 8F5F Up: Map Next: 9052
9023: Routine at 9023
Used by the routine at main_loop_23.
Input
A ?
BC ? Sampled: $0D20, $0520, $0120
HL ? Sampled: $EEAC, $EEA4, $EEA0
IX ? Sampled: $EACE, $EAEE, $EAFE
9023 LD E,A E = A -- sampled = 5 (only)
9024 CP $02 Jump if A == 2
9026 JR Z,$902E
A != 2
9028 LD A,(IX+$01) A = IX[1]
902B AND A Set flags
902C JR NZ,main_loop_23_2 Loop?
902E PUSH IX Preserve IX, HL, BC
9030 PUSH HL
9031 PUSH BC
9032 LD A,E DE = E * 7
9033 ADD A,A
9034 ADD A,A
9035 ADD A,A
9036 SUB E
9037 LD E,A
9038 LD D,$00
903A LD HL,$904B Set return address
903D PUSH HL
903E LD HL,($5CFE) turn sign lods
9041 ADD HL,DE HL += DE
sampled HL = $5EA4 (only) which is "Entry 14"
9042 LD E,(HL) DE = wordat(HL); HL += 2 -- arg for routine
9043 INC HL
9044 LD D,(HL)
9045 INC HL
9046 LD A,(HL) HL = wordat(HL) -- address of routine
9047 INC HL
9048 LD H,(HL)
9049 LD L,A
B is used in the routines, what is it here? It must be passed in.
904A JP (HL) Indirect jump -- Call draw_stretchy_object_left draw_stretchy_object_right draw_tunnel_light_left draw_tunnel_light_right draw_object_right etc.
return_904B 904B POP BC Restore IX, HL, BC
904C POP HL
904D POP IX
904F JP main_loop_23_2 Loop?
Prev: 8F5F Up: Map Next: 9052