mirror of https://github.com/jeremysrand/BuGS.git
Move non-game code out of the main segment to make more room for more high score code.
This commit is contained in:
parent
08be64a61c
commit
701585df1a
254
BuGS/game.s
254
BuGS/game.s
|
@ -18,6 +18,7 @@
|
||||||
; more on-screen action.
|
; more on-screen action.
|
||||||
|
|
||||||
case on
|
case on
|
||||||
|
datachk off
|
||||||
mcopy game.macros
|
mcopy game.macros
|
||||||
keep game
|
keep game
|
||||||
|
|
||||||
|
@ -344,7 +345,7 @@ updateGameState_doneBonus anop
|
||||||
stz isSinglePlayer
|
stz isSinglePlayer
|
||||||
bra updateGameState_twoPlayer
|
bra updateGameState_twoPlayer
|
||||||
updateGameState_isSinglePlayer anop
|
updateGameState_isSinglePlayer anop
|
||||||
jmp setGameNotRunning
|
jmp >setGameNotRunning
|
||||||
updateGameState_notHighScore anop
|
updateGameState_notHighScore anop
|
||||||
lda isSinglePlayer
|
lda isSinglePlayer
|
||||||
beq updateGameState_isSinglePlayer
|
beq updateGameState_isSinglePlayer
|
||||||
|
@ -512,8 +513,96 @@ copyFromPlayer2Tiles_skip anop
|
||||||
cpx #RHS_FIRST_TILE_OFFSET
|
cpx #RHS_FIRST_TILE_OFFSET
|
||||||
blt copyFromPlayer2Tiles_loop
|
blt copyFromPlayer2Tiles_loop
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
checkKeyboard entry
|
||||||
|
checkKey_loop2 anop
|
||||||
|
short i,m
|
||||||
|
lda >KEYBOARD
|
||||||
|
bpl checkKey_done
|
||||||
|
sta >KEYBOARD_STROBE
|
||||||
|
long i,m
|
||||||
|
and #$007f
|
||||||
|
|
||||||
|
ldx gameState
|
||||||
|
bne checkKey_pause
|
||||||
|
|
||||||
|
cmp #'q'
|
||||||
|
beq checkKey_quit
|
||||||
|
cmp #'Q'
|
||||||
|
beq checkKey_quit
|
||||||
|
|
||||||
|
cmp #'1'
|
||||||
|
beq checkKey_game
|
||||||
|
|
||||||
|
cmp #'2'
|
||||||
|
beq checkKey_game
|
||||||
|
|
||||||
|
cmp #'s'
|
||||||
|
beq checkKey_swapStereo
|
||||||
|
cmp #'S'
|
||||||
|
beq checkKey_swapStereo
|
||||||
|
|
||||||
|
checkKey_done anop
|
||||||
|
long i,m
|
||||||
|
rtl
|
||||||
|
|
||||||
|
checkKey_pause anop
|
||||||
|
jmp >pauseGame
|
||||||
|
|
||||||
|
checkKey_quit anop
|
||||||
|
stz shouldQuit
|
||||||
|
rtl
|
||||||
|
|
||||||
|
checkKey_game anop
|
||||||
|
sec
|
||||||
|
sbc #'1'
|
||||||
|
jmp startGame
|
||||||
|
|
||||||
|
checkKey_swapStereo anop
|
||||||
|
jsl swapStereoSettings
|
||||||
|
jmp >staticGameBoard
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
waitForBeam entry
|
||||||
|
beamLoop anop
|
||||||
|
lda >VERTICAL_COUNTER ; load the counter value
|
||||||
|
and #$80ff ; mask out the VBL bits
|
||||||
|
asl a ; shift the word around
|
||||||
|
adc #0 ; move MSB -> LSB
|
||||||
|
cmp #$1c8
|
||||||
|
bge beamLoop
|
||||||
|
rtl
|
||||||
|
|
||||||
|
|
||||||
|
waitForVbl entry
|
||||||
|
vblLoop1 anop
|
||||||
|
short m
|
||||||
|
lda #$fe
|
||||||
|
cmp >READ_VBL
|
||||||
|
bpl vblLoop1
|
||||||
|
vblLoop2 anop
|
||||||
|
cmp >READ_VBL
|
||||||
|
bmi vblLoop2
|
||||||
|
long m
|
||||||
|
rtl
|
||||||
|
|
||||||
|
|
||||||
|
borderColour dc i2'0'
|
||||||
|
frameCount dc i2'0'
|
||||||
|
shouldPreloadSound dc i2'0'
|
||||||
|
highScoreCountdown dc i2'0'
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
gameExtras start extraSeg
|
||||||
|
using globalData
|
||||||
|
using tileData
|
||||||
|
using playerData
|
||||||
|
|
||||||
|
|
||||||
overwriteGameTile entry
|
overwriteGameTile entry
|
||||||
phy
|
phy
|
||||||
tay
|
tay
|
||||||
|
@ -527,12 +616,11 @@ overwriteGameTile entry
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
ply
|
ply
|
||||||
rts
|
rtl
|
||||||
|
|
||||||
|
|
||||||
pauseGame entry
|
pauseGame entry
|
||||||
jsl pauseSound
|
jsl pauseSound
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*4+2
|
ldx #GAME_NUM_TILES_WIDE*4+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -555,7 +643,7 @@ pauseGame entry
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*6+2
|
ldx #GAME_NUM_TILES_WIDE*6+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -578,7 +666,7 @@ pauseGame entry
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*8+2
|
ldx #GAME_NUM_TILES_WIDE*8+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -601,7 +689,7 @@ pauseGame entry
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*10+2
|
ldx #GAME_NUM_TILES_WIDE*10+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -624,7 +712,7 @@ pauseGame entry
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*12+2
|
ldx #GAME_NUM_TILES_WIDE*12+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_LETTER_O
|
_overwriteGameTile TILE_LETTER_O
|
||||||
|
@ -647,7 +735,7 @@ pauseGame entry
|
||||||
_overwriteGameTile TILE_LETTER_M
|
_overwriteGameTile TILE_LETTER_M
|
||||||
_overwriteGameTile TILE_LETTER_E
|
_overwriteGameTile TILE_LETTER_E
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*14+2
|
ldx #GAME_NUM_TILES_WIDE*14+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -670,7 +758,7 @@ pauseGame entry
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
short i,m
|
short i,m
|
||||||
pauseGame_loop anop
|
pauseGame_loop anop
|
||||||
lda >KEYBOARD
|
lda >KEYBOARD
|
||||||
|
@ -688,7 +776,7 @@ pauseGame_quit anop
|
||||||
stz shouldQuit
|
stz shouldQuit
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
setGameTile entry
|
setGameTile entry
|
||||||
cmp tileType,x
|
cmp tileType,x
|
||||||
beq setGameTile_skip
|
beq setGameTile_skip
|
||||||
|
@ -698,9 +786,9 @@ setGameTile entry
|
||||||
setGameTile_skip anop
|
setGameTile_skip anop
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
rts
|
rtl
|
||||||
|
|
||||||
|
; This must come before staticGameBoard because it falls into it.
|
||||||
setGameNotRunning entry
|
setGameNotRunning entry
|
||||||
lda #GAME_STATE_NOT_RUNNING
|
lda #GAME_STATE_NOT_RUNNING
|
||||||
sta gameState
|
sta gameState
|
||||||
|
@ -710,15 +798,13 @@ setGameNotRunning entry
|
||||||
jsl fleaInitLevel
|
jsl fleaInitLevel
|
||||||
jsl addRandomMushrooms
|
jsl addRandomMushrooms
|
||||||
stz displayGlobalHighScores
|
stz displayGlobalHighScores
|
||||||
jmp staticGameBoard
|
; Fall through into staticGameBoard...
|
||||||
|
|
||||||
|
|
||||||
staticGameBoard entry
|
staticGameBoard entry
|
||||||
lda #TILE_PLAYER
|
lda #TILE_PLAYER
|
||||||
sta tileType+RHS_FIRST_TILE_OFFSET-GAME_NUM_TILES_WIDE-1
|
sta tileType+RHS_FIRST_TILE_OFFSET-GAME_NUM_TILES_WIDE-1
|
||||||
lda #TILE_STATE_DIRTY
|
lda #TILE_STATE_DIRTY
|
||||||
sta tileDirty+RHS_FIRST_TILE_OFFSET-GAME_NUM_TILES_WIDE-1
|
sta tileDirty+RHS_FIRST_TILE_OFFSET-GAME_NUM_TILES_WIDE-1
|
||||||
|
|
||||||
lda displayGlobalHighScores
|
lda displayGlobalHighScores
|
||||||
beq staticGameBoard_localHighScores
|
beq staticGameBoard_localHighScores
|
||||||
jmp staticGameBoard_globalHighScores
|
jmp staticGameBoard_globalHighScores
|
||||||
|
@ -746,7 +832,7 @@ staticGameBoard_localHighScores anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*10+2
|
ldx #GAME_NUM_TILES_WIDE*10+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_highScoreRow 0
|
_highScoreRow 0
|
||||||
|
@ -756,7 +842,7 @@ staticGameBoard_localHighScores anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*12+2
|
ldx #GAME_NUM_TILES_WIDE*12+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_highScoreRow 1
|
_highScoreRow 1
|
||||||
|
@ -766,7 +852,7 @@ staticGameBoard_localHighScores anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*14+2
|
ldx #GAME_NUM_TILES_WIDE*14+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_highScoreRow 2
|
_highScoreRow 2
|
||||||
|
@ -776,7 +862,7 @@ staticGameBoard_localHighScores anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*16+2
|
ldx #GAME_NUM_TILES_WIDE*16+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_highScoreRow 3
|
_highScoreRow 3
|
||||||
|
@ -786,7 +872,7 @@ staticGameBoard_localHighScores anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*18+2
|
ldx #GAME_NUM_TILES_WIDE*18+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_highScoreRow 4
|
_highScoreRow 4
|
||||||
|
@ -796,7 +882,7 @@ staticGameBoard_localHighScores anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*20+2
|
ldx #GAME_NUM_TILES_WIDE*20+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_highScoreRow 5
|
_highScoreRow 5
|
||||||
|
@ -806,7 +892,7 @@ staticGameBoard_localHighScores anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*22+2
|
ldx #GAME_NUM_TILES_WIDE*22+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_highScoreRow 6
|
_highScoreRow 6
|
||||||
|
@ -816,7 +902,7 @@ staticGameBoard_localHighScores anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*24+2
|
ldx #GAME_NUM_TILES_WIDE*24+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_highScoreRow 7
|
_highScoreRow 7
|
||||||
|
@ -826,7 +912,7 @@ staticGameBoard_localHighScores anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*26+2
|
ldx #GAME_NUM_TILES_WIDE*26+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_highScoreRow 8
|
_highScoreRow 8
|
||||||
|
@ -836,7 +922,7 @@ staticGameBoard_localHighScores anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*28+2
|
ldx #GAME_NUM_TILES_WIDE*28+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_highScoreRow 9
|
_highScoreRow 9
|
||||||
|
@ -995,7 +1081,7 @@ staticGameBoard_Options anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*32+2
|
ldx #GAME_NUM_TILES_WIDE*32+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_LETTER_P
|
_setGameTile TILE_LETTER_P
|
||||||
|
@ -1018,7 +1104,7 @@ staticGameBoard_Options anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*34+2
|
ldx #GAME_NUM_TILES_WIDE*34+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
@ -1041,7 +1127,7 @@ staticGameBoard_Options anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*36+2
|
ldx #GAME_NUM_TILES_WIDE*36+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
@ -1064,7 +1150,7 @@ staticGameBoard_Options anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*38+2
|
ldx #GAME_NUM_TILES_WIDE*38+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
@ -1082,7 +1168,7 @@ staticGameBoard_Options anop
|
||||||
_setGameTile TILE_LETTER_E
|
_setGameTile TILE_LETTER_E
|
||||||
_setGameTile TILE_LETTER_O
|
_setGameTile TILE_LETTER_O
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
lda settings+SETTINGS_SWAP_STEREO_OFFSET
|
lda settings+SETTINGS_SWAP_STEREO_OFFSET
|
||||||
bne staticGameBoard_swapped
|
bne staticGameBoard_swapped
|
||||||
_setGameTile TILE_LETTER_L
|
_setGameTile TILE_LETTER_L
|
||||||
|
@ -1096,7 +1182,7 @@ staticGameBoard_swapped anop
|
||||||
staticGameBoard_cont anop
|
staticGameBoard_cont anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*40+2
|
ldx #GAME_NUM_TILES_WIDE*40+2
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
@ -1119,7 +1205,7 @@ staticGameBoard_cont anop
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
_setGameTile TILE_EMPTY
|
_setGameTile TILE_EMPTY
|
||||||
|
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
|
@ -1151,97 +1237,17 @@ displayConnectionString entry
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
checkKeyboard entry
|
|
||||||
checkKey_loop2 anop
|
|
||||||
short i,m
|
|
||||||
lda >KEYBOARD
|
|
||||||
bpl checkKey_done
|
|
||||||
sta >KEYBOARD_STROBE
|
|
||||||
long i,m
|
|
||||||
and #$007f
|
|
||||||
|
|
||||||
ldx gameState
|
|
||||||
bne checkKey_pause
|
|
||||||
|
|
||||||
cmp #'q'
|
|
||||||
beq checkKey_quit
|
|
||||||
cmp #'Q'
|
|
||||||
beq checkKey_quit
|
|
||||||
|
|
||||||
cmp #'1'
|
|
||||||
beq checkKey_game
|
|
||||||
|
|
||||||
cmp #'2'
|
|
||||||
beq checkKey_game
|
|
||||||
|
|
||||||
cmp #'s'
|
|
||||||
beq checkKey_swapStereo
|
|
||||||
cmp #'S'
|
|
||||||
beq checkKey_swapStereo
|
|
||||||
|
|
||||||
checkKey_done anop
|
|
||||||
long i,m
|
|
||||||
rtl
|
|
||||||
|
|
||||||
checkKey_pause anop
|
|
||||||
jmp pauseGame
|
|
||||||
|
|
||||||
checkKey_quit anop
|
|
||||||
stz shouldQuit
|
|
||||||
rtl
|
|
||||||
|
|
||||||
checkKey_game anop
|
|
||||||
sec
|
|
||||||
sbc #'1'
|
|
||||||
jmp startGame
|
|
||||||
|
|
||||||
checkKey_swapStereo anop
|
|
||||||
jsl swapStereoSettings
|
|
||||||
jmp staticGameBoard
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
waitForKey entry
|
waitForKey entry
|
||||||
short m
|
short m
|
||||||
waitForKey_loop anop
|
waitForKey_loop anop
|
||||||
lda >KEYBOARD
|
lda >KEYBOARD
|
||||||
bpl waitForKey_loop
|
bpl waitForKey_loop
|
||||||
sta >KEYBOARD_STROBE
|
sta >KEYBOARD_STROBE
|
||||||
long m
|
long m
|
||||||
and #$7f
|
and #$7f
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
waitForBeam entry
|
|
||||||
beamLoop anop
|
|
||||||
lda >VERTICAL_COUNTER ; load the counter value
|
|
||||||
and #$80ff ; mask out the VBL bits
|
|
||||||
asl a ; shift the word around
|
|
||||||
adc #0 ; move MSB -> LSB
|
|
||||||
cmp #$1c8
|
|
||||||
bge beamLoop
|
|
||||||
rtl
|
|
||||||
|
|
||||||
|
|
||||||
waitForVbl entry
|
end
|
||||||
vblLoop1 anop
|
|
||||||
short m
|
|
||||||
lda #$fe
|
|
||||||
cmp >READ_VBL
|
|
||||||
bpl vblLoop1
|
|
||||||
vblLoop2 anop
|
|
||||||
cmp >READ_VBL
|
|
||||||
bmi vblLoop2
|
|
||||||
long m
|
|
||||||
rtl
|
|
||||||
|
|
||||||
|
|
||||||
shouldQuit dc i2'1'
|
|
||||||
borderColour dc i2'0'
|
|
||||||
frameCount dc i2'0'
|
|
||||||
shouldPreloadSound dc i2'0'
|
|
||||||
displayGlobalHighScores dc i2'0'
|
|
||||||
highScoreCountdown dc i2'0'
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
|
@ -137,14 +137,14 @@ _dirtyNonGameTile_skip&SYSCNT anop
|
||||||
macro
|
macro
|
||||||
_overwriteGameTile &type
|
_overwriteGameTile &type
|
||||||
lda #&type
|
lda #&type
|
||||||
jsr overwriteGameTile
|
jsl overwriteGameTile
|
||||||
mend
|
mend
|
||||||
|
|
||||||
|
|
||||||
macro
|
macro
|
||||||
_setGameTile &type
|
_setGameTile &type
|
||||||
lda #&type
|
lda #&type
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
mend
|
mend
|
||||||
|
|
||||||
|
|
||||||
|
@ -153,70 +153,70 @@ _dirtyNonGameTile_skip&SYSCNT anop
|
||||||
ldy #SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+&nthScore*SETTINGS_HIGH_SCORE_SIZE
|
ldy #SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+&nthScore*SETTINGS_HIGH_SCORE_SIZE
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
lda #TILE_EMPTY
|
lda #TILE_EMPTY
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda settings,y
|
lda settings,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
mend
|
mend
|
||||||
|
|
||||||
|
|
||||||
|
@ -225,70 +225,70 @@ _dirtyNonGameTile_skip&SYSCNT anop
|
||||||
ldy #2+&nthScore*SETTINGS_HIGH_SCORE_SIZE
|
ldy #2+&nthScore*SETTINGS_HIGH_SCORE_SIZE
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
lda #TILE_EMPTY
|
lda #TILE_EMPTY
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda highScoreResponse,y
|
lda highScoreResponse,y
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr setGameTile
|
jsl setGameTile
|
||||||
mend
|
mend
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -193,6 +193,9 @@ backupStack dc i2'0'
|
||||||
collision dc i2'0'
|
collision dc i2'0'
|
||||||
collisionAddr dc i2'0'
|
collisionAddr dc i2'0'
|
||||||
numSegments dc i2'0'
|
numSegments dc i2'0'
|
||||||
|
displayGlobalHighScores dc i2'0'
|
||||||
|
shouldQuit dc i2'1'
|
||||||
|
scoreIndex dc i2'0'
|
||||||
|
|
||||||
|
|
||||||
tileJumpTable dc a4'solid0'
|
tileJumpTable dc a4'solid0'
|
||||||
|
|
230
BuGS/score.s
230
BuGS/score.s
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
|
|
||||||
case on
|
case on
|
||||||
|
datachk off
|
||||||
mcopy score.macros
|
mcopy score.macros
|
||||||
keep score
|
keep score
|
||||||
|
|
||||||
|
@ -15,78 +16,6 @@ score start
|
||||||
using globalData
|
using globalData
|
||||||
using tileData
|
using tileData
|
||||||
|
|
||||||
|
|
||||||
updateHighScore entry
|
|
||||||
ldx #HIGH_SCORE_ONES_OFFSET
|
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+9
|
|
||||||
jsl asciiToTileType
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+8
|
|
||||||
jsl asciiToTileType
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+7
|
|
||||||
jsl asciiToTileType
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+6
|
|
||||||
jsl asciiToTileType
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+5
|
|
||||||
jsl asciiToTileType
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+4
|
|
||||||
jsl asciiToTileType
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+3
|
|
||||||
jsl asciiToTileType
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+2
|
|
||||||
jsl asciiToTileType
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+1
|
|
||||||
jsl asciiToTileType
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
|
|
||||||
dex
|
|
||||||
dex
|
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET
|
|
||||||
jsl asciiToTileType
|
|
||||||
sta tileType,x
|
|
||||||
_dirtyNonGameTile
|
|
||||||
rtl
|
|
||||||
|
|
||||||
|
|
||||||
scoreStartGame entry
|
scoreStartGame entry
|
||||||
stz gameScore
|
stz gameScore
|
||||||
|
@ -380,6 +309,90 @@ scoreAddOneThousand_skipZeroHundreds anop
|
||||||
jmp scoreAddOneToTile
|
jmp scoreAddOneToTile
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
scoreExtras start extraSeg
|
||||||
|
using globalData
|
||||||
|
using tileData
|
||||||
|
using playerData
|
||||||
|
|
||||||
|
|
||||||
|
updateHighScore entry
|
||||||
|
ldx #HIGH_SCORE_ONES_OFFSET
|
||||||
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+9
|
||||||
|
jsl asciiToTileType
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
|
||||||
|
dex
|
||||||
|
dex
|
||||||
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+8
|
||||||
|
jsl asciiToTileType
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
|
||||||
|
dex
|
||||||
|
dex
|
||||||
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+7
|
||||||
|
jsl asciiToTileType
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
|
||||||
|
dex
|
||||||
|
dex
|
||||||
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+6
|
||||||
|
jsl asciiToTileType
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
|
||||||
|
dex
|
||||||
|
dex
|
||||||
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+5
|
||||||
|
jsl asciiToTileType
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
|
||||||
|
dex
|
||||||
|
dex
|
||||||
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+4
|
||||||
|
jsl asciiToTileType
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
|
||||||
|
dex
|
||||||
|
dex
|
||||||
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+3
|
||||||
|
jsl asciiToTileType
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
|
||||||
|
dex
|
||||||
|
dex
|
||||||
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+2
|
||||||
|
jsl asciiToTileType
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
|
||||||
|
dex
|
||||||
|
dex
|
||||||
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+1
|
||||||
|
jsl asciiToTileType
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
|
||||||
|
dex
|
||||||
|
dex
|
||||||
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET
|
||||||
|
jsl asciiToTileType
|
||||||
|
sta tileType,x
|
||||||
|
_dirtyNonGameTile
|
||||||
|
rtl
|
||||||
|
|
||||||
|
|
||||||
checkHighScore entry
|
checkHighScore entry
|
||||||
ldy #0
|
ldy #0
|
||||||
checkHighScore_loop anop
|
checkHighScore_loop anop
|
||||||
|
@ -429,7 +442,7 @@ checkHighScore_doneCopy anop
|
||||||
lda gameScore+2,x
|
lda gameScore+2,x
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_OFFSET+2,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_OFFSET+2,y
|
||||||
sta setHighScoreRequest+8
|
sta setHighScoreRequest+8
|
||||||
|
|
||||||
lda playerNum
|
lda playerNum
|
||||||
cmp #PLAYER_ONE
|
cmp #PLAYER_ONE
|
||||||
beq checkHighScore_isPlayer1
|
beq checkHighScore_isPlayer1
|
||||||
|
@ -441,61 +454,61 @@ checkHighScore_saveHighScore anop
|
||||||
lda tileType,x
|
lda tileType,x
|
||||||
jsl tileTypeToAscii
|
jsl tileTypeToAscii
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET,y
|
||||||
|
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
lda tileType,x
|
lda tileType,x
|
||||||
jsl tileTypeToAscii
|
jsl tileTypeToAscii
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+1,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+1,y
|
||||||
|
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
lda tileType,x
|
lda tileType,x
|
||||||
jsl tileTypeToAscii
|
jsl tileTypeToAscii
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+2,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+2,y
|
||||||
|
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
lda tileType,x
|
lda tileType,x
|
||||||
jsl tileTypeToAscii
|
jsl tileTypeToAscii
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+3,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+3,y
|
||||||
|
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
lda tileType,x
|
lda tileType,x
|
||||||
jsl tileTypeToAscii
|
jsl tileTypeToAscii
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+4,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+4,y
|
||||||
|
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
lda tileType,x
|
lda tileType,x
|
||||||
jsl tileTypeToAscii
|
jsl tileTypeToAscii
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+5,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+5,y
|
||||||
|
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
lda tileType,x
|
lda tileType,x
|
||||||
jsl tileTypeToAscii
|
jsl tileTypeToAscii
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+6,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+6,y
|
||||||
|
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
lda tileType,x
|
lda tileType,x
|
||||||
jsl tileTypeToAscii
|
jsl tileTypeToAscii
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+7,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+7,y
|
||||||
|
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
lda tileType,x
|
lda tileType,x
|
||||||
jsl tileTypeToAscii
|
jsl tileTypeToAscii
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+8,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+8,y
|
||||||
|
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
lda tileType,x
|
lda tileType,x
|
||||||
jsl tileTypeToAscii
|
jsl tileTypeToAscii
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+9,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+9,y
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*4+2
|
ldx #GAME_NUM_TILES_WIDE*4+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -518,7 +531,7 @@ checkHighScore_saveHighScore anop
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*6+2
|
ldx #GAME_NUM_TILES_WIDE*6+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -541,7 +554,7 @@ checkHighScore_saveHighScore anop
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*8+2
|
ldx #GAME_NUM_TILES_WIDE*8+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -570,7 +583,7 @@ checkHighScore_donePrintingPlayer anop
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*10+2
|
ldx #GAME_NUM_TILES_WIDE*10+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -593,7 +606,7 @@ checkHighScore_donePrintingPlayer anop
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*12+2
|
ldx #GAME_NUM_TILES_WIDE*12+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -616,7 +629,7 @@ checkHighScore_donePrintingPlayer anop
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*14+2
|
ldx #GAME_NUM_TILES_WIDE*14+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_LETTER_E
|
_overwriteGameTile TILE_LETTER_E
|
||||||
|
@ -639,7 +652,7 @@ checkHighScore_donePrintingPlayer anop
|
||||||
_overwriteGameTile TILE_LETTER_L
|
_overwriteGameTile TILE_LETTER_L
|
||||||
_overwriteGameTile TILE_LETTER_S
|
_overwriteGameTile TILE_LETTER_S
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*16+2
|
ldx #GAME_NUM_TILES_WIDE*16+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -662,7 +675,7 @@ checkHighScore_donePrintingPlayer anop
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*18+2
|
ldx #GAME_NUM_TILES_WIDE*18+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -685,7 +698,7 @@ checkHighScore_donePrintingPlayer anop
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*20+2
|
ldx #GAME_NUM_TILES_WIDE*20+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -708,7 +721,7 @@ checkHighScore_donePrintingPlayer anop
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
ldx #GAME_NUM_TILES_WIDE*18+20
|
ldx #GAME_NUM_TILES_WIDE*18+20
|
||||||
checkHighScore_nextKey anop
|
checkHighScore_nextKey anop
|
||||||
jsl waitForKey
|
jsl waitForKey
|
||||||
|
@ -733,14 +746,14 @@ checkHighScore_skipToUpperCase anop
|
||||||
blt checkHighScore_isInvalid
|
blt checkHighScore_isInvalid
|
||||||
cmp #'Z'+1
|
cmp #'Z'+1
|
||||||
bge checkHighScore_isInvalid
|
bge checkHighScore_isInvalid
|
||||||
|
|
||||||
checkHighScore_isValid anop
|
checkHighScore_isValid anop
|
||||||
cpx #GAME_NUM_TILES_WIDE*18+26
|
cpx #GAME_NUM_TILES_WIDE*18+26
|
||||||
bge checkHighScore_isInvalid
|
bge checkHighScore_isInvalid
|
||||||
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_WHO_OFFSET,y
|
sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_WHO_OFFSET,y
|
||||||
iny
|
iny
|
||||||
jsl asciiToTileType
|
jsl asciiToTileType
|
||||||
jsr overwriteGameTile
|
jsl overwriteGameTile
|
||||||
_overwriteGameTile TILE_SOLID2
|
_overwriteGameTile TILE_SOLID2
|
||||||
dex
|
dex
|
||||||
dex
|
dex
|
||||||
|
@ -759,14 +772,14 @@ checkHighScore_backspace anop
|
||||||
dex
|
dex
|
||||||
dex
|
dex
|
||||||
bra checkHighScore_nextKey
|
bra checkHighScore_nextKey
|
||||||
|
|
||||||
checkHighScore_isEnter anop
|
checkHighScore_isEnter anop
|
||||||
cpx #GAME_NUM_TILES_WIDE*18+26
|
cpx #GAME_NUM_TILES_WIDE*18+26
|
||||||
blt checkHighScore_isInvalid
|
blt checkHighScore_isInvalid
|
||||||
bra checkHighScore_doneInitials
|
bra checkHighScore_doneInitials
|
||||||
checkHighScore_isInvalid anop
|
checkHighScore_isInvalid anop
|
||||||
bra checkHighScore_nextKey
|
bra checkHighScore_nextKey
|
||||||
|
|
||||||
checkHighScore_doneInitials anop
|
checkHighScore_doneInitials anop
|
||||||
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_WHO_OFFSET-3,y
|
lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_WHO_OFFSET-3,y
|
||||||
sta setHighScoreRequest+2
|
sta setHighScoreRequest+2
|
||||||
|
@ -803,7 +816,7 @@ checkHighScore_retry anop
|
||||||
jsl sendHighScore
|
jsl sendHighScore
|
||||||
beq checkHighScore_retryPrompt
|
beq checkHighScore_retryPrompt
|
||||||
brl checkHighScore_doneNetwork
|
brl checkHighScore_doneNetwork
|
||||||
|
|
||||||
checkHighScore_retryPrompt anop
|
checkHighScore_retryPrompt anop
|
||||||
ldx #GAME_NUM_TILES_WIDE*22+2
|
ldx #GAME_NUM_TILES_WIDE*22+2
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
@ -827,7 +840,7 @@ checkHighScore_retryPrompt anop
|
||||||
_overwriteGameTile TILE_LETTER_N
|
_overwriteGameTile TILE_LETTER_N
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
|
|
||||||
jsl waitForKey
|
jsl waitForKey
|
||||||
and #$df
|
and #$df
|
||||||
cmp #'N'
|
cmp #'N'
|
||||||
|
@ -837,37 +850,34 @@ checkHighScore_retryPrompt anop
|
||||||
brl checkHighScore_retry
|
brl checkHighScore_retry
|
||||||
checkHighScore_doRetry anop
|
checkHighScore_doRetry anop
|
||||||
brl checkHighScore_retryPrompt
|
brl checkHighScore_retryPrompt
|
||||||
|
|
||||||
checkHighScore_doneNetwork anop
|
checkHighScore_doneNetwork anop
|
||||||
jsl updateHighScore
|
jsl updateHighScore
|
||||||
sec
|
sec
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
uploadSpin1 entry
|
uploadSpin1 entry
|
||||||
ldx #GAME_NUM_TILES_WIDE*22+36
|
ldx #GAME_NUM_TILES_WIDE*22+36
|
||||||
_overwriteGameTile TILE_SOLID1
|
_overwriteGameTile TILE_SOLID1
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
uploadSpin2 entry
|
uploadSpin2 entry
|
||||||
ldx #GAME_NUM_TILES_WIDE*22+36
|
ldx #GAME_NUM_TILES_WIDE*22+36
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_SOLID1
|
_overwriteGameTile TILE_SOLID1
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
uploadSpin3 entry
|
uploadSpin3 entry
|
||||||
ldx #GAME_NUM_TILES_WIDE*22+36
|
ldx #GAME_NUM_TILES_WIDE*22+36
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_EMPTY
|
_overwriteGameTile TILE_EMPTY
|
||||||
_overwriteGameTile TILE_SOLID1
|
_overwriteGameTile TILE_SOLID1
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
end
|
||||||
scoreIndex dc i2'0'
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
Loading…
Reference in New Issue