.BR1 LDX #3 \ Set XC = 3 (set text cursor to column 3) STX XC JSR FX200 \ Disable the ESCAPE key and clear memory if the BREAK \ key is pressed (*FX 200,3) LDX #CYL \ Call TITLE to show a rotating Cobra Mk III (#CYL) and LDA #128 \ token 128 (" LOAD NEW COMMANDER (Y/N)?{crlf}{crlf}"), JSR TITLE \ returning with the internal number of the key pressed \ in A CMP #&44 \ Did we press "Y"? If not, jump to QU5, otherwise BNE QU5 \ continue on to load a new commander \BR1 \ These instructions are commented out in the original \LDX #3 \ source. This block starts with the same *FX call as \STX XC \ above, then clears the screen, calls a routine to \JSR FX200 \ flush the keyboard buffer (FLKB) that isn't present \LDA #1 \ in the cassette version but is in other versions, \JSR TT66 \ and then it displays "LOAD NEW COMMANDER (Y/N)?" and \JSR FLKB \ lists the current cargo, before falling straight into \LDA #14 \ the load routine below, whether or not we have \JSR TT214 \ pressed "Y". This may be a bit of testing code, as the \BCC QU5 \ first line is a commented label, BR1, which is where \ BRKV points, so when this is uncommented, pressing \ the BREAK key should jump straight to the load screen JSR GTNME \ We want to load a new commander, so we need to get \ the commander name to load JSR LOD \ We then call the LOD subroutine to load the commander \ file to address NA%+8, which is where we store the \ commander save file JSR TRNME \ Once loaded, we copy the commander name to NA% JSR TTX66 \ And we clear the top part of the screen and draw a \ white borderName: BR1 (Part 1 of 2) [Show more] Type: Subroutine Category: Start and end Summary: Show the "Load New Commander (Y/N)?" screen and start the gameContext: See this subroutine in context in the source code Variations: See code variations for this subroutine in the different versions References: This subroutine is called as follows: * S% calls BR1
BRKV is set to point to BR1 by the loading process.
[X]
Configuration variable CYL = 7
Ship type for a Cobra Mk III (trader)
[X]
Subroutine FX200 (category: Utility routines)
Set the behaviour of the ESCAPE and BREAK keys
[X]
Subroutine GTNME (category: Save and load)
Fetch the name of a commander file to save or load
[X]
Subroutine LOD (category: Save and load)
Load a commander file
[X]
Subroutine QU5 (category: Start and end)
Reset the current commander data block to the last saved commander
[X]
Subroutine TITLE (category: Start and end)
Display a title screen with a rotating ship and prompt
[X]
Subroutine TRNME (category: Save and load)
Copy the last saved commander's name from INWK to NA%
[X]
Subroutine TTX66 (category: Drawing the screen)
Clear the top part of the screen and draw a white border