\ --- Mod: Code added for Elite-A: --------------------> IF _BUG_FIX .SwitchToCharSet \ This routine switches the MOS character definitions \ into memory at &C000 on a BBC Master LDA #0 \ Call OSBYTE with A = 0 and X = 1 to fetch bit 0 of the LDX #1 \ operating system version into X JSR OSBYTE CPX #3 \ If X =< 3 then this is not a BBC Master, so jump to BCC char1 \ char1 to continue drawing the character JSR savews \ Call savews to put the character set in the correct \ place .char1 RTS \ Return from the subroutine ENDIF \ --- End of added code ------------------------------->Name: SwitchToCharSet [Show more] Type: Subroutine Category: Utility routines Summary: Switch the MOS character definitions into memory at &C000 on a BBC MasterContext: See this subroutine in context in the source code References: This subroutine is called as follows: * DOENTRY calls SwitchToCharSet
[X]
Configuration variable OSBYTE = &FFF4
The address for the OSBYTE routine
[X]
Label char1 is local to this routine
[X]
Configuration variable savews = &DD06
The address for the savews workspace routine from the loader so we can call it to ensure the MOS character definitions are loaded before printing text on the BBC Master