Prev: 7616 Up: Map Next: 7B67
79B2: Routine at 79B2
Used by the routines at TitleScreen and StartGame.
79B2 LD A,($6695) Return if bit 0 of *6695 is not set.
79B5 AND %00000001
79B7 RET Z
79B8 LD HL,$66D5 HL=66D5.
79BB LD B,$06 B=06.
79BD LD A,(HL) Jump to 79CA if *HL is not zero.
79BE OR A
79BF JR NZ,$79CA
79C1 PUSH BC Stash BC on the stack.
79C2 LD B,$C8 B=C8.
79C4 DJNZ $79C4 Decrease counter by one and loop back to 79C4 until counter is zero.
79C6 POP BC Restore BC from the stack.
79C7 JP $7B5F Jump to 7B5F.
79CA PUSH AF Stash AF, BC and HL on the stack.
79CB PUSH BC
79CC PUSH HL
79CD LD A,($66F3) Jump to 7A1F if *Flag_ActiveDemoMode is set.
79D0 OR A
79D1 JR NZ,$7A1F
79D3 LD A,($66F1) Jump to 79F8 if bit 1 of *66F1 is not zero.
79D6 AND %00000010
79D8 JR Z,$79F8
79DA LD A,(HL) DE=*HL*08.
79DB ADD A,A
79DC ADD A,A
79DD ADD A,A
79DE LD E,A
79DF LD D,$00
79E1 LD HL,$00F2 HL=00F2+DE.
79E4 ADD HL,DE
79E5 LD B,$03 B=03.
79E7 PUSH BC Stash BC and HL on the stack.
79E8 PUSH HL
79E9 LD DE,$0002 DE=0002.
79EC CALL $03B5 Call BEEPER.
79EF DI Disable interrupts.
79F0 POP HL Restore HL from the stack.
79F1 INC HL Increment HL by two.
79F2 INC HL
79F3 POP BC Restore BC from the stack.
79F4 DJNZ $79E7 Decrease counter by one and loop back to 79E7 until counter is zero.
79F6 JR $7A1F Jump to 7A1F.
79F8 LD A,(HL)
79F9 CP $01
79FB JR NZ,$7A1F
79FD LD B,$12
79FF LD HL,$0064
7A02 PUSH BC
7A03 PUSH HL
7A04 LD A,$64
7A06 SUB B
7A07 SUB B
7A08 LD B,A
7A09 LD A,$10
7A0B DI
7A0C OUT ($FE),A
7A0E DJNZ $7A0C
7A10 LD DE,$0001
7A13 CALL $03B5
7A16 DI
7A17 POP HL
7A18 LD BC,$0008
7A1B ADD HL,BC
7A1C POP BC
7A1D DJNZ $7A02
7A1F POP HL
7A20 POP BC
7A21 POP AF
7A22 PUSH BC
7A23 PUSH HL
7A24 INC HL
7A25 LD E,(HL)
7A26 INC HL
7A27 LD D,(HL)
7A28 LD C,A
7A29 LD A,($66F1)
7A2C AND $02
7A2E LD A,C
7A2F JR NZ,$7A99
7A31 CP $01
7A33 JR NZ,$7A41
7A35 PUSH DE
7A36 PUSH AF
7A37 EX DE,HL
7A38 CALL ConvertAttributeToScreenBufferAddress
7A3B EX DE,HL
7A3C CALL $7564
7A3F POP AF
7A40 POP DE
7A41 CP $04
7A43 JR NZ,$7A61
7A45 PUSH DE
7A46 PUSH AF
7A47 LD HL,$652D
7A4A LD (HL),$38
7A4C LD A,D
7A4D CP $5A
7A4F JR Z,$7A56
7A51 LD (HL),$32
7A53 INC HL
7A54 LD (HL),$35
7A56 CALL Handler_Score
7A59 CALL PrintScore
7A5C CALL PrintLives
7A5F POP AF
7A60 POP DE
7A61 CP $07
7A63 LD BC,$0344
7A66 JR C,$7A73
7A68 LD HL,$6535
7A6B CP $09
7A6D JR C,$7A82
7A6F LD C,$03
7A71 JR $7A82
7A73 INC C
7A74 CP $04
7A76 JR C,$7A7D
7A78 LD HL,$6532
7A7B JR $7A82
7A7D LD C,$47
7A7F LD HL,$652F
7A82 PUSH DE
7A83 EX DE,HL
7A84 CALL ConvertAttributeToScreenBufferAddress
7A87 PUSH HL
7A88 PUSH BC
7A89 LD BC,$50C0
7A8C AND A
7A8D SBC HL,BC
7A8F POP BC
7A90 POP HL
7A91 EX DE,HL
7A92 CALL C,CustomFont_PrintString
7A95 POP DE
7A96 JP $7B30
7A99 CP $01
7A9B JR NZ,$7AAE
7A9D PUSH DE
7A9E PUSH AF
7A9F EX DE,HL
7AA0 CALL ConvertAttributeToScreenBufferAddress
7AA3 EX DE,HL
7AA4 CALL $7564
7AA7 POP AF
7AA8 POP DE
7AA9 INC DE
7AAA LD (DE),A
7AAB DEC DE
7AAC JR $7AEB
7AAE CP $02
7AB0 JR NZ,$7AEB
7AB2 PUSH AF
7AB3 PUSH DE
7AB4 LD HL,$652C
7AB7 PUSH HL
7AB8 LD (HL),$31
7ABA LD A,($6691)
7ABD OR A
7ABE JR Z,$7ACC
7AC0 LD A,D
7AC1 CP $59
7AC3 JR C,$7AC9
7AC5 LD (HL),$32
7AC7 JR Z,$7ACC
7AC9 INC HL
7ACA LD (HL),$35
7ACC EX DE,HL
7ACD CALL ConvertAttributeToScreenBufferAddress
7AD0 PUSH HL
7AD1 LD BC,$50C0
7AD4 AND A
7AD5 SBC HL,BC
7AD7 POP HL
7AD8 EX DE,HL
7AD9 POP HL
7ADA LD BC,$0345
7ADD CALL C,Configurable_PrintString
7AE0 CALL Handler_Score
7AE3 CALL PrintScore
7AE6 CALL PrintLives
7AE9 POP DE
7AEA POP AF
7AEB PUSH DE
7AEC LD C,A
7AED LD A,E
7AEE INC A
7AEF AND $1F
7AF1 SUB C
7AF2 JR C,$7B0C
7AF4 PUSH BC
7AF5 PUSH AF
7AF6 LD A,E
7AF7 SUB C
7AF8 LD E,A
7AF9 INC E
7AFA CALL $6845
7AFD DEC E
7AFE POP AF
7AFF JR Z,$7B0B
7B01 POP BC
7B02 PUSH BC
7B03 LD A,C
7B04 CP $10
7B06 JR Z,$7B0B
7B08 CALL $684E
7B0B POP BC
7B0C POP DE
7B0D PUSH DE
7B0E INC E
7B0F LD A,E
7B10 AND $1F
7B12 ADD A,C
7B13 CP $20
7B15 JR NC,$7B2F
7B17 PUSH BC
7B18 CP $1F
7B1A PUSH AF
7B1B LD A,E
7B1C ADD A,C
7B1D LD E,A
7B1E DEC DE
7B1F CALL $6845
7B22 INC DE
7B23 POP AF
7B24 POP BC
7B25 JR Z,$7B2F
7B27 LD A,C
7B28 CP $10
7B2A JR Z,$7B2F
7B2C CALL $6853
7B2F POP DE
7B30 POP HL
7B31 INC (HL)
7B32 LD A,($66F1)
7B35 AND $02
7B37 LD A,$0B
7B39 JR Z,$7B3D
7B3B LD A,$11
7B3D CP (HL)
7B3E JR NZ,$7B5E
7B40 LD (HL),$00
7B42 PUSH HL
7B43 EX DE,HL
7B44 CALL ConvertAttributeToScreenBufferAddress
7B47 PUSH HL
7B48 LD BC,$50C0
7B4B AND A
7B4C SBC HL,BC
7B4E POP HL
7B4F EX DE,HL
7B50 LD HL,$3F1B
7B53 LD BC,$0300
7B56 CALL C,SpectrumFont_PrintString
7B59 LD HL,$667F
7B5C DEC (HL)
7B5D POP HL
7B5E POP BC
7B5F INC HL
7B60 INC HL
7B61 INC HL
7B62 DEC B
7B63 JP NZ,$79BD
7B66 RET
Prev: 7616 Up: Map Next: 7B67