10
20
30
40 :
50
60
70
80 :
90 base%=&FC80
100 FOR P=0 TO 1
110 P%=&900
120 [OPT P*3
130 .start
140 JSR old
150 PHA:TYA:PHA:TXA:PHA
160 LDA #&86:JSR &FFF4
170 CPY #4:BCS ignore
180 JSR disp
190 .ignore
200 PLA:TAX:PLA:TAY:PLA
210 RTS
220 .old
230 JMP (oldv)
240 .disp
250 LDA #2:JSR comm
260 LDX #0:LDY #0:.loop
270 LDA &7C50,X:JSR data
280 INX:INY
290 CPY #40:BNE next
300 .loop2
310 LDA #32:JSR data
320 INY:CPY #64:BNE loop2
330 LDY #0
340 .next
350 CPX #80:BNE loop
360 LDA #2:JSR commX
370 LDX #0:LDY #0:.loopX
380 LDA &7C00,X:JSR dataX
390 INX:INY
400 CPY #40:BNE nextX
410 .loop2X
420 LDA #32:JSR dataX
430 INY:CPY #64:BNE loop2X
440 LDY #0
450 .nextX
460 CPX #80:BNE loopX
470 RTS
480 .commX
490 BIT base%+2:BMI commX
500 STA base%+2:LDA #13
510 .comm2X
520 BIT base%+2:BMI comm2X
530 STA base%+2:RTS
540 .dataX
550 BIT base%+2:BMI dataX
560 STA base%+3:RTS
570 .comm
580 BIT base%+0:BMI comm
590 STA base%+0:LDA #13
600 .comm2
610 BIT base%+0:BMI comm2
620 STA base%+0:RTS
630 .data
640 BIT base%+0:BMI data
650 STA base%+1:RTS
660 .go%
670 LDA #1:LDX #&A8:LDY #0
680 JSR &FFDA:LDA (&A8),Y
690 CMP #13:BEQ link_on
700 INY:LDA (&A8),Y:AND #&DF
710 CMP #ASC"F":BNE link_on
720 LDA oldv+0:STA &20E
730 LDA oldv+1:STA &20F
740 RTS
750 .link_on
760 LDA &20E:STA oldv+0
770 LDA &20F:STA oldv+1
780 LDA #start AND 255:STA &20E
790 LDA #start DIV 256:STA &20F
800 RTS
810 .oldv
820 ]NEXT
830 PRINT"*SAVE lcd FFFF0900 ";~P%OR&FFFF0000;" ";~go%OR&FFFF0000