Prev: AC05 Up: Map Next: AD9C
AC3E: Start 1UP Game
Used by the routine at Main_Game.
Start_1UP_Game AC3E XOR A Write 00 to;
AC3F LD ($AA80),A
AC42 LD ($B05F),A
AC45 LD ($AA06),A
AC48 LD ($AA08),A
AC4B LD ($AA48),A
AC4E INC A Write 01 to;
AC4F LD ($AF35),A
AC52 LD ($AA46),A
AC55 INC A Write 02 to;
AC56 LD ($AA3C),A
AC59 LD ($AF34),A
AC5C CALL Reset_Score Call Reset_Score.
Start_1UP_Game_0 AC5F LD A,($AF35) If AF35 is zero, jump to Start_1UP_Game_1.
AC62 AND A
AC63 JR Z,Start_1UP_Game_1
AC65 DEC A Decrease A by one.
AC66 LD ($AF35),A Write A to AF35.
AC69 CALL Intro_Music Call Intro_Music.
AC6C LD A,($AF34) A=CurrentBackground.
AC6F CALL DrawBackground Call DrawBackground.
AC72 LD B,$00 B=00.
AC74 CALL $AF52 Call AF52.
AC77 CALL Game_Over_13 Call Game_Over_13.
AC7A LD HL,$B035 Point to Hi_Score and call Print_HighScore.
AC7D CALL Print_HighScore
AC80 LD A,($B05F)
AC83 AND $1F
AC85 LD HL,$AF33
AC88 LD (HL),A
AC89 LD B,$01
AC8B CALL Populate_Score_Buffer
AC8E CALL Zero_To_Space
AC91 LD HL,$0022 Point to Score_Buffer and call Print_String.
AC94 LD DE,$B024
AC97 CALL Print_String
AC9A CALL Show_Rank Call Show_Rank.
Start_1UP_Game_1 AC9D CALL New_Round
ACA0 CALL Init_Time
ACA3 CALL Start_1UP_Game_8
ACA6 AND A
ACA7 JP M,Start_1UP_Game_2
ACAA JR Z,Start_1UP_Game_3
ACAC LD HL,$AA3C
ACAF DEC (HL)
ACB0 JR NZ,Start_1UP_Game_0
ACB2 LD (HL),$02
ACB4 CALL $AF27
ACB7 LD A,$01
ACB9 LD ($AF35),A
ACBC LD HL,$B05F
ACBF LD A,(HL)
ACC0 CP $10
ACC2 JR Z,Start_1UP_Game_4
ACC4 ADD A,$01
ACC6 DAA
ACC7 LD (HL),A
ACC8 LD HL,$AA80
ACCB INC (HL)
ACCC JP Start_1UP_Game_0
Start_1UP_Game_2 ACCF CP $81
ACD1 JR NZ,Start_1UP_Game_3
ACD3 CALL Start_1UP_Game_5
ACD6 JP Start_1UP_Game_0
Start_1UP_Game_3 ACD9 XOR A
ACDA RET
Start_1UP_Game_4 ACDB CALL Random_Number
ACDE AND $03
ACE0 ADD A,$07
ACE2 LD ($AA80),A
ACE5 JP Start_1UP_Game_0
This entry point is used by the routine at Start_2UP_Game.
Start_1UP_Game_5 ACE8 LD A,$19 Write 19 to;
ACEA LD ($AA0C),A
ACED LD ($AA4C),A
This entry point is used by the routine at AE26.
Start_1UP_Game_6 ACF0 XOR A Write 00 to;
ACF1 LD ($AA0D),A
ACF4 LD ($AA0B),A
ACF7 LD ($AA4B),A
ACFA LD ($AA16),A
ACFD LD ($AA56),A
AD00 LD ($AA0D),A
AD03 LD A,$7A Write 7A to;
AD05 LD ($AA18),A
AD08 LD ($AA58),A
Start_1UP_Game_7 AD0B CALL $95D4 Call 95D4.
AD0E CALL $BF13 Call BF13.
AD11 LD A,($AA0D)
AD14 AND A
AD15 JR Z,Start_1UP_Game_7
AD17 RET
Start_1UP_Game_8 AD18 CALL $AE26
AD1B AND A
AD1C RET M
AD1D CALL $AF01
AD20 JR Z,Start_1UP_Game_10
AD22 CALL Yin_Yang_1UP
AD25 CALL $AF36
AD28 LD A,($AA01)
AD2B CP $04 Check if player 1 has 4 points.
This entry point is used by the routine at B2FB.
Start_1UP_Game_9 AD2D JR NC,Start_1UP_Game_12
AD2F LD A,($AA41)
AD32 CP $04 Check if player 2 has 4 points.
AD34 JP NC,Start_1UP_Game_16
Start_1UP_Game_10 AD37 XOR A
AD38 LD ($AA08),A
AD3B LD ($AA48),A
AD3E LD A,($9C2B)
AD41 AND A
AD42 JR Z,Start_1UP_Game_8
AD44 LD A,($AA01)
AD47 LD HL,$AA41
AD4A CP (HL)
AD4B JR C,Start_1UP_Game_16
AD4D JR Z,Start_1UP_Game_11
AD4F JR Start_1UP_Game_12
Start_1UP_Game_11 AD51 LD A,($AA02)
AD54 LD HL,$AA42
AD57 CP (HL)
AD58 JR C,Start_1UP_Game_15
AD5A JR Z,Start_1UP_Game_17
AD5C CALL $AE78
Start_1UP_Game_12 AD5F CALL $AE7A
AD62 LD A,($9CA5)
AD65 AND A
AD66 JR Z,Start_1UP_Game_14
AD68 LD BC,$F000
AD6B CALL $AF1D
Start_1UP_Game_13 AD6E LD B,$01
AD70 CALL $AF52
AD73 CALL Time_Tick
AD76 CALL Print_Time
AD79 LD BC,$F000
AD7C CALL $AF1D
AD7F LD A,($9CA5)
AD82 AND A
AD83 JR NZ,Start_1UP_Game_13
AD85 CALL Print_Time
AD88 CALL $AF1A
Start_1UP_Game_14 AD8B CALL Init_Time
AD8E LD A,$01
AD90 RET
Start_1UP_Game_15 AD91 CALL $AE9B
Start_1UP_Game_16 AD94 CALL $AE9D
AD97 XOR A
AD98 RET
Start_1UP_Game_17 AD99 LD A,$81
AD9B RET
Prev: AC05 Up: Map Next: AD9C