Listing of file='CMAINT.BAS;01' on disk='vmedia/taylor_1-sector.ccvf'
1 REM CMAINT 2 REM RICKI A. VICK 12SEP80 1 5 CLEAR 511 6 LN= 5:TP= 111:BT= 24:REM BOX COORDINATES LINE, TOP, BOTTOM 7 PLOT 15,27,18,6,15 10 PLOT 29,14,6,2,12,27,11,3,8,0 12 A1$= "NORTHERN VIRGINIA COMPUCOLOR II USERS GROUP" 13 A2$= "VOL/# NAME REV CATEGORY " 15 PRINT " N O R T H E R N V I R G I N I A" 20 PRINT " C O M P U C O L O R U S E R S G R O U P" 30 PRINT "C A T A L O G M A I N T A I N E N C E P R O G R A M" 35 PRINT "SELECT THE PROCEDURE YOU WANT "; 40 PRINT "FROM THE MENU BELOW":PRINT 60 T1= 10 70 PRINT TAB( T1);"LIST ALL PROGRAMS BY CATALOG NUMBER" 75 PRINT TAB( T1);"PRINT ON PRINTER ALL PROGRAMS BY CATALOG NUMBER" 80 PRINT TAB( T1);"SEARCH CATALOG BY PROGRAM NAME" 90 PRINT TAB( T1);"DISPLAY CATALOG ENTRY FORM" 100 PRINT TAB( T1);"UPDATE CATALOG ENTRY FORM" 140 PRINT TAB( T1)"CREATE A NEW CATALOG FILE" 141 PRINT TAB( T1)"MODIFY A CATALOG FILE FOR ANOTHER VOLUME" 142 PRINT TAB( T1);"EXIT FROM CATALOG MAINTENANCE PROGRAM" 145 PRINT "" 150 PLOT 6,1 153 PRINT "MENU SELECTION (PRESS LETTER) "; 156 PLOT 6,2,15 160 POKE 33278,255 170 IF PEEK (33278)= 255THEN 170 180 WTG$= CHR$ (PEEK (33278)) 190 IF WTG$= "L"THEN 2000 195 IF WTG$= "P"THEN 2000 200 IF WTG$= "S"THEN 3000 210 IF WTG$= "D"THEN 4000 220 IF WTG$= "U"THEN 5000 230 IF WTG$= "C"THEN 1000 235 IF WTG$= "M"THEN 7000 240 IF WTG$= "E"THEN 6000 400 IF WTG$< > "X"THEN 160 500 PLOT 15,27,18,6:POKE 33289,95:OUT 8,255:OUT 8,4:PLOT 27,13,27,117,20 510 LIST :PLOT 12,12,27,117,1:OUT 8,255:POKE 33265,0:POKE 33289,64:GOTO 1 1000 REM SET UP FILE OF PROGRAMS TO BE SUBMITTED 1100 PLOT 12 1110 PRINT "PROCEDURE:" 1120 PRINT "(1) INPUT NUMBER OF RECORDS FOR CATALOG (127 MAX)." 1125 PRINT "(2) PROGRAM WILL CREATE DATA FILE CATALG.RND." 1130 PRINT "(3) INPUT CATALOG INFORMATION AS REQUESTED BY PROGRAM." 1140 PRINT "NOTE: ALL ENTRIES WILL BE INITIALIZED TO THE SAME VALUE" 1160 PRINT 1170 INPUT "HOW MANY RECORDS FOR THIS CATALOG ? ";N1 1175 IF N1> 127OR N1< 1THEN 1000 1180 EOF= N1+ 1 1200 FILE "N","CATALG",N1+ 1,256,14 1210 FILE "R",1,"CATALG",1 1230 PUT 1,1,1;N1+ 1 1240 FILE "C",1 1300 REM PRINT SCREEN FORMAT 1350 GOSUB 8001 1400 REM INPUT CATALOG INFORMATION 1425 R= 2 1450 GOSUB 9000 1451 IF N1+ 1< 3THEN 1900 1455 FILE "R",1,"CATALG",1 1475 FOR R= 3TO N1+ 1 1477 PLOT 3,12,LN+ 23:PRINT R- 1;" DONE" 1480 PUT 1,R,1;N$[6],VOL$[1],A$[24],DATE$[7],REV$[1],MS$[1],L$[1] 1485 PUT 1,R,42;FR$[1],RATING$[1],SH$[40],SS$[40],D1$[57],D2$[57] 1486 PUT 1,R,238;CAT$[9] 1500 NEXT R 1550 FILE "C",1 1900 INPUT "PRESS RETURN TO GO TO THE MENU ! ";ANS$ 1950 GOTO 10 2000 REM PRINT CATALOG OF DISK 2010 PRINT :N1$= " " 2050 IF WTG$= "P"THEN OUT 8,255:OUT 8,4:PLOT 27,13,27,117,1 2100 FILE "R",1,"CATALG",1 2120 GOSUB 3950 2150 GET 1,1,1;EOF 2200 FOR R= 2TO EOF 2250 GET 1,R,1;N$[6],VOL$[1]:GET 1,R,39;REV$[1] 2255 IF LEFT$ (N$,1)= " "THEN R= EOF:GOTO 2400 2260 GET 1,R,124;D1$[57]:GET 1,R,181;D2$[57],CAT$[9] 2270 GOSUB 2500 2371 PR= PR+ 1 2372 IF WTG$= "P"AND PR= 21THEN GOSUB 3950:GOTO 2400 2380 IF WTG$= "L"AND PR= 10THEN PRINT :INPUT "PRESS RETURN TO CONTINUE ! ";AA$:GOSUB 3950 2400 NEXT R 2410 IF WTG$= "P"GOTO 2480 2450 PRINT :INPUT "THAT'S ALL--PRESS RETURN TO GO TO THE MENU ! ";AA$ 2480 FILE "C",1:OUT 8,255:POKE 33265,0:GOTO 1 2500 REM OUTPUT FORMATTER 2505 IF WTG$= "P"THEN OUT 8,4 2506 R$= STR$ (R- 1):R$= RIGHT$ (R$,(LEN (R$)- 1)) 2510 PRINT " ";VOL$;"/";R$;TAB( 8);"";N$;TAB( 18);REV$;TAB( 22);CAT$ 2520 PRINT "";TAB( 5);D1$:PRINT TAB( 5);D2$ 2525 IF WTG$= "P"THEN OUT 8,255 2530 RETURN 3000 REM PERFORM NAME SEARCH OF CATALOG 3075 PRINT :PRINT :INPUT "NAME OF PROGRAM SOUGHT ?: ";N1$ 3100 FILE "R",1,"CATALG",1 3200 GET 1,1,1;EOF 3225 GOSUB 3950 3250 FOR R= 2TO EOF 3260 GET 1,R,1;N$[6],VOL$[1]:GET 1,R,39;REV$[1] 3340 IF LEFT$ (N$,1)= " "THEN R= EOF:GOTO 3500 3350 IF N1$< > LEFT$ (N$,LEN (N1$))THEN GOTO 3500 3360 GET 1,R,124;D1$[57]:GET 1,R,181;D2$[57],CAT$[9] 3400 GOSUB 2500 3460 PR= PR+ 1:IF PR= 10THEN PRINT :INPUT "PRESS RETURN TO CONTINUE ! ";AA$:GOSUB 3950 3500 NEXT R 3900 PRINT :INPUT "THAT'S ALL--PRESS ENTER TO GO BACK TO THE MENU ! ";PROG 3920 FILE "C",1:GOTO 1 3950 IF WTG$= "P"THEN OUT 8,4 3960 PLOT 12:PRINT A1$:PRINT A2$:PLOT 3,37,1:PRINT "";N1$;"":PR= 2:PRINT 3970 IF WTG$= "P"THEN OUT 8,255 3980 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 GOTO 1 5000 REM UPDATE A CATALOG ENTRY 5100 PRINT :PRINT :INPUT "WHAT CATALOG ENTRY DO YOU WANT TO UPDATE ? ";NUM 5200 REM DISPLAY CATALOG FORMAT 5300 REM UPDATE INFORMATION IN CATALOG 5320 FL= 1:NUM= NUM+ 1:GOTO 4200 5350 R= NUM+ 1:GOSUB 9000 5900 INPUT "PRESS RETURN TO GO TO THE MENU ! ";ANS$:GOTO 10 6000 END 7000 REM MODIFY CATALOG FILE FOR ANOTHER VOLUME 7010 FILE "R",1,"CATALG",1 7020 GET 1,1,1;EOF,VLM$[1],SR 7030 PLOT 12:PRINT "CATALOG HOLDS ";EOF;" RECORDS" 7040 PRINT "VOLUME # ";VLM$ 7050 PRINT "STARTING RECORD # ";SR 7060 PRINT :INPUT "NEW VOLUME # ? ";X$ 7070 IF X$< > "0"THEN VLM$= X$ 7080 INPUT "NEW STARTING RECORD # ? ";X$ 7090 IF X$< > "0"THEN SR= VAL (X$) 7100 PUT 1,1,1;EOF,VLM$[1],SR 7110 FILE "C",1 7120 GOTO 10 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 9000 REM INPUT CATALOG INFORMATION & PLACE IN FILE 9110 PLOT 3,0,LN+ 23,11:PRINT "NAME OF PROGRAM'S DISK FILE" 9115 PLOT 3,15,LN:INPUT "";X$:IF X$< > "0"THEN N$= X$ 9116 PLOT 3,0,LN+ 23,11:PRINT "CATEGORY OF THIS DISK" 9118 PLOT 3,34,LN:INPUT "";X$:IF X$< > "0"THEN CAT$= X$ 9120 PLOT 3,0,LN+ 23,11:PRINT "VOLUME NUMBER IN THIS CATEGORY 1 TO 9" 9125 PLOT 3,57,LN:INPUT "";X$:IF X$< > "0"THEN VOL$= X$ 9130 PLOT 3,0,LN+ 23,11:PRINT "NAME OF THE SUBMITTER OR AUTHOR (IF KNOWN)" 9135 PLOT 3,9,LN+ 3:INPUT "";X$:IF X$< > "0"THEN A$= X$ 9140 PLOT 3,0,LN+ 23,11:PRINT "DATE OF SUBMISSION IN THE FORM 31AUG80" 9145 PLOT 3,43,LN+ 3:INPUT "";X$:IF X$< > "0"THEN DATE$= X$ 9150 PLOT 3,0,LN+ 23,11:PRINT "PROGRAM REVISION NUMBER 1 = FIRST SUBMISSION" 9155 PLOT 3,60,LN+ 3:INPUT "";X$:IF X$< > "0"THEN REV$= X$ 9160 PLOT 3,0,LN+ 23,11:PRINT "MEMORY SIZE OF MACHINE TO RUN PROGRAM"; 9161 PRINT " 8K OR 16K OR 32K" 9162 PLOT 3,11,LN+ 6:INPUT "";X$:IF X$< > "0"THEN MS$= X$ 9163 IF X$< > "0"GOTO 9166 9164 IF MS$= "1"OR MS$= "2"OR MS$= "3"GOTO 9176 9165 GOTO 9160 9166 IF MS$= "8"THEN MS$= "1":GOTO 9176 9167 IF MS$= "16"THEN MS$= "2":GOTO 9176 9168 IF MS$= "32"THEN MS$= "3":GOTO 9176 9169 GOTO 9160 9176 PLOT 3,0,LN+ 23,11:PRINT "LANGUAGE:"; 9177 PRINT " ASSEMBLY BASIC FORTRAN SOURCE" 9180 PLOT 3,27,LN+ 6:INPUT "";X$:IF X$< > "0"THEN L$= X$ 9181 IF L$= "A"THEN PLOT 3,28,LN+ 6:PRINT "SSEMBLY":GOTO 9190 9182 IF L$= "B"THEN PLOT 3,28,LN+ 6:PRINT "ASIC":GOTO 9190 9183 IF L$= "F"THEN PLOT 3,28,LN+ 6:PRINT "ORTRAN":GOTO 9190 9184 IF L$= "S"THEN PLOT 3,28,LN+ 6:PRINT "OURCE":GOTO 9190 9189 GOTO 9176 9190 PLOT 3,0,LN+ 23,11:PRINT "NUMBER OF FILES REQUIRED"; 9191 PRINT " NONE OR 1,2,3, ETC" 9195 PLOT 3,48,LN+ 6:INPUT "";X$:IF X$< > "0"THEN FR$= X$ 9200 PLOT 3,0,LN+ 23,11:PRINT "PROGRAM RATING ON A SCALE OF 1 TO 10" 9205 PLOT 3,59,LN+ 6:INPUT "";X$:IF X$< > "0"THEN RATING$= X$ 9206 IF RATING$= "10"THEN RATING$= "A" 9210 PLOT 3,0,LN+ 23,11:PRINT "SUCH AS NUMERIC KEYPAD OR JOY STICK" 9215 PLOT 3,19,LN+ 9:INPUT "";X$:IF X$< > "0"THEN SH$= X$ 9220 PLOT 3,0,LN+ 23,11:PRINT "SUCH AS SOUNDWARE PATCH OR NO-ECHO PATCH" 9225 PLOT 3,19,LN+ 12:INPUT "";X$:IF X$< > "0"THEN SS$= X$ 9230 PLOT 3,0,LN+ 23,11 9235 PLOT 3,3,LN+ 17:INPUT "";X$:IF X$< > "0"THEN D1$= X$ 9236 PLOT 3,3,LN+ 19:INPUT "";X$:IF X$< > "0"THEN D2$= X$ 9300 REM FILE#R DETERMINED BEFORE SUBROUTINE CALLED 9325 IF WTG$= "C"THEN FILE "R",1,"CATALG",1 9350 PUT 1,R,1;N$[6],VOL$[1],A$[24],DATE$[7],REV$[1],MS$[1],L$[1] 9355 PUT 1,R,42;FR$[1],RATING$[1],SH$[40],SS$[40],D1$[57],D2$[57] 9356 PUT 1,R,238;CAT$[9] 9360 FILE "C",1 9400 PLOT 3,1,LN+ 22 9999 RETURN