.BRBR DEC brkd ; Decrement the brkd counter LDX #$FF ; Set the stack pointer to $01FF, which is the standard TXS ; location for the 6502 stack, so this instruction ; effectively resets the stack JSR backtonormal ; Disable the keyboard and set the SVN flag to 0 TAY ; The call to backtonormal sets A to 0, so this sets Y ; to 0, which we use as a loop counter below LDA #7 ; Set A = 7 to generate a beep before we print the error ; message .BRBRLOOP JSR CHPR ; Print the character in A, which contains a line feed ; on the first loop iteration, and then any non-zero ; characters we fetch from the error message INY ; Increment the loop counter LDA ($FD),Y ; Fetch the Y-th byte of the block pointed to by ; ($FD $FE), so that's the Y-th character of the message ; pointed to by the MOS error message pointer BNE BRBRLOOP ; If the fetched character is non-zero, loop back to the ; JSR OSWRCH above to print the it, and keep looping ; until we fetch a zero (which marks the end of the ; message) JMP BR1 ; Jump to BR1 to restart the gameName: BRBR [Show more] Type: Subroutine Category: Utility routines Summary: The standard BRKV handler for the gameContext: See this subroutine in context in the source code References: This subroutine is called as follows: * BRKBK calls BRBR
This routine is unused in this version of Elite (it is left over from the 6502 Second Processor version).
[X]
Subroutine BR1 (Part 1 of 2) (category: Start and end)
Show the "Load New Commander (Y/N)?" screen and start the game
[X]
Label BRBRLOOP is local to this routine
[X]
Subroutine CHPR (category: Text)
Print a character at the text cursor by poking into screen memory
[X]
Subroutine backtonormal (category: Utility routines)
Disable the keyboard, set the SVN flag to 0, and return with A = 0
[X]
Variable brkd (category: Utility routines)
The brkd counter for error handling