.OPT NO EJECT ; ; GEND.M65 ; GENERIC CART ENDBYTES ; INADD = $52B2 STADD = $52B2 CTEND = $C000 CTADD = $A000 CTDST = $4000 BUILD = $4000 OFFSET = CTADD-CTDST-BUILD *= $7FFA-$A4 START LDA #$FF STA $D301 ;KILL BASIC HARD LDA #$01 STA $09 ;SAY BOOTED STA $03F8 ;KILL BASIC SOFT LDA # STADD ;STARTADD STA $0B ;DOSVEC+1 LDA # INADD ;INITADD STA $0D ;DOSINI+1 STA $03 ;CASINI+1 LDA # CTADD STA $E1 LDA # CTDST STA $E3 LDY #$00 L1 LDA ($E0),Y STA ($E2),Y INY BNE L1 INC $E1 INC $E3 LDA $E1 CMP # >CTEND BNE L1 JMP INTO-OFFSET ;JMP TO RAM TXT .BYTE $9B,$1D,$1D,$1D,$1D .BYTE $1D,$1D," " .BYTE " PULL CARTRIDGE" TXTL = *-TXT INTO LDX #$00 ;SO WE CAN PULL LDA # TXT+$4000 STA $0345 ;FOR TO DO TXT LDA #TXTL STA $0348 LDA #$0B ;PUT STA $0342 JSR $E456 ;AND DO IT LDA #$01 STA $42 ;CRITIC SET L2 LDA $D013 ;HARDWARE STA $03FA ;SOFTWARE BNE L2 ;INTERLOCK INY ;LOOP BNE L2 ;FOR CART PULL INX BNE L2 STA $42 ;SET CRITIC NORM ;BASIC ON=0>3F8 STA $0244 ;COLDSTART JMP $E474 ;GO WARMSTART INIT STX $03E9 ;CKEY=0 STX $03EA ;CASSBT=0 STX $09 ;BOOT=1 MEANS INC $09 ;NO CASS CODE! RTS XTLEN = *-START *= $7FFA .WORD START+BUILD .BYTE $00 ;MUST BE 0 .BYTE $04 ;DOS=5,NODOS=4 .WORD INIT+BUILD ;ORIGIN AT 130