Compucolor.org – Virtual Media

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

0 GOTO  2250:REM  SET UP PATCHES
1 REM MENU
2 REM RICKI A. VICK  12SEP80  REV 1
5 CLEAR 2000
6 LN= 5:TP= 111:BT= 24:REM  BOX COORDINATES LINE, TOP, BOTTOM
7 T1= 0:T2= 0:T3= 12
10 PLOT 29,14,6,2,12,27,11
12 A1$= "NORTHERN VIRGINIA CCII USERS LIBRARY"
15 PRINT A1$
20 GOSUB 3000
30 PLOT 29,14,6,2,12,27,11
40 PRINT A1$+ "  "+ CAT$+ "  "+ VLM$+ "":PRINT
50 PRINT TAB( T1);"SELECT A PROGRAM FROM THE MENU BELOW"
60 GOSUB 1000:PRINT
70 PRINT TAB( T1);"ENTER NUMBER OF PROGRAM DESIRED: ";
80 S= CALL (2)
90 PRINT  CHR$ (S):X =  CALL (0)
100 IF S< 48GOTO 30
110 S1= S- 48:IF S> 57THEN S1= S- 55
120 IF S1< 0OR S1> NP+ 1GOTO 30
130 IF S1= 0GOTO 2000
140 IF S1= 1GOTO 4000
150 PRINT :PLOT 15,12:LOAD NM$(S1- 1):RUN
1000 PLOT 15
1010 PRINT TAB( T1);"0 - ";TAB( T3);"SET REAL TIME CLOCK"
1020 PRINT TAB( T1);"1 - ";TAB( T3);"DISPLAY CATALOG INFORMATION"
1030 FOR I= 2TO NP+ 1
1040 I$= CHR$ (I+ 48):IF I> 9THEN I$= CHR$ (I+ 55)
1050 PLOT 15,6,6
1060 PRINT TAB( T1);I$;" - ";NM$(I- 1);TAB( T3);DESC$(I- 1)
1070 NEXT
1080 PLOT 14
1090 RETURN
2000 REM  *******************************************************
2010 REM
2020 REM       C L O C K   D I S P L A Y   P R O G R A M
2030 REM
2040 REM  *******************************************************
2050 REM
2060 REM  RUNS ON 16K AND 32K MACHINES WITH FCS V6.78 AND 8.79
2070 REM  ALLOWS TIME TO BE SET AND DISPLAYED. CPU RESET STOPS
2080 REM  DISPLAY, AS DOES ESC <W>. THIS IS UNAVOIDABLE.
2090 REM
2100 REM  *** SET SV TO REFLECT FCS SYSTEM VERSION ***
2110 REM  (THE REAL-TIME CLOCK DOESN'T WORK RIGHT ON V6.78)
2120 SV =  1:TS =  PEEK (1):IF  TS< > 108 THEN SV= 0
2130 S= PEEK (33209):M= PEEK (33210):H= PEEK (33211)- SV
2140 PRINT :PRINT :PRINT  "COMPUCOLOR TIME = ";H;":";M;":";S
2150 INPUT  "SET THE COMPUCOLOR TIME (Y OR N) ";A$
2160 IF  A$= "Y" THEN GOSUB 2200
2170 INPUT  "TURN CLOCK DISPLAY OFF (Y OR N) ";A$
2180 IF  A$= "Y" THEN  X =  CALL (201):GOTO  1
2190 X =  CALL (200):GOTO  1
2200 REM  READ THE TIME AND DATE FROM USER
2210 REM
2220 INPUT "ENTER TIME (HH,MM,SS) ";H,M,S
2221 IF  H< 0 OR  H> 23 GOTO  2220
2222 IF  M< 0 OR  M> 59 GOTO  2220
2223 IF  S< 0 OR  S> 59 GOTO  2220
2225 POKE 33209,S:POKE 33210,M:POKE 33211,H+ SV
2230 INPUT  "ENTER DATE (MM,DD,YY) ";MO,DA,YR
2231 IF  MO< 0 OR  MO> 12 GOTO  2230
2232 IF  DA< 0 OR  DA> 31 GOTO  2230
2233 IF  YR< 0 GOTO  2230
2234 IF  YR> 1900 THEN  YR =  YR- 1900
2235 POKE  33212,MO:POKE  33213,DA:POKE  33214,YR
2240 RETURN
2250 REM  SHIFT END OF BASIC BACK AND LOAD PATCHES
2260 GOSUB 2340
2270 EB =  65024:IF  TM< EB THEN EB= 48640
2280 ZZ= INT (EB/ 256)
2290 POKE  32941,ZZ:POKE  32940,EB- ZZ* 256
2300 CLEAR  100
2310 GOSUB 2340
2320 MS$ =  "16":IF  TM= 65024 THEN MS$= "32"
2330 PLOT  27,4:PRINT  "RUN PTCH";MS$:PLOT  27,27
2335 GOTO 1
2340 TM =  PEEK (32941)* 256+ PEEK (32940)
2350 RETURN
3000 REM READ CATALOG
3010 DIM  NM$(20),RV$(20),DESC$(20)
3020 FILE "R",1,"CATALG",1
3030 GET 1,1,1;EOF,VLM$[1],SR
3040 I= 0
3050 FOR NUM= SRTO EOF
3060 I= I+ 1:IF I= 21THEN 3120
3070 GET 1,NUM,1;NM$(I)[6],VOL$[1]
3080 GET 1,NUM,124;DESC$(I)[51]
3085 GET 1,NUM,238;CAT$[9]
3090 IF LEFT$ (NM$(I),1)= " "GOTO 3120
3100 IF VOL$< VLM$THEN I= I- 1
3105 IF VOL$> VLM$GOTO 3120
3110 NEXT NUM
3120 FILE "C",1
3130 NP= I- 1
3140 RETURN
4000 REM SEARCH FOR PROGRAM BY NUMBER
4100 PRINT :PRINT :INPUT "WHAT PROGRAM NUMBER DO YOU WANT ? ";NUM
4150 NUM= NUM+ 1
4200 FILE "R",1,"CATALG",1
4250 GET 1,1,1;EOF
4300 GET 1,NUM,1;N$[6],VOL$[1],A$[24],DATE$[7],REV$[1],MS$[1],L$[1]
4350 GET 1,NUM,42;FR$[1],RATING$[1],SH$[40],SS$[40],D1$[57],D2$[57]
4360 GET 1,NUM,238;CAT$[9]
4400 REM DISPLAY CATALOG FORMAT
4450 GOSUB 8100
4500 REM DISPLAY CATALOG INFORMATION
4510 PLOT 3,15,LN:PRINT N$
4515 PLOT 3,34,LN:PRINT CAT$
4520 PLOT 3,57,LN:PRINT VOL$;"/";NUM- 1
4530 PLOT 3,9,LN+ 3:PRINT A$
4540 PLOT 3,43,LN+ 3:PRINT DATE$
4550 PLOT 3,60,LN+ 3:PRINT REV$
4560 PLOT 3,11,LN+ 6
4561 IF MS$= "1"THEN  PRINT "8K"
4562 IF MS$= "2"THEN  PRINT "16K"
4563 IF MS$= "3"THEN  PRINT "32K"
4570 PLOT 3,27,LN+ 6:PRINT L$
4571 IF L$= "A"THEN PLOT 3,28,LN+ 6:PRINT "SSEMBLY"
4572 IF L$= "B"THEN PLOT 3,28,LN+ 6:PRINT "ASIC"
4573 IF L$= "F"THEN PLOT 3,28,LN+ 6:PRINT "ORTRAN"
4574 IF L$= "S"THEN PLOT 3,28,LN+ 6:PRINT "OURCE"
4580 PLOT 3,48,LN+ 6:PRINT FR$
4590 IF  RATING$= "A"THEN RATING$= "10"
4591 PLOT 3,59,LN+ 6:PRINT RATING$
4600 PLOT 3,19,LN+ 9:PRINT SH$
4610 PLOT 3,19,LN+ 12:PRINT SS$
4620 PLOT 3,3,LN+ 17:PRINT D1$
4630 PLOT 3,3,LN+ 19:PRINT D2$
4640 PLOT 3,1,LN+ 23
4650 IF FL= 1THEN FL= 0:NUM= NUM- 1:GOTO 5350
4900 PRINT "PRESS RETURN FOR MENU,+ FOR NEXT,- FOR PREVIOUS  ! ";
4910 POKE 33278,255
4920 IF PEEK (33278)= 255THEN 4920
4925 PRINT
4930 IF PEEK (33278)= 43THEN NUM= NUM+ 1:IF NUM< = EOFTHEN 4300
4940 IF PEEK (33278)= 45THEN NUM= NUM- 1:IF NUM> 1THEN 4300
4950 FILE "C",1
4960 GOTO 30
8001 REM DISPLAY CATALOG FORMAT
8100 PLOT 6,6,12
8110 FOR Y= TPTO BT+ 23STEP - 12
8120 PLOT 2,0,Y,242,127,Y,255
8130 NEXT Y
8140 PLOT 2,0,TP,242,0,BT,127,BT,127,TP,255
8205 PLOT 3,0,LN- 4,14:PRINT A1$:PLOT 15,6,2
8215 PLOT 3,1,LN:PRINT "PROGRAM NAME:"
8216 PLOT 3,24,LN:PRINT "CATEGORY:"
8225 PLOT 3,48,LN:PRINT "VOL/PRG:"
8235 PLOT 3,1,LN+ 3:PRINT "AUTHOR:"
8245 PLOT 3,37,LN+ 3:PRINT "DATE:"
8255 PLOT 3,54,LN+ 3:PRINT "REV:"
8265 PLOT 3,1,LN+ 6:PRINT "MEM SIZE:"
8275 PLOT 3,17,LN+ 6:PRINT "LANGUAGE:"
8285 PLOT 3,37,LN+ 6:PRINT "FILES REQ:"
8295 PLOT 3,51,LN+ 6:PRINT "RATING:"
8305 PLOT 3,1,LN+ 9:PRINT "SPECIAL HARDWARE:"
8316 PLOT 3,1,LN+ 12:PRINT "SPECIAL SOFTWARE:"
8335 PLOT 3,24,LN+ 15:PRINT "DESCRIPTION"
8340 PLOT 3,0,LN+ 23
8999 RETURN