.load1 LDA #%00000000 ; Call the Kernal's SETMSG function to set the system JSR KERNALSETMSG ; error display switch as follows: ; ; * Bit 6 clear = do not display I/O error messages ; ; * Bit 7 clear = do not display system messages ; ; This ensures that any file system errors are hidden LDA #$FF ; Set the high byte of the execution address of STOP to STA $0329 ; $FF, from the default $F6ED to $FFED ; ; The address $FFED in the Kernal ROM simply returns ; without doing anything, so this effectively disables ; the RUN/STOP key JSR OfferFastLoader ; Ask whether we want to use the fast loader, and if we ; do, configure it to intercept the Kernal functions for ; loading files IF _GMA86_PAL LDA #3 ; Call LoadGMAFile to load the GMA3 file, which contains JSR LoadGMAFile ; the disk copy protection ELIF _GMA85_NTSC LDA #'3' ; Call LoadGMAFile to load the GMA3 file, which contains JSR LoadGMAFile ; the disk copy protection ENDIF JSR $C800 ; Call the disk copy protection code in GMA3 (this call ; gets disabled by elite-checksum.py) IF _GMA86_PAL LDA $02 ; If the result of the disk copy protection in address EOR #$97 ; $0002 is $97, then jump to load2 to skip the following BEQ load2 ; (this check gets disabled by elite-checksum.py) JMP ($FFFC) ; Otherwise we have failed the disk protection checks, ; so jump to the address in $FFFC to reset the machine .load2 ENDIFName: Elite GMA loader (Part 2 of 4) [Show more] Type: Subroutine Category: Loader Summary: Offer the option of a fast loader and run the disk protection code in the GMA3 fileContext: See this subroutine in context in the source code References: No direct references to this subroutine in this source file
[X]
Configuration variable KERNALSETMSG = $FF90
The Kernal function to control Kernal messages
[X]
Subroutine LoadGMAFile (category: Loader)
Load a specific GMA file
[X]
Subroutine OfferFastLoader (category: Loader)
Offer the option of using the fast loader, if we haven't already, and set up the fast loader if it is chosen
[X]
Label load2 is local to this routine