diff --git a/BuGS/game.s b/BuGS/game.s index b34cea9..d735f17 100644 --- a/BuGS/game.s +++ b/BuGS/game.s @@ -18,6 +18,7 @@ ; more on-screen action. case on + datachk off mcopy game.macros keep game @@ -344,7 +345,7 @@ updateGameState_doneBonus anop stz isSinglePlayer bra updateGameState_twoPlayer updateGameState_isSinglePlayer anop - jmp setGameNotRunning + jmp >setGameNotRunning updateGameState_notHighScore anop lda isSinglePlayer beq updateGameState_isSinglePlayer @@ -512,8 +513,96 @@ copyFromPlayer2Tiles_skip anop cpx #RHS_FIRST_TILE_OFFSET blt copyFromPlayer2Tiles_loop 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 phy tay @@ -527,12 +616,11 @@ overwriteGameTile entry inx inx ply - rts - + rtl pauseGame entry jsl pauseSound - + ldx #GAME_NUM_TILES_WIDE*4+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -555,7 +643,7 @@ pauseGame entry _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*6+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -578,7 +666,7 @@ pauseGame entry _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*8+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -601,7 +689,7 @@ pauseGame entry _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*10+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -624,7 +712,7 @@ pauseGame entry _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*12+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_LETTER_O @@ -647,7 +735,7 @@ pauseGame entry _overwriteGameTile TILE_LETTER_M _overwriteGameTile TILE_LETTER_E _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*14+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -670,7 +758,7 @@ pauseGame entry _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + short i,m pauseGame_loop anop lda >KEYBOARD @@ -688,7 +776,7 @@ pauseGame_quit anop stz shouldQuit rtl - + setGameTile entry cmp tileType,x beq setGameTile_skip @@ -698,9 +786,9 @@ setGameTile entry setGameTile_skip anop inx inx - rts - - + rtl + +; This must come before staticGameBoard because it falls into it. setGameNotRunning entry lda #GAME_STATE_NOT_RUNNING sta gameState @@ -710,15 +798,13 @@ setGameNotRunning entry jsl fleaInitLevel jsl addRandomMushrooms stz displayGlobalHighScores - jmp staticGameBoard - - +; Fall through into staticGameBoard... staticGameBoard entry lda #TILE_PLAYER sta tileType+RHS_FIRST_TILE_OFFSET-GAME_NUM_TILES_WIDE-1 lda #TILE_STATE_DIRTY sta tileDirty+RHS_FIRST_TILE_OFFSET-GAME_NUM_TILES_WIDE-1 - + lda displayGlobalHighScores beq staticGameBoard_localHighScores jmp staticGameBoard_globalHighScores @@ -746,7 +832,7 @@ staticGameBoard_localHighScores anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*10+2 _setGameTile TILE_EMPTY _highScoreRow 0 @@ -756,7 +842,7 @@ staticGameBoard_localHighScores anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*12+2 _setGameTile TILE_EMPTY _highScoreRow 1 @@ -766,7 +852,7 @@ staticGameBoard_localHighScores anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*14+2 _setGameTile TILE_EMPTY _highScoreRow 2 @@ -776,7 +862,7 @@ staticGameBoard_localHighScores anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*16+2 _setGameTile TILE_EMPTY _highScoreRow 3 @@ -786,7 +872,7 @@ staticGameBoard_localHighScores anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*18+2 _setGameTile TILE_EMPTY _highScoreRow 4 @@ -796,7 +882,7 @@ staticGameBoard_localHighScores anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*20+2 _setGameTile TILE_EMPTY _highScoreRow 5 @@ -806,7 +892,7 @@ staticGameBoard_localHighScores anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*22+2 _setGameTile TILE_EMPTY _highScoreRow 6 @@ -816,7 +902,7 @@ staticGameBoard_localHighScores anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*24+2 _setGameTile TILE_EMPTY _highScoreRow 7 @@ -826,7 +912,7 @@ staticGameBoard_localHighScores anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*26+2 _setGameTile TILE_EMPTY _highScoreRow 8 @@ -836,7 +922,7 @@ staticGameBoard_localHighScores anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*28+2 _setGameTile TILE_EMPTY _highScoreRow 9 @@ -995,7 +1081,7 @@ staticGameBoard_Options anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*32+2 _setGameTile TILE_EMPTY _setGameTile TILE_LETTER_P @@ -1018,7 +1104,7 @@ staticGameBoard_Options anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*34+2 _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY @@ -1041,7 +1127,7 @@ staticGameBoard_Options anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*36+2 _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY @@ -1064,7 +1150,7 @@ staticGameBoard_Options anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*38+2 _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY @@ -1082,7 +1168,7 @@ staticGameBoard_Options anop _setGameTile TILE_LETTER_E _setGameTile TILE_LETTER_O _setGameTile TILE_EMPTY - + lda settings+SETTINGS_SWAP_STEREO_OFFSET bne staticGameBoard_swapped _setGameTile TILE_LETTER_L @@ -1096,7 +1182,7 @@ staticGameBoard_swapped anop staticGameBoard_cont anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*40+2 _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY @@ -1119,7 +1205,7 @@ staticGameBoard_cont anop _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY _setGameTile TILE_EMPTY - + rtl @@ -1151,97 +1237,17 @@ displayConnectionString entry _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY 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 - short m + short m waitForKey_loop anop - lda >KEYBOARD - bpl waitForKey_loop - sta >KEYBOARD_STROBE - long m + lda >KEYBOARD + bpl waitForKey_loop + sta >KEYBOARD_STROBE + long m and #$7f - 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 + rtl -waitForVbl entry -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 + end diff --git a/BuGS/global.macros b/BuGS/global.macros index 1202f27..469faa1 100644 --- a/BuGS/global.macros +++ b/BuGS/global.macros @@ -137,14 +137,14 @@ _dirtyNonGameTile_skip&SYSCNT anop macro _overwriteGameTile &type lda #&type - jsr overwriteGameTile + jsl overwriteGameTile mend macro _setGameTile &type lda #&type - jsr setGameTile + jsl setGameTile mend @@ -153,70 +153,70 @@ _dirtyNonGameTile_skip&SYSCNT anop ldy #SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+&nthScore*SETTINGS_HIGH_SCORE_SIZE lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile lda #TILE_EMPTY - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda settings,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile mend @@ -225,70 +225,70 @@ _dirtyNonGameTile_skip&SYSCNT anop ldy #2+&nthScore*SETTINGS_HIGH_SCORE_SIZE lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile lda #TILE_EMPTY - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile iny lda highScoreResponse,y jsl asciiToTileType - jsr setGameTile + jsl setGameTile mend diff --git a/BuGS/globals.s b/BuGS/globals.s index ed0244d..6dfddce 100644 --- a/BuGS/globals.s +++ b/BuGS/globals.s @@ -193,6 +193,9 @@ backupStack dc i2'0' collision dc i2'0' collisionAddr dc i2'0' numSegments dc i2'0' +displayGlobalHighScores dc i2'0' +shouldQuit dc i2'1' +scoreIndex dc i2'0' tileJumpTable dc a4'solid0' diff --git a/BuGS/score.s b/BuGS/score.s index 8c0e1b1..2d03b41 100644 --- a/BuGS/score.s +++ b/BuGS/score.s @@ -8,6 +8,7 @@ case on + datachk off mcopy score.macros keep score @@ -15,78 +16,6 @@ score start using globalData 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 stz gameScore @@ -380,6 +309,90 @@ scoreAddOneThousand_skipZeroHundreds anop 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 ldy #0 checkHighScore_loop anop @@ -429,7 +442,7 @@ checkHighScore_doneCopy anop lda gameScore+2,x sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_OFFSET+2,y sta setHighScoreRequest+8 - + lda playerNum cmp #PLAYER_ONE beq checkHighScore_isPlayer1 @@ -441,61 +454,61 @@ checkHighScore_saveHighScore anop lda tileType,x jsl tileTypeToAscii sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET,y - + inx inx lda tileType,x jsl tileTypeToAscii sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+1,y - + inx inx lda tileType,x jsl tileTypeToAscii sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+2,y - + inx inx lda tileType,x jsl tileTypeToAscii sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+3,y - + inx inx lda tileType,x jsl tileTypeToAscii sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+4,y - + inx inx lda tileType,x jsl tileTypeToAscii sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+5,y - + inx inx lda tileType,x jsl tileTypeToAscii sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+6,y - + inx inx lda tileType,x jsl tileTypeToAscii sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+7,y - + inx inx lda tileType,x jsl tileTypeToAscii sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+8,y - + inx inx lda tileType,x jsl tileTypeToAscii sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_SCORE_TEXT_OFFSET+9,y - + ldx #GAME_NUM_TILES_WIDE*4+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -518,7 +531,7 @@ checkHighScore_saveHighScore anop _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*6+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -541,7 +554,7 @@ checkHighScore_saveHighScore anop _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*8+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -570,7 +583,7 @@ checkHighScore_donePrintingPlayer anop _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*10+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -593,7 +606,7 @@ checkHighScore_donePrintingPlayer anop _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*12+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -616,7 +629,7 @@ checkHighScore_donePrintingPlayer anop _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*14+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_LETTER_E @@ -639,7 +652,7 @@ checkHighScore_donePrintingPlayer anop _overwriteGameTile TILE_LETTER_L _overwriteGameTile TILE_LETTER_S _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*16+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -662,7 +675,7 @@ checkHighScore_donePrintingPlayer anop _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*18+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -685,7 +698,7 @@ checkHighScore_donePrintingPlayer anop _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*20+2 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY @@ -708,7 +721,7 @@ checkHighScore_donePrintingPlayer anop _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + ldx #GAME_NUM_TILES_WIDE*18+20 checkHighScore_nextKey anop jsl waitForKey @@ -733,14 +746,14 @@ checkHighScore_skipToUpperCase anop blt checkHighScore_isInvalid cmp #'Z'+1 bge checkHighScore_isInvalid - + checkHighScore_isValid anop cpx #GAME_NUM_TILES_WIDE*18+26 bge checkHighScore_isInvalid sta settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_WHO_OFFSET,y iny jsl asciiToTileType - jsr overwriteGameTile + jsl overwriteGameTile _overwriteGameTile TILE_SOLID2 dex dex @@ -759,14 +772,14 @@ checkHighScore_backspace anop dex dex bra checkHighScore_nextKey - + checkHighScore_isEnter anop cpx #GAME_NUM_TILES_WIDE*18+26 blt checkHighScore_isInvalid bra checkHighScore_doneInitials checkHighScore_isInvalid anop bra checkHighScore_nextKey - + checkHighScore_doneInitials anop lda settings+SETTINGS_HIGH_SCORE_OFFSET+HIGH_SCORE_WHO_OFFSET-3,y sta setHighScoreRequest+2 @@ -803,7 +816,7 @@ checkHighScore_retry anop jsl sendHighScore beq checkHighScore_retryPrompt brl checkHighScore_doneNetwork - + checkHighScore_retryPrompt anop ldx #GAME_NUM_TILES_WIDE*22+2 _overwriteGameTile TILE_EMPTY @@ -827,7 +840,7 @@ checkHighScore_retryPrompt anop _overwriteGameTile TILE_LETTER_N _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY - + jsl waitForKey and #$df cmp #'N' @@ -837,37 +850,34 @@ checkHighScore_retryPrompt anop brl checkHighScore_retry checkHighScore_doRetry anop brl checkHighScore_retryPrompt - + checkHighScore_doneNetwork anop jsl updateHighScore sec rtl - - + + uploadSpin1 entry ldx #GAME_NUM_TILES_WIDE*22+36 _overwriteGameTile TILE_SOLID1 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY rtl - - + + uploadSpin2 entry ldx #GAME_NUM_TILES_WIDE*22+36 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_SOLID1 _overwriteGameTile TILE_EMPTY rtl - - + + uploadSpin3 entry ldx #GAME_NUM_TILES_WIDE*22+36 _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_EMPTY _overwriteGameTile TILE_SOLID1 rtl - - -scoreIndex dc i2'0' - - end + + end