-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathboot.asm
More file actions
109 lines (102 loc) · 2.37 KB
/
boot.asm
File metadata and controls
109 lines (102 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
; $0000 through $06FF cleared during vblank wait
lda initMagic
cmp #$54
bne @coldBoot
lda initMagic+1
cmp #$2D
bne @coldBoot
lda initMagic+2
cmp #$47
bne @coldBoot
lda initMagic+3
cmp #$59
bne @coldBoot
lda initMagic+4
cmp #$4D
bne @coldBoot
jmp @continueWarmBootInit
@coldBoot:
; zero out config memory
lda #$0
ldx #$A0
@loop:
dex
sta menuRAM, x
; cpx #0 ; dex sets z flag
bne @loop
; default pace to A
lda #$A
sta paceModifier
lda #$10
.if ANYDAS <> 1
sta dasModifier
.else
sta anydasDASValue
lda #$06
sta anydasARRValue
.endif
lda #INITIAL_LINECAP_LEVEL
sta linecapLevel
lda #INITIAL_LINECAP_LINES
sta linecapLines
lda #INITIAL_LINECAP_LINES_1
sta linecapLines+1
jsr resetScores
.if SAVE_HIGHSCORES
jsr detectSRAM
beq @noSRAM
jsr checkSavedInit
jsr copyScoresFromSRAM
@noSRAM:
.endif
lda #$54
sta initMagic
lda #$2D
sta initMagic+1
lda #$47
sta initMagic+2
lda #$59
sta initMagic+3
lda #$4D
sta initMagic+4
@continueWarmBootInit:
ldx #$89
stx rng_seed
dex
stx rng_seed+1
ldy #$00
sty PPUSCROLL
ldy #$00
sty PPUSCROLL
lda #$90
sta currentPpuCtrl
sta PPUCTRL
lda #$06
sta PPUMASK
jsr LE006
jsr updateAudio2
lda #$C0
sta stack
lda #$80
sta stack+1
lda #$35
sta stack+3
lda #$AC
sta stack+4
jsr updateAudioWaitForNmiAndDisablePpuRendering
jsr disableNmi
jsr drawBlackBGPalette
; instead of clearing vram like the original, blank out the palette
lda #$EF
ldx #$04
ldy #$04 ; used to be 5, but we dont need to clear 2p playfield
jsr memset_page
jsr waitForVBlankAndEnableNmi
jsr updateAudioWaitForNmiAndResetOamStaging
jsr updateAudioWaitForNmiAndEnablePpuRendering
jsr updateAudioWaitForNmiAndResetOamStaging
lda #$00
sta gameModeState
sta gameMode
lda #$00
sta frameCounter+1