Skip to navigation

Elite on the BBC Micro

Utility routines: TTX662 (Master version)

Name: TTX662 [View in context] Type: Subroutine [Compare versions] Category: Utility routines Summary: Clear the top part of the screen and draw a white border
Clear the top part of the screen (the space view) and draw a white border along the top and sides.
.TTX662 JSR TTX66 \ Call TTX66 to clear the top part of the screen and \ draw a white border JSR MT2 \ Switch to Sentence Case when printing extended tokens LDA #0 \ Reset the ball line heap pointer at LSP STA LSP LDA #%10000000 \ Set bit 7 of QQ17 to switch to Sentence Case STA QQ17 STA DTW2 \ Set bit 7 of DTW2 to indicate we are not currently \ printing a word JSR FLFLLS \ Call FLFLLS to reset the LSO block LDA #0 \ Set LAS2 = 0 to stop any laser pulsing STA LAS2 STA DLY \ Set the delay in DLY to 0, to indicate that we are \ no longer showing an in-flight message, so any new \ in-flight messages will be shown instantly STA de \ Clear de, the flag that appends " DESTROYED" to the \ end of the next text token, so that it doesn't LDX QQ22+1 \ Fetch into X the number that's shown on-screen during \ the hyperspace countdown BEQ OLDBOX \ If the counter is zero then we are not counting down \ to hyperspace, so jump to OLDBOX to skip the next \ instruction JSR ee3 \ Print the 8-bit number in X at text location (0, 1), \ i.e. print the hyperspace countdown in the top-left \ corner .OLDBOX LDA QQ11 \ If this is not a space view, jump to tt66 to skip BNE tt66 \ displaying the view name LDA #11 \ Move the text cursor to row 11 STA XC LDA #CYAN \ Switch to colour 3, which is cyan in the space view STA COL LDA VIEW \ Load the current view into A: \ \ 0 = front \ 1 = rear \ 2 = left \ 3 = right ORA #&60 \ OR with &60 so we get a value of &60 to &63 (96 to 99) JSR TT27 \ Print recursive token 96 to 99, which will be in the \ range "FRONT" to "RIGHT" JSR TT162 \ Print a space LDA #175 \ Print recursive token 15 ("VIEW ") JSR TT27 .tt66 LDX #0 \ Set QQ17 = 0 to switch to ALL CAPS STX QQ17 RTS \ Return from the subroutine