00010 ;System equates used 00030 WARMST = $08 00040 DOSVEC = $0A 00050 LMARGN = $52 00060 SAVMSC = $58 00070 SDLSTL = $0230 00080 SDLSTH = $0231 00090 COLOR1 = $02C5 00100 COLOR2 = $02C6 00101 PORTB = $D301 00110 ;End of system equates 00120 ;Zero-page equates 00130 Z0001 = $CB 00140 Z0002 = $CC 00150 Z0003 = $CD 00160 Z0018 = $E0 00170 Z0024 = $C8 00180 ;End of zero-page equates 00190 .ORG $3600 00200 LDX #$2C 00210 LDY #$00 00220 STY Z0001 ;$00CB 00230 LDA #$90 00240 STA Z0002 ;$00CC 00250 STA Z0003 ;$00CD 00260 L0004 LDA (Z0001),Y ;$00CB 00270 SEC 00280 SBC Z0003 ;$00CD 00290 EOR Z0003 ;$00CD 00300 STA (Z0001),Y ;$00CB 00310 INC Z0003 ;$00CD 00320 INC Z0003 ;$00CD 00330 INY 00340 BNE L0004 ;$360C 00350 INC Z0002 ;$00CC 00360 DEX 00370 BNE L0004 ;$360C 00380 LDX #$70 00390 LDY #$07 00400 JSR L0005 ;$364D 00410 BCC L0006 ;$364A 00420 LDX #$79 00430 LDY #$07 00440 JSR L0005 ;$364D 00450 BCC L0006 ;$364A 00460 LDX #$81 00470 LDY #$07 00480 JSR L0005 ;$364D 00490 BCC L0006 ;$364A 00500 LDA DOSVEC ;$000A 00510 SEC 00520 SBC #$02 00530 TAX 00540 LDA DOSVEC+1 ;$000B 00550 SBC #$00 00560 TAY 00570 JSR L0005 ;$364D 00580 L0006 JMP L0007 ;$3680 00590 L0005 STX Z0001 ;$00CB 00600 STY Z0002 ;$00CC 00610 LDY #$00 00620 LDA (Z0001),Y ;$00CB 00630 CMP #$50 00640 BEQ L0008 ;$365F 00650 CMP #$57 00660 BEQ L0008 ;$365F 00670 SEC 00680 RTS 00690 L0008 LDA Z0001 ;$00CB Patch write command patch code 00700 STA L967C+1 ;$967D 00710 LDA Z0002 ;$00CC 00720 STA L967C+2 ;$967E 00730 LDA WRTCMD ;$9008 00740 STA (Z0001),Y ;$00CB 00750 CLC 00760 RTS 00770 L0017 .BYTE $E0,$E4,$E8,$EC 00780 .BYTE $C0,$C4,$C8,$CC 00790 .BYTE $A0,$A4,$A8,$AC 00800 .BYTE $80,$84,$88,$8C 00930 L0007 LDY #$FF 00940 LDX L4000 ;$4000 00950 LDA PORTB ;$D301 00960 EOR #$10 00970 STY L4000 ;$4000 00980 INY 00990 STA PORTB ;$D301 01000 EOR #$10 01010 STY L4000 ;$4000 01020 STA PORTB ;$D301 01030 DEY 01040 CPY L4000 ;$4000 01050 STX L4000 ;$4000 01060 BEQ L0014 ;$36AA 01070 LDA #$00 01080 STA L9070 ;$9070 01090 JMP L377B ;$377B 01100 L0014 LDX #$0F 01110 LDY #$FF 01120 L0019 LDA PORTB ;$D301 01130 AND #$03 01140 ORA L0017,X ;$3670 01150 STA PORTB ;$D301 01160 LDA L4000 ;$4000 01170 STA Z0018,X ;$00E0 01180 STY L4000 ;$4000 01190 DEX 01200 BPL L0019 ;$36AE 01210 LDA PORTB ;$D301 01220 ORA #$F0 01230 STA PORTB ;$D301 01240 LDA #$00 01250 STA L4000 ;$4000 01260 LDY #$00 01270 LDX #$00 01280 L0022 LDA PORTB ;$D301 01290 AND #$03 01300 ORA L0017,X ;$3670 01310 STA PORTB ;$D301 01320 LDA L4000 ;$4000 01330 CMP #$FF 01340 BNE L0020 ;$36F3 01350 LDA #$00 01360 STA L4000 ;$4000 01370 LDA L0017,X ;$3670 01380 STA L9071,Y ;$9071 01390 INY 01400 L0020 INX 01410 CPX #$10 01420 BNE L0022 ;$36D5 01430 LDX #$0F 01440 L36FA LDA PORTB ;$D301 01450 AND #$03 01460 ORA L0017,X ;$3670 01470 STA PORTB ;$D301 01480 LDA Z0018,X ;$00E0 01490 STA L4000 ;$4000 01500 DEX 01510 BPL L36FA ;$36FA 01520 LDA PORTB ;$D301 01530 ORA #$F0 01540 STA PORTB ;$D301 01550 TYA 01560 AND #$FC 01570 TAY 01580 INY 01590 STY Z0024 ;$00C8 01600 LSR 01610 LSR 01620 STA L9081 ;$9081 01630 JMP L377B ;$377B 01640 L3724 .BYTE $7D 01650 .BYTE $9B,$9B 01660 .BYTE "Use your etra 130XE RAM?" 01670 .BYTE $00 01680 L3741 .BYTE $9B 01690 .BYTE "Use ALL extra RAM (a 'N' will only" 01700 .BYTE $9B 01710 .BYTE "use the 130XE banks)?" 01720 .BYTE $00 02490 L377B LDA SAVMSC ;$0058 Put screen ram start address in Display List 02500 STA L9096 ;$9096 02510 LDA SAVMSC+1 ;$0059 02520 STA L9096+1 ;$9097 02530 LDA #$92 02540 STA COLOR2 ;$02C6 02550 LDA #$0C 02560 STA COLOR1 ;$02C5 02570 LDA #$02 02580 STA LMARGN ;$0052 02590 LDA #$82 02600 STA SDLSTL ;$0230 02610 LDA #$90 02620 STA SDLSTH ;$0231 02630 JSR INIBUF ;$9726 02640 JSR L96CA ;$96CA Setvbv 02650 LDA #$FF 02660 STA WARMST ;$0008 02670 LDA L9070 ;$9070 02680 BEQ L0030 ;$37F5 02690 LDX #L3724 02700 LDY /L3724 02710 JSR PRTSTR ;$93BB 02720 JSR GETCHR ;$93AA 02730 JSR TOUPPR ;$95C8 02740 CMP #$59 ; 'Y' 02750 BEQ L0034 ;$37BF 02760 LDA #$4E ; 'N' 02770 L0034 PHA 02780 JSR PRTCHR ;$939F 02790 LDA #$9B 02800 JSR PRTCHR ;$939F 02810 PLA 02820 CMP #$4E 02830 BNE L0036 ;$37D5 02840 LDA #$00 02850 STA L9070 ;$9070 02860 JMP L0030 ;$37F5 02870 L0036 LDA Z0024 ;$00C8 02880 CMP #$05 02890 BEQ L0030 ;$37F5 02900 LDX #L3741 02910 LDY /L3741 02920 JSR PRTSTR ;$93BB 02930 JSR GETCHR ;$93AA 02940 JSR TOUPPR ;$95C8 02950 CMP #$59 02960 BEQ L0030 ;$37F5 02970 LDA #$05 02980 STA Z0024 ;$00C8 02990 LDA #$01 03000 STA L9081 ;$9081 03010 L0030 JMP L9281 ;$9281 03020 ;External reference equates 03030 L4000 = $4000 03050 WRTCMD = $9008 03080 L9070 = $9070 03090 L9071 = $9071 03100 L9081 = $9081 03110 L9096 = $9096 03130 INIBUF = $9726 03140 L96CA = $96CA 03150 PRTSTR = $93BB 03160 GETCHR = $93AA 03170 TOUPPR = $95C8 03180 PRTCHR = $939F 03190 L9281 = $9281 03200 ;End of external references 03210 .END