Compucolor.org – Virtual Media

Listing of file='QCHANG.BAS;01' on disk='vmedia/chip_62-sector.ccvf'

0 GOTO  65000
10 PLOT 14,30,16,29,18,12
20 PRINT TAB( 10)"PROGRAM TO INTERCHANGE SCREEN DISPLAYS"
25 PRINT TAB( 10)"FROM D. SUITS 'COLOR GRAPHICS', PP32
30 T$= "AUXILIARY STORAGE":GOSUB 1000
40 GOSUB 65410:TM= TM+ 27
50 R$= ""
60 A= INT (TM/ 16)
70 R= INT (TM- A* 16):IF  R> 9 THEN  R$= CHR$ (55+ R)+ R$:GOTO 90
80 R$= RIGHT$ (STR$ (R),1)+ R$
90 IF  A> 0THEN  TM= A:GOTO 60
100 GOSUB 2000:PLOT 27,4:PRINT "LOA "D$" "R$:PLOT 27,27
110 T$= "THE SCREEN":GOSUB  1000
120 PRINT "AFTER THE SCREEN IS LOADED, SIMPLY PRESS"
130 PRINT "RETURN TO EXCHANGE THE TWO DISPLAYS."
140 PRINT "(ALSO TRY TYPING SOMETHING ELSE ONTO THE DISPLAY.)"
150 PRINT :PRINT "TYPE 'END' TO END THE PROGRAM"
160 PRINT
170 INPUT "NOW PRESS RETURN TO LOAD THE SCREEN DISPLAY...";A$
180 PLOT 12,27,4:PRINT "LOA "D$:PLOT 27,27,3,64,0
190 INPUT "";A$
200 IF  A$< > "END" THEN  PLOT  3,64,0:Z= CALL (0):GOTO  190
220 GOSUB 65410:Z= TM+ 4122:AD= ER:GOSUB 65400
230 END
1000 PRINT
1010 PRINT "I NEED THE NAME AND TYPE (AND VERSION, IF YOU WISH)--AS THEY"
1020 PRINT "APPEAR IN THE DIRECTORY--OF THE SCREEN DISPLAY TO BE LOADED"
1030 PRINT "INTO "T$"."
1040 PRINT
1050 INPUT "WOULD YOU LIKE TO SEE THE DIRECTORY? ";A$
1060 IF  LEFT$ (A$,1)= "N" THEN  1090
1070 GOSUB 2000
1080 PLOT 27,4:PRINT "DIR":PLOT 27,27
1090 PRINT :PRINT
1100 INPUT "PLEASE ENTER NAME.TYPE OF THE DISPLAY: ";D$
1110 IF  LEN (D$)< 5 OR  LEN (D$)> 13 THEN  1000
1120 FOR  J= 1 TO  LEN (D$)
1130   IF  MID$ (D$,J,1)= "." THEN  J= 999
1140 NEXT :IF  J< 999 THEN  1100
1150 PRINT :RETURN
2000 PRINT
2010 INPUT "PLEASE MOUNT THE PROPER DISK AND PRESS RETURN...";A$
2020 PRINT :RETURN
65000 GOSUB  65410:RESTORE  65010
65010 DATA  229,1,0,16,17,0,112,33,-1,-1,26
65020 DATA  245,126,18,241,119,35,19,11,120
65030 DATA  179,194,-1,-1,225,201
65040 IF  TM> 61413 THEN  TM= TM- 4122:GOTO  65080
65050 FOR  J= 1 TO  26:READ  A
65060   IF  A= > 0 AND  A< > PEEK (TM+ J) THEN  J= 26:TM= TM- 4122
65070 NEXT
65080 RESTORE  65010
65090 FOR  J= 1 TO  26:READ  A:POKE TM+ J,A- (A< 0):NEXT
65100 Z= TM+ 1:AD= 33283:GOSUB 65400
65110 Z= TM:AD= ER:GOSUB  65400
65120 Z= TM+ 27:AD= TM+ 9:GOSUB 65400
65130 Z= TM+ 11:AD= TM+ 23:GOSUB 65400
65140 CLEAR 50:GOTO 10
65400 ZZ= INT (Z/ 256):POKE  AD,Z- 256* ZZ:POKE  AD+ 1,ZZ:RETURN
65410 ER= 32940:TM= 256* PEEK (ER+ 1)+ PEEK (ER):RETURN