home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug046.ark / CPMLABEL.BAS < prev    next >
Encoding:
BASIC Source File  |  1984-04-29  |  17.0 KB  |  457 lines

  1. 40 '*********************************************************************
  2. 50 '*    THIS PROGRAM GENERATES LABELS FOR CP/M USER'S GROUP DISKS    *
  3. 60 '*   COPYRIGHT (C) 1980 : BY BILL BOLTON, 27/05/80            *
  4. 70 '*    PUBLISHED BY 80AT, 1980                        * 
  5. 80 '*********************************************************************
  6. 90 '
  7. 100 ' Keep BASCOM happy by putting DIM statements right at the start'
  8. 110 '
  9. 120 DIM ENTRY$(200)            'MAX NUMBER OF ENTRIES
  10. 130 DIM SUB$(9)                'NUMBER OF DEN/SECT LINES
  11. 140 '
  12. 150 GOSUB 9000                'INITIALIZE SOME VARIABLES
  13. 160 GOSUB 1100                'CLEAR THE SCREEN
  14. 170 GOSUB 2700                'DISPLAY THE HEADING
  15. 180 GOSUB 3400                'DISPLAY STANDARD LABEL
  16. 190 GOSUB 3600                'ASK  IF CHANGE NEEDED
  17. 200 IF YES% THEN GOSUB 3700:GOTO 180
  18. 210 GOSUB 4300                'ASK IF BATCH RUN
  19. 220 IF BATCH% THEN GOSUB 5100
  20. 230 IF ANOTHER.RUN% THEN 150 ELSE IF QUIT% THEN 370
  21. 240 GOSUB 700                'ASK WHICH VOLUME
  22. 250 GOSUB 1800                'SET UP THE VOLUME DESCRIPTION
  23. 260 IF OUT.OF.RANGE%<>0 THEN GOSUB 2900:GOTO 240
  24. 270 GOSUB 1100                'CLEAR THE SCREEN
  25. 280 GOSUB 1400                'DISPLAY COMPLETE LABEL
  26. 290 GOSUB 800                'ASK IF CHANGE NEEDED
  27. 300 IF YES% THEN GOSUB 700:GOTO 250
  28. 310 GOSUB 2400                'LINE UP THE LABEL
  29. 320 GOSUB 2500                'PRINT THE LABEL
  30. 330 GOSUB 500                'ASK IF ANOTHER COPY
  31. 340 IF YES% THEN GOSUB 1700:GOTO 310
  32. 350 GOSUB 600                'ASK IF ANOTHER LABEL
  33. 360 IF NO%=0 GOTO 160
  34. 370 GOSUB 1100                'CLEAR THE SCREEN
  35. 380 END
  36. 390 '
  37. 400 '
  38. 500 '************************************************************    
  39. 510 '*        ANOTHER COPY OF THE LABEL?            *
  40. 520 '************************************************************
  41. 530 PRINT
  42. 540 PRINT
  43. 550 LINE INPUT "Another copy of the lable ? (Y/N, 'Return' = N) ";REPLY$
  44. 560 GOSUB 3200
  45. 570 RETURN
  46. 580 '
  47. 590 '
  48. 600 '************************************************************
  49. 610 '*            ANOTHER NEW LABEL?            *
  50. 620 '************************************************************
  51. 630 PRINT
  52. 640 PRINT
  53. 650 LINE INPUT "A new lable to print ? (Y/N, 'Return' = Y) ";REPLY$
  54. 660 GOSUB 3300
  55. 670 RETURN
  56. 680 '
  57. 690 '
  58. 700 '************************************************************
  59. 710 '*            ASK WHICH VOLUME            *
  60. 720 '************************************************************
  61. 730 PRINT
  62. 740 LINE INPUT "What is the volume number ? ";VOL$
  63. 750 RETURN
  64. 760 '
  65. 770 '
  66. 800 '************************************************************
  67. 810 '*            CHANGE VOLUME ?                *
  68. 820 '************************************************************
  69. 830 LINE INPUT "Do you want to change the volume? (Y/N, 'Return' = N) ";REPLY$
  70. 840 GOSUB 3200
  71. 850 RETURN
  72. 860 '
  73. 870 '
  74. 900 '************************************************************
  75. 910 '*        DISPLAY THE GENERAL ERROR MESSAGE        *
  76. 920 '************************************************************    
  77. 930 PRINT
  78. 940 PRINT
  79. 950 PRINT CHR$(7);            'RING THE BELL ON THE TERMINAL
  80. 960 GOSUB 1160                'SET REVERSE VIDEO
  81. 970 '
  82. 980 PRINT "*********    Answer ";FIRST%;JOIN$;LAST%;" only, please    *********";
  83. 990 '
  84. 1000 GOSUB 1190                'CLEAR REVERSE VIDEO
  85. 1010 PRINT
  86. 1020 PRINT
  87. 1030 RETURN
  88. 1040 '
  89. 1050 '
  90. 1100 '***********************************************************
  91. 1110 '*            VIDEO ATTRIBUTES            *
  92. 1120 '***********************************************************
  93. 1130 PRINT CHR$(27);CHR$(42)        'CLEAR SCREEN ROUTINE
  94. 1140 RETURN
  95. 1150 '
  96. 1160 PRINT CHR$(27);"G4";        'SET REVERSE VIDEO ROUTINE
  97. 1170 RETURN
  98. 1180 '    
  99. 1190 PRINT CHR$(27);"G0";        'CLEAR REVERSE VIDEO ROUTINE
  100. 1200 RETURN
  101. 1210 '
  102. 1220 '
  103. 1300 '***********************************************************
  104. 1310 '*            WAIT FOR RESPONSE            *
  105. 1320 '***********************************************************
  106. 1330 PRINT
  107. 1340 LINE INPUT "Hit 'Return' to continue";REPLY$
  108. 1350 RETURN
  109. 1360 '
  110. 1370 '
  111. 1400 '***********************************************************
  112. 1410 '*            DISPLAY LABEL ON CONSOLE        *
  113. 1420 '***********************************************************
  114. 1430 PRINT
  115. 1440 PRINT
  116. 1450 PRINT "Your disk lable will look like this :"
  117. 1460 PRINT
  118. 1470 PRINT
  119. 1480 PRINT LINE1$;VOL$            'DISPLAY THE FIRST LINE
  120. 1490 PRINT
  121. 1500 PRINT LINE2$            'DISPLAY THE SECOND LINE
  122. 1510 PRINT
  123. 1520 PRINT LINE3$            'DISPLAY THE THIRD LINE
  124. 1530 PRINT
  125. 1540 PRINT LINE4$            'DISPLAY THE FOURTH LINE
  126. 1550 PRINT
  127. 1560 PRINT
  128. 1570 PRINT
  129. 1580 RETURN
  130. 1590 '
  131. 1600 '
  132. 1700 '***********************************************************
  133. 1710 '*        CLEAR SCREEN AND DISPLAY LABEL            *
  134. 1720 '***********************************************************
  135. 1730 GOSUB 1100                'CLEAR THE SCREEN
  136. 1740 GOSUB 1400                'DISPLAY THE COMPLETE LABEL
  137. 1750 RETURN
  138. 1760 '
  139. 1770 '
  140. 1800 '***********************************************************
  141. 1810 '*        CHECK FOR VALID ENTRY AND SET LINE 2        *
  142. 1820 '***********************************************************
  143. 1830 LET LINE1$="CP/M User's Group Disk, Volume : "
  144. 1840 OUT.OF.RANGE%=0
  145. 1850 IF VOL$="1" THEN LINE2$="Various CP/M Utilities":RETURN
  146. 1860 IF VOL$="2" THEN LINE2$="Lawrence Livermore BASIC and Tiny BASIC":RETURN
  147. 1870 IF VOL$="3" THEN LINE2$="BASIC-E Games and Programs":RETURN
  148. 1880 IF VOL$="4" THEN LINE2$="ACTOR, ML80 and Examples of FORTRAN-80 Code":RETURN
  149. 1890 IF VOL$="5" THEN LINE2$="BASIC-E Programs and Microsoft BASIC programs":RETURN
  150. 1900 IF VOL$="6" THEN LINE2$="CACHE utilities":RETURN
  151. 1910 IF VOL$="7" THEN LINE2$="PILOT - Programmed Enquiry Learning & Teaching":RETURN
  152. 1920 IF VOL$="8" THEN LINE2$="Various CP/M Utility Programs":RETURN
  153. 1930 IF VOL$="9" THEN LINE2$="General Ledger from Interface Age Vol.2 No.10":RETURN
  154. 1940 IF VOL$="10" THEN LINE2$="Lawrence Livermore BASIC interfaced to CP/M":RETURN
  155. 1950 IF VOL$="11" THEN LINE2$="TINIBASIC and Processor Technology BASIC/5":RETURN
  156. 1960 IF VOL$="12" THEN LINE2$="PILOT Interpreters Interfaced to CP/M":RETURN
  157. 1970 IF VOL$="13" THEN LINE2$="BASIC-E/CBASIC & Microsoft BASIC Programs":RETURN
  158. 1980 IF VOL$="14" THEN LINE2$="Various CP/M Utilities - 2":RETURN
  159. 1990 IF VOL$="15" THEN LINE2$="Utilities and non-BASIC Games":RETURN
  160. 2000 IF VOL$="16" THEN LINE2$="Assemblers, Other Utilities and FOCAL":RETURN
  161. 2010 IF VOL$="17" THEN LINE2$="Utilities, Denver Tiny BASIC & non-BASIC Games":RETURN
  162. 2020 IF VOL$="18" THEN LINE2$="Maths Routines, Monitors and CASUAL":RETURN
  163. 2030 IF VOL$="19" THEN LINE2$="Various CP/M Utilities - 3":RETURN
  164. 2040 IF VOL$="20" THEN LINE2$="BASIC-E/CBASIC Programs & Pictures":RETURN
  165. 2050 IF VOL$="21" THEN LINE2$="Microsoft BASIC Games Programs":RETURN
  166. 2060 IF VOL$="22" THEN LINE2$="Monsterous StarTrek Games in BASIC":RETURN
  167. 2070 IF VOL$="23" THEN LINE2$="STOIC - Stack Oriented Interactive Compiler":RETURN
  168. 2080 IF VOL$="23B" OR VOL$="23b" THEN LINE2$="STOIC - Overflow Programs From Vol 23":RETURN
  169. 2090 IF VOL$="24" THEN LINE2$="CP/M Utilities, Macro Libraries & RATFOR":RETURN
  170. 2100 IF VOL$="25" THEN LINE2$="Various Assembler Utilites":RETURN
  171. 2110 IF VOL$="26" THEN LINE2$="Microsoft BASIC & FORTRAN Games and Utilities":RETURN
  172. 2120 IF VOL$="27" THEN LINE2$="Microsoft BASIC Games":RETURN
  173. 2130 IF VOL$="28" THEN LINE2$="BASIC-E Games & Utilities, ALGOL-M":RETURN
  174. 2140 IF VOL$="29" THEN LINE2$="Assembler Games & Utilities, BASIC-E Source":RETURN
  175. 2150 IF VOL$="30" THEN LINE2$="BASIC-E Ver 1.4 Source Code in PL/M":RETURN
  176. 2160 IF VOL$="31" THEN LINE2$="Tarbell BASIC - 1":RETURN
  177. 2170 IF VOL$="32" THEN LINE2$="Tarbell BASIC - 2":RETURN
  178. 2180 IF VOL$="33" THEN LINE2$="Search and Rescue Programs":RETURN
  179. 2190 IF VOL$="34" THEN LINE2$="SAM-76 Language":RETURN
  180. 2200 IF VOL$="35" THEN LINE2$="FELIX - Graphics Animation System":RETURN
  181. 2210 IF VOL$="36" THEN LINE2$="Assemblers, Editors and Utilities":RETURN
  182. 2220 IF VOL$="37" THEN LINE2$="CBASIC2 Game, Utility and CAI Programs":RETURN
  183. 2230 IF VOL$="38" THEN LINE2$="Speed Up and Tarbell Disk Controller Utilities":RETURN
  184. 2240 IF VOL$="39" THEN OUT.OF.RANGE%=2:RETURN
  185. 2250 IF VOL$="40" THEN LINE2$="Various Utilities, Disk Catalog System":RETURN
  186. 2260 IF VOL$="41" THEN LINE2$="Ham Radio, Chess and FORTRAN programs":RETURN
  187. 2270 IF VOL$="42" THEN LINE2$="Disassemblers, Diablo & Clock Routines":RETURN
  188. 2280 IF VOL$="CAT" OR VOL$="cat" THEN LINE2$="Complete Catalog of ALL Volumes":LINE1$="CP/M User's Group":VOL$=" ":RETURN
  189. 2290 '
  190. 2300 OUT.OF.RANGE%=1            'SET AN ERROR FLAG
  191. 2310 RETURN
  192. 2320 '
  193. 2330 '
  194. 2400 '***********************************************************
  195. 2410 '*            LINE UP THE LABEL            *
  196. 2420 '***********************************************************
  197. 2430 PRINT
  198. 2440 PRINT
  199. 2450 LINE INPUT "Line up the lable in the printer and press 'Return' when ready to print";REPLY$
  200. 2460 RETURN
  201. 2470 '
  202. 2480 '
  203. 2500 '***********************************************************
  204. 2510 '*            PRINT THE LABEL                *
  205. 2520 '***********************************************************
  206. 2530 LPRINT LINE1$;VOL$
  207. 2540 LPRINT
  208. 2550 LPRINT LINE2$
  209. 2560 LPRINT 
  210. 2570 LPRINT LINE3$
  211. 2580 LPRINT 
  212. 2590 LPRINT LINE4$
  213. 2600 LPRINT
  214. 2610 LPRINT
  215. 2620 RETURN
  216. 2630 '
  217. 2640 '
  218. 2700 '***********************************************************
  219. 2710 '*            DISPLAY THE HEADING            *
  220. 2720 '***********************************************************
  221. 2730 PRINT TAB(18);
  222. 2740 GOSUB 1160                'SET REVERSE VIDEO
  223. 2750 '
  224. 2760 PRINT " CP/M USER'S GROUP DISK LABEL PRINTING PROGRAM ";
  225. 2770 '
  226. 2780 GOSUB 1190                'CLEAR REVERSE VIDEO
  227. 2790 PRINT
  228. 2800 PRINT
  229. 2810 RETURN
  230. 2820 '
  231. 2830 '
  232. 2900 '***********************************************************
  233. 2910 '*            ERROR MESSAGE & PAUSE            *
  234. 2920 '***********************************************************
  235. 2930 GOSUB 3000                'DISPLAY ERROR MESSAGE
  236. 2940 GOSUB 1300                'DISPLAY CONTINUE MESSAGE
  237. 2950 RETURN
  238. 2960 '
  239. 2970 '
  240. 3000 '***********************************************************
  241. 3010 '*             INVALID VOLUME NUMBER MESSAGE        *
  242. 3020 '***********************************************************
  243. 3030 PRINT
  244. 3040 PRINT CHR$(7);            'RING THE BELL ON THE TERMINAL
  245. 3050 GOSUB 1160                'SET REVERSE VIDEO
  246. 3060 '
  247. 3070 IF OUT.OF.RANGE%=1 THEN PRINT " THAT VOLUME DOES NOT EXIST ! "; ELSE PRINT " VOLUME ";VOL$;" HAS BEEN WITHDRAWN ! ";
  248. 3080 '
  249. 3090 GOSUB 1190                'CLEAR REVERSE VIDEO
  250. 3100 PRINT
  251. 3110 PRINT
  252. 3120 RETURN
  253. 3130 '
  254. 3140 '
  255. 3200 '***********************************************************
  256. 3210 '*           AFFIRMATIVE REPLY CHECK ROUTINE        *
  257. 3220 '***********************************************************
  258. 3230 YES%=0
  259. 3240 IF REPLY$="Y" OR REPLY$="y" THEN YES%=1
  260. 3250 RETURN
  261. 3260 '
  262. 3270 '
  263. 3300 '***********************************************************
  264. 3310 '*            NEGATIVE REPLY CHECK ROUTINE        *
  265. 3320 '***********************************************************
  266. 3330 NO%=0
  267. 3340 IF REPLY$="N" OR REPLY$="n" THEN NO%=1
  268. 3350 RETURN
  269. 3360 '
  270. 3370 '
  271. 3400 '***********************************************************
  272. 3410 '*            DISPLAY STANDARD LABEL ROUTINE        *
  273. 3420 '***********************************************************
  274. 3430 PRINT
  275. 3440 PRINT "The Standard Lable Will Be:"
  276. 3450 VOL$="XX"
  277. 3460 LINE2$="Volume Description"
  278. 3470 GOSUB 1460                'DISPLAY THE COMPLETE LABEL
  279. 3480 RETURN
  280. 3490 '
  281. 3500 '
  282. 3600 '***********************************************************
  283. 3610 '*             ASK CHANGE QUESTION ROUTINE        *
  284. 3620 '***********************************************************
  285. 3630 LINE INPUT "Do you want to change the Density/Sector line ? (Y/N 'Return' = N) ";REPLY$
  286. 3640 GOSUB 3200                'CHECK THE ANSWER
  287. 3650 RETURN
  288. 3660 '
  289. 3670 '
  290. 3700 '***********************************************************
  291. 3710 '*        SET UP THE NEW DEN/SECT DEFAULT LINE        *
  292. 3720 '***********************************************************
  293. 3730 GOSUB 1100                'CLEAR THE SCREEN
  294. 3740 FIRST%=1:LAST%=FIRST%
  295. 3750 SD$=" Single Density, "
  296. 3760 DD$=" Double Density, "
  297. 3770 JOIN$=" to "
  298. 3780 SECTOR$= " Byte Sectors"
  299. 3790 IBM$="IBM System 34"
  300. 3800 PRINT
  301. 3810 PRINT
  302. 3820 SUB$(LAST%)="IBM 3740"+SD$+"128 ":LAST%=LAST%+1
  303. 3830 SUB$(LAST%)=IBM$+DD$+"256 ":LAST%=LAST%+1
  304. 3840 SUB$(LAST%)=IBM$+DD$+"512 ":LAST%=LAST%+1
  305. 3850 SUB$(LAST%)=IBM$+DD$+"1024":LAST%=LAST%+1
  306. 3860 SUB$(LAST%)="North Star"+SD$+"256 ":LAST%=LAST%+1
  307. 3870 SUB$(LAST%)="North Star"+DD$+"512 ":LAST%=LAST%+1
  308. 3880 SUB$(LAST%)="Helios, 256 ":LAST%=LAST%+1
  309. 3890 SUB$(LAST%)="Micropolis, 256 ":LAST%=LAST%+1
  310. 3900 SUB$(LAST%)="User Entered Density and"
  311. 3910 '
  312. 3920 FOR I%=FIRST% TO LAST% STEP 1
  313. 3930    SUB$(I%)=SUB$(I%)+SECTOR$
  314. 3940    PRINT SUB$(I%);TAB(54);"-";TAB(60);I%
  315. 3950 NEXT I%
  316. 3960 PRINT
  317. 3970 PRINT
  318. 3980 INPUT "Enter Selection Number - ",SIZE%
  319. 3990 IF SIZE%<FIRST% OR SIZE%>LAST% THEN GOSUB 900:GOSUB 1300:GOTO 3730
  320. 4000 IF SIZE%=LAST% THEN GOSUB 4100 ELSE LINE4$=SUB$(SIZE%)
  321. 4010 GOSUB 1100                'CLEAR THE SCREEN
  322. 4020 RETURN
  323. 4030 '
  324. 4040 '
  325. 4100 '***********************************************************
  326. 4110 '*            ENTER THE NEW DEN/SECT LINE            *
  327. 4120 '***********************************************************
  328. 4130 PRINT
  329. 4140 LINE INPUT "Enter your new Density/Sector line :";LINE4$
  330. 4150 PRINT
  331. 4160 RETURN
  332. 4170 '
  333. 4180 '
  334. 4300 '***********************************************************
  335. 4310 '*            ASK BATCH QUESTION            *
  336. 4320 '***********************************************************
  337. 4330 PRINT
  338. 4340 LINE INPUT "Do you want to do a batch of lables ? (Y/N 'Return' = N) ";REPLY$
  339. 4350 GOSUB 3200                'CHECK THE ANSWER
  340. 4360 IF YES% THEN GOSUB 4400 ELSE RETURN
  341. 4370 RETURN
  342. 4380 '
  343. 4390 '    
  344. 4400 '***********************************************************
  345. 4410 '*              VOLUME NUMBER ENTRY ROUTINE        *
  346. 4420 '***********************************************************
  347. 4430 FINISH%=0: ROW%=12 :BATCH%=0 :IN.VOLUME%=1
  348. 4440 GOSUB 1100                'CLEAR THE SCREEN
  349. 4450 EXIT%=0
  350. 4460 PRINT
  351. 4470 PRINT "Enter - The volume number (Range 1 to";MAX%;")"
  352. 4472 PRINT "      - CAT for total catalogue"
  353. 4475 PRINT "      - ALL for complete set (Does automatic END)"
  354. 4478 PRINT "      - END to terminate enteries"
  355. 4480 PRINT
  356. 4484 PRINT "       (Note that Volume 39 has been withdrawn)"
  357. 4488 PRINT
  358. 4490 WHILE IN.VOLUME%
  359. 4500    GOSUB 4800
  360. 4510    IF IN.VOLUME%=0 THEN IF FINISH%=0 THEN EXIT%=1
  361. 4520 WEND
  362. 4530 WHILE EXIT%=0
  363. 4550 GOSUB 1100                'CLEAR THE SCREEN
  364. 4560 PRINT "Lables for the following volumes will be printed :"
  365. 4570 PRINT
  366. 4580 FOR X% = 1 TO FINISH% STEP ROW%
  367. 4590    FOR Y% = 0 TO ROW%-1 STEP 1
  368. 4600        FILL%=POS(X)+(4-LEN(ENTRY$(X%+Y%)))
  369. 4610        PRINT TAB(FILL%) ENTRY$(X%+Y%);",";
  370. 4620        GOSUB 5000
  371. 4630    NEXT Y%
  372. 4640    PRINT
  373. 4650 NEXT X%
  374. 4660 WEND
  375. 4670 PRINT
  376. 4680 LINE INPUT "Do you want to add any further volumes ? (Y/N 'Return' = N) ";REPLY$
  377. 4690 GOSUB 3200                'CHECK THE REPLY
  378. 4700 IF YES% THEN IN.VOLUME%=1:GOSUB 4450
  379. 4710 IF EXIT%=1 THEN RETURN
  380. 4720 BATCH%=1
  381. 4730 RETURN
  382. 4740 '
  383. 4750 '
  384. 4800 '***********************************************************
  385. 4810 '*            VOLUME INPUT ROUTINE            *
  386. 4820 '***********************************************************
  387. 4830 FINISH%=FINISH%+1
  388. 4840 LINE INPUT "Volume number : ";ENTRY$(FINISH%)
  389. 4850 IF ENTRY$(FINISH%)="END" OR ENTRY$(FINISH%)="end" THEN IN.VOLUME%=0 :FINISH%=FINISH%-1 ::RETURN ELSE VOL$=ENTRY$(FINISH%)
  390. 4860 IF ENTRY$(FINISH%)="ALL" OR ENTRY$(FINISH%)="all" THEN GOSUB 5400 :IN.VOLUME%=0 :RETURN
  391. 4870 GOSUB 1840
  392. 4880 IF OUT.OF.RANGE% THEN GOSUB 3000: FINISH%=FINISH%-1 :RETURN
  393. 4890 RETURN
  394. 4900 '
  395. 4910 '
  396. 5000 '***********************************************************
  397. 5010 '*            CHECK FOR LOOP END            *
  398. 5020 '***********************************************************
  399. 5030 IF X%+Y%=FINISH% THEN Y%=ROW% :X%=FINISH% :EXIT%=2 :RETURN ELSE RETURN
  400. 5040 '
  401. 5050 '
  402. 5100 '***********************************************************
  403. 5110 '*            BATCH PRINT ROUTINE            *
  404. 5120 '***********************************************************
  405. 5130 GOSUB 2400                'LINE UP THE LABELS
  406. 5140 PRINT
  407. 5150 PRINT
  408. 5160 PRINT "Printing a batch of";FINISH%;" lables."
  409. 5170 PRINT
  410. 5180 FOR BATCH%=1 TO FINISH% STEP 1
  411. 5190    VOL$=ENTRY$(BATCH%)
  412. 5200    GOSUB 1800            'SET UP LINE 2
  413. 5210    GOSUB 2500            'PRINT THE LABEL
  414. 5220    PRINT "*";
  415. 5230    IF POS(X)=60 THEN PRINT
  416. 5240 NEXT BATCH%
  417. 5250 PRINT
  418. 5260 PRINT
  419. 5270 LINE INPUT "Do you want to do another run? (Y/N 'Return' = N) ";REPLY$
  420. 5280 GOSUB 3200
  421. 5290 IF YES% THEN ANOTHER.RUN%=1 ELSE QUIT%=1
  422. 5310 RETURN
  423. 5320 '
  424. 5330 '
  425. 5400 '***********************************************************    
  426. 5410 '*           SET UP TO PRINT ALL THE LABELS        *
  427. 5420 '***********************************************************
  428. 5430 LOOP%=0
  429. 5440 COUNT%=1
  430. 5450 WHILE COUNT%<=MAX%
  431. 5460    ENTRY$(FINISH%)=STR$(COUNT%)
  432. 5470    COUNT%=COUNT%+1
  433. 5475    IF COUNT%=39 THEN COUNT%=COUNT%+1
  434. 5480    IF COUNT%<=MAX% THEN FINISH%=FINISH%+1
  435. 5490 WEND
  436. 5500 PRINT
  437. 5510 LINE INPUT "Do you want a lable for volume 23B ? (Y/N 'Return = N) ";REPLY$
  438. 5520 GOSUB 3200                'CHECK THE ANSWER
  439. 5530 IF YES% THEN FINISH%=FINISH%+1 :ENTRY$(FINISH%)="23B"
  440. 5540 PRINT
  441. 5550 LINE INPUT "Do you want a lable for the catalogue ? (Y/N 'Return' = N) ";REPLY$
  442. 5560 GOSUB 3200
  443. 5570 IF YES% THEN FINISH%=FINISH%+1 :ENTRY$(FINISH%)="CAT"
  444. 5580 RETURN
  445. 5590 '
  446. 5600 '
  447. 9000 '***********************************************************
  448. 9010 '*            PROGRAM INITIALIZATION            *
  449. 9020 '***********************************************************
  450. 9030 LINE1$="CP/M User's Group Disk, Volume : "
  451. 9040 LINE3$="From the 80AT public domain software library"
  452. 9050 IF START.UP% THEN RETURN
  453. 9060 LINE4$="IBM 3740 Single Density, 128 Byte sectors"
  454. 9070 START.UP%=1
  455. 9080 MAX%=42
  456. 9090 RETURN
  457.