Prev: 28787 Up: Map Next: 29365
29338: Winners Table Name Entry
Used by the routine at StartGame.
Debounce the key press.
WinnersTableNameEntry 29338 CALL 654 Call KEY_SCAN.
Handle if no keys are being pressed, for reference:
In all instances the E register is returned with a value in the range of +0 to +39 the value being different for each of the forty keys of the keyboard, or the value +255 for no-key.
29341 INC E Set the zero flag if no keys have been pressed.
29342 JR NZ,WinnersTableNameEntry Jump to WinnersTableNameEntry unless no keys are being pressed.
29344 LD A,(39139) A=*CurrentStage.
29347 LD B,8 Set a counter of 8 which is the total number of scores held by the game.
29349 LD HL,29544 HL=TablePointersWinnersData.
29352 LD D,A Copy *CurrentStage into D.
Loop through each winners data in the table to find a good match for the players stage.
FindStage_Loop 29353 LD A,(HL) Jump to CollectName if *HL is lower than or equal to D.
29354 CP D
29355 JR C,CollectName
Move onto the next entry.
29357 INC HL Increment HL by three.
29358 INC HL
29359 INC HL
29360 DJNZ FindStage_Loop Decrease counter by one and loop back to FindStage_Loop until counter is zero.
The players stage wasn't higher than any of the stored stages.
29362 JP TitleScreen Jump to TitleScreen.
Prev: 28787 Up: Map Next: 29365