Prev: 8CBC Up: Map Next: 8E5A
8D06: Routine at 8D06
8D06 CALL HandlerControls Call HandlerControls.
8D09 BIT 1,A
8D0B JP Z,$8EC5
8D0E BIT 0,A
8D10 JP Z,$8E5A
8D13 LD A,(IX+$05)
8D16 AND A
8D17 JR Z,$8D3A
8D19 JP P,$8D2A
8D1C ADD A,$02
8D1E CP $D0
8D20 JR C,$8D37
8D22 CP $E0
8D24 JR NC,$8D37
8D26 ADD A,$10
8D28 JR $8D37 Jump to 8D37.
8D2A ADD A,$FE
8D2C CP $40
8D2E JR NC,$8D37
8D30 CP $30
8D32 JP C,$8D37
8D35 SUB $10
This entry point is used by the routines at 8E5A and 8EC5.
8D37 LD (IX+$05),A
This entry point is used by the routines at 8E5A and 8EC5.
8D3A CALL HandlerControls Call HandlerControls.
8D3D LD B,A B=controls.
8D3E LD A,($608F) If FuelLevel_2 is zero, jump to 8D4E.
8D41 AND A
8D42 JR Z,$8D4E
8D44 BIT 3,B
8D46 JP Z,$8F34
8D49 BIT 2,B
8D4B JP Z,$8F61
8D4E LD B,$00
8D50 LD A,(IX+$06)
8D53 AND A
8D54 JP M,$8D5B
8D57 CP $40
8D59 JR NC,$8D61
8D5B LD C,$08
This entry point is used by the routine at 8F34.
8D5D ADD A,C
8D5E LD (IX+$06),A
This entry point is used by the routine at 8F34.
8D61 LD A,(IX+$06)
8D64 SRA A
8D66 SRA A
8D68 SRA A
8D6A SRA A
8D6C ADD A,(IX+$04)
8D6F CP $40
8D71 JP C,$8F61
8D74 CP $B0
8D76 JR C,$8D90
8D78 CALL $91BB
8D7B LD A,D
8D7C AND A
8D7D JR Z,$8D8A
8D7F LD A,E
8D80 AND A
8D81 JR Z,$8D8A
8D83 LD A,E
8D84 OR D
8D85 BIT 3,A
8D87 JP Z,$8FF4
8D8A LD (IX+$06),$E0
8D8E LD A,$AF
8D90 LD (IX+$04),A
This entry point is used by the routine at 8F61.
8D93 LD A,(IX+$05)
8D96 AND A
8D97 JP P,$8D9C
8D9A NEG
8D9C SRA A
8D9E ADD A,B
8D9F SLA A
8DA1 LD C,A
8DA2 LD B,$00
8DA4 LD HL,($608E) HL=FuelLevel_1.
8DA7 LD A,H If jetmans fuel has run out, jump to 8DBB.
8DA8 OR L
8DA9 JR Z,$8DBB
8DAB AND A Reset flags.
Subtract the fuel expenditure from the current fuel level.
8DAC SBC HL,BC HL=HL-BC.
8DAE LD A,H If there's any fuel remaining, jump to 8DBB.
8DAF AND A
8DB0 JR NZ,$8DBB
8DB2 LD DE,$BA2D DE=BA2D.
8DB5 CALL $B9BC Call B9BC.
8DB8 LD HL,$0000 Write 0000 to FuelLevel_1.
8DBB LD ($608E),HL
8DBE LD A,H A=H.
8DBF LD HL,$1040 HL=1040.
8DC2 CALL DrawGauge Call DrawGauge.
This entry point is used by the routine at 8CBC.
8DC5 CALL $907B Call 907B.
8DC8 LD A,($5E42) A=5E42.
8DCB AND %00000011 Keep bits 0-1.
8DCD LD C,A Store the result in C.
8DCE LD A,(IX+$00) A=IX+00.
8DD1 DEC A Decrease A by one.
8DD2 AND %11111100 Keep only bits 2-7.
8DD4 OR C Set the bits from C.
8DD5 INC A Increment A by one.
8DD6 LD (IX+$00),A Write A back to IX+00.
This entry point is used by the routines at 8CBC, 8FF4 and 9005.
8DD9 CALL $8701 Call 8701.
8DDC CALL $8733 Call 8733.
8DDF CALL HandlerControls Call HandlerControls.
8DE2 BIT 4,A
8DE4 CALL Z,Handler_LaserBeam
8DE7 LD A,($FF54) A=FF54.
8DEA CP $51
8DEC JR NZ,$8E07
8DEE LD A,($5E40) A=5E40.
8DF1 AND %01111111 Keep only bits 0-6.
8DF3 JR NZ,$8E07
8DF5 LD A,($5E42) A=5E42.
8DF8 AND %00001110 Keep only bits 1-3.
8DFA LD C,A
8DFB LD B,$00
8DFD LD HL,$9DB0 HL=9DB0.
8E00 ADD HL,BC
8E01 LD E,(HL)
8E02 INC HL
8E03 LD D,(HL)
8E04 CALL $B9BC Call B9BC.
8E07 LD A,(IX+$04)
8E0A CP $A8
8E0C RET C
8E0D LD HL,($607A)
8E10 LD DE,($6092)
8E14 AND A
8E15 SBC HL,DE
8E17 LD DE,$000C
8E1A ADD HL,DE
8E1B LD A,H
8E1C AND $1F
8E1E RET NZ
8E1F LD A,L
8E20 CP $18
8E22 RET NC
8E23 LD HL,$9000
8E26 LD ($608E),HL
8E29 BIT 0,(IX+$08)
8E2D RET NZ
8E2E CALL $945C
8E31 JR Z,$8E4F
8E33 LD HL,$60F0
8E36 LD A,(HL)
8E37 AND A
8E38 RET NZ
8E39 LD (HL),$2E
8E3B LD DE,$0007
8E3E ADD HL,DE
8E3F LD (HL),$43
8E41 INC HL
8E42 SET 0,(HL)
8E44 INC HL
8E45 INC HL
8E46 LD (HL),$00
8E48 SET 0,(IX+$08)
8E4C JP $B8BD
8E4F CALL $933E
8E52 RET Z
8E53 CALL $8634
8E56 CALL $930C
8E59 RET
Prev: 8CBC Up: Map Next: 8E5A