Prev: 6945 Up: Map Next: 6A6C
6965: Frame Update
Used by the routine at StartGame.
FrameUpdate 6965 DI
6966 LD A,($5C78)
6969 LD ($5DD4),A
696C LD A,$01
696E LD ($5DD5),A
6971 PUSH IX
6973 LD HL,$5D30
6976 LD ($69B5),HL
6979 LD A,$C3
697B LD ($69D3),A
697E LD HL,$699D
6981 LD ($69D4),HL
6984 LD IX,$5D00
6988 JP StartGame_1
This entry point is used by the routine at StartGame.
FrameUpdate_0 698B LD HL,$5D88 HL=5D88
698E LD ($69B5),HL Push HL to $69B5
6991 LD A,$3A A=$3A
6993 LD ($69D3),A Push A to 69D3
6996 LD HL,$0244 HL=$0244
6999 LD ($69D4),HL Push HL to $69D4
699C RET Return
699D CALL FrameUpdate_0
69A0 POP IX
69A2 XOR A
69A3 LD ($5DD5),A
69A6 EI
69A7 RET
69A8 LD HL,$5DCE
69AB INC (HL)
69AC LD DE,$0008
69AF ADD IX,DE
69B1 PUSH IX
69B3 POP HL
69B4 LD BC,$5D88
69B7 AND A
69B8 SBC HL,BC
69BA JP C,StartGame_1
FrameUpdate_1 69BD LD A,$FE
69BF OUT ($FD),A
69C1 IN A,($FE)
69C3 BIT 0,A
69C5 JR Z,FrameUpdate_1
69C7 LD HL,($5DCC)
69CA INC HL
69CB LD ($5DCC),HL
69CE LD H,$00
69D0 LD A,R
69D2 LD C,A
69D3 LD A,($5DCE)
69D6 ADD A,(HL)
69D7 ADD A,C
69D8 LD ($5DCE),A
69DB EX AF,AF'
69DC LD A,($5DCB)
69DF CP $03
69E1 JR C,FrameUpdate_2
69E3 EX AF,AF'
69E4 AND $1F
69E6 JR NZ,FrameUpdate_5
69E8 LD A,($5DCB)
69EB CP $06
69ED JR NC,FrameUpdate_5
FrameUpdate_2 69EF LD A,($5DD7)
69F2 AND A
69F3 JR NZ,FrameUpdate_5
69F5 LD A,($5D00)
69F8 AND $3F
69FA DEC A
69FB JR Z,FrameUpdate_3
69FD DEC A
69FE JR NZ,FrameUpdate_5
FrameUpdate_3 6A00 LD HL,$5D50 HL=5D50
6A03 LD B,$06 B=$06
6A05 LD DE,$0008 DE=$0008
FrameUpdate_4 6A08 LD A,(HL) A=(HL)
6A09 AND A
6A0A JP Z,FrameUpdate_6 If zero jump back to FrameUpdate_6
6A0D ADD HL,DE Add DE to HL
6A0E DJNZ FrameUpdate_4 Decrease B by one, and loop back to FrameUpdate_4 until zero
FrameUpdate_5 6A10 CALL DropFuelPod
6A13 CALL $65DF
6A16 JP StartGame_0 Jump to StartGame_0
FrameUpdate_6 6A19 PUSH HL
6A1A EX DE,HL
6A1B LD HL,$6DCB
6A1E LD BC,$0008
6A21 LDIR
6A23 POP IX
6A25 LD A,($5DCC)
6A28 LD E,A
6A29 AND $40
6A2B LD (IX+$04),A
6A2E LD (IX+$00),A
6A31 LD A,E
6A32 AND $7F
6A34 ADD A,$28
6A36 LD (IX+$02),A
6A39 PUSH IX
6A3B POP BC
6A3C LD A,C
6A3D RRA
6A3E RRA
6A3F RRA
6A40 AND $03
6A42 INC A
6A43 INC A
6A44 LD (IX+$03),A
6A47 AND $01
6A49 LD (IX+$06),A
6A4C LD HL,$6A64
6A4F LD A,($5DF0)
6A52 AND $07
6A54 LD E,A
6A55 LD D,$00
6A57 ADD HL,DE
6A58 LD A,(IX+$00)
6A5B AND $C0
6A5D OR (HL)
6A5E LD (IX+$00),A
6A61 JP FrameUpdate_5
6A64 INC BC
6A65 LD DE,$0706
6A68 RRCA
6A69 DEC B
6A6A INC BC
6A6B RRCA
View the equivalent code in;
Prev: 6945 Up: Map Next: 6A6C