5 ' RBBSINST.ASC RBBS37 Installation program 11/25/84 6 ' By Dennis Recla Lillypond Software 8 ' 10 ' This is the installation program for RBBS37. It creates the 20 ' necessary password files required by the program when it runs. 30 ' RBBS37 is set up with internal "DEFAULT" passwords and config- 40 ' uration values, but these will need to be modified for your 50 ' own particular requirement. The RBBS37.COM file can be run and 60 ' experimented with using the internal values, but these are the 70 ' sample passwords used in the distribution copy of the RBBS37.ASC 80 ' program. Various disk drives can be used to store the various 90 ' working files created by RBBS37, and those files that the program 100 ' requires for proper operation. 110 ' 120 ' Use this installation program to create the various Password 130 ' files using the simple menu that is provided for configuration 140 ' of your own version of RBBS37. 150 ' 160 '-------------------------------------------------------------------- 170 ' VERSION and update area 180 ' 190 ' Original Vers. 3.7 November 25, 1984 200 ' 210 ' 220 ' 230 ' 240 ' 250 ' 260 ' 270 '-------------------------------------------------------------------- 280 ' 290 'Start of the program 300 ' 310 ERS$=CHR$(8)+" "+CHR$(8) 320 BSL$=CHR$(8)+"/"+CHR$(8) 330 ' 340 PRINT " Welcome to the RBBS37 Installation program." 350 PRINT 360 PRINT "You will be asked several questions reguarding the way you" 370 PRINT "will want the RBBS37 program to operate on your system. " 380 PRINT 390 PRINT "Answer the questions or select the proper choices from the" 400 PRINT "menu that is provided. This Installation program must be" 410 PRINT "run on the drive/user area that you will want the RBBS37" 420 PRINT "program to reside. Other drives can be assigned for the " 430 PRINT "files required or created, but they must all be in the same" 440 PRINT "user area. (i.e. user 14) The RBBS37 Program does not allow" 450 PRINT "for files to exist in other user areas, but will provide for" 460 PRINT "alternate drives to be used in cases where the your system " 470 PRINT "might be running on 90K disks or some small size system" 480 PRINT:PRINT:PRINT 490 GOSUB 3230:GOTO 3390 500 PRINT:PRINT 510 PRINT " IF you need help then type a ? in place of an answer !" 520 PRINT " IF you need to go back to the last question type a - " 530 PRINT:PRINT:GOSUB 4000 540 ' 550 A1$="What drive should be used for DSK2$ files ":N=1:GOSUB 2540 560 C=1:GOSUB 2670 570 IF B$="-" THEN 550 580 IF B$="?" THEN HLP=1:GOSUB 3270:GOTO 550 590 SL=1:GOSUB 3250:IF RTN=0 THEN GOTO 550 ELSE DSK2$=B$+":" 600 PRINT:PRINT:GOSUB 4000 610 ' 620 A1$="What drive should be used for DSK3$ files ":N=1:GOSUB 2540 630 C=1:GOSUB 2670 640 IF B$="-" THEN 550: 650 IF B$="?" THEN HLP=2:GOSUB 3270:GOTO 600 660 SL=1:GOSUB 3250:IF RTN=0 THEN GOTO 600 ELSE DSK3$=B$+":" 670 PRINT:PRINT:GOSUB 4000 680 ' 690 A1$="Enter your FIRST name " :N=1:GOSUB 2540 700 C=1:GOSUB 2670 710 IF B$="-" THEN 600 720 IF B$="?" THEN HLP=3:GOSUB 3270:GOTO 670 730 SYS1$=B$ 740 PRINT:PRINT:GOSUB 4000 750 ' 760 A1$="Enter your LAST name " :N=1:GOSUB 2540 770 C=1:GOSUB 2670 780 IF B$="-" THEN 670: 790 IF B$="?" THEN HLP=4:GOSUB 3270:GOTO 740 800 SYS2$=B$ 810 PRINT:PRINT:GOSUB 4000 820 ' 830 A1$="What is the name of your RBBS37 System :":GOSUB 2540:PRINT 840 C=0:GOSUB 2670 850 IF B$="-" THEN 740: 860 IF B$="?" THEN HLP=5:GOSUB 3270:GOTO 810 870 VERS1$=B$ 880 PRINT:PRINT:GOSUB 4000 890 ' 900 A1$="What is the Direct to CP/M Entry password : ":N=1:GOSUB 2540 910 C=1:GOSUB 2670 920 IF B$="-" THEN 810 930 IF B$="?" THEN HLP=6:GOSUB 3270:GOTO 880 940 P1$=B$ 950 PRINT:PRINT:GOSUB 4000 960 ' 970 A1$="What is the LAST NAME password for SYSOP entry: ":N=1:GOSUB 2540 980 C=1:GOSUB 2670 990 IF B$="-" THEN 880 1000 IF B$="?" THEN HLP=7:GOSUB 3270:GOTO 950 1010 P2$=B$ 1020 PRINT:PRINT:GOSUB 4000 1030 ' 1040 A1$="What is the VALIDATION password you will use : ":N=1:GOSUB 2540 1050 C=1:GOSUB 2670 1060 IF B$="-" THEN 950 1070 IF B$="?" THEN HLP=8:GOSUB 3270:GOTO 1020 1080 VAP$=B$ 1090 PRINT:PRINT:GOSUB 4000 1100 ' 1110 A1$="What question will be asked caller before allowed entry to CP/M " 1120 N=1:GOSUB 2540:PRINT 1130 C=0:GOSUB 2670 1140 IF B$="-" THEN 1020 1150 IF B$="?" THEN HLP=9:GOSUB 3270:GOTO 1090 1160 PC$=B$ 1170 PRINT:PRINT:GOSUB 4000 1180 ' 1190 A1$="What is the answer to the CP/M Entry question: ":N=1:GOSUB 2540 1200 C=1:GOSUB 2670 1210 IF B$="-" THEN 1090 1220 IF B$="?" THEN HLP=10:GOSUB 3270:GOTO 1170 1230 P3$=B$ 1240 PRINT:PRINT:GOSUB 4000 1250 ' 1260 A1$="Will there be more than one SYSOP using this RBBS: " 1270 N=1:GOSUB 2540:C=1:GOSUB 2670:IF B$="-" THEN 1170 1280 IF B$="?" THEN HLP=11:GOSUB 3270:GOTO 1240 1290 IF LEFT$(B$,1)="Y" THEN MSYS=2:GOTO 1310 1300 MSYS=1 1310 PRINT:PRINT:GOSUB 4000 1320 ' 1330 A1$="What should the BELL delay value be (try 20000): ":N=1:GOSUB 2540 1340 C=1:GOSUB 2670 1350 IF B$="-" THEN 1260 1360 IF B$="?" THEN HLP=12:GOSUB 3270:GOTO 1330 1370 BEEP=VAL(B$) 1380 PRINT:PRINT:GOSUB 4000 1390 ' 1400 A1$="What will be the allowed line length of mesages: ":N=1:GOSUB 2540 1410 C=1:GOSUB 2670 1420 IF B$="-" THEN 1310 1430 IF B$="?" THEN HLP=13:GOSUB 3270:GOTO 1380 1440 SIZE=VAL(B$) 1450 PRINT:PRINT:GOSUB 4000 1460 ' 1470 A1$="How many NEWS files will there be to read: ":N=1:GOSUB 2540 1480 C=1:GOSUB 2670 1490 IF B$="-" THEN 1380 1500 IF B$="?" THEN HLP=14:GOSUB 3270:GOTO 1450 1510 NNUM=VAL(B$) 1520 PRINT:PRINT:GOSUB 4000 1530 ' 1540 A1$="How many HELP files will there be to read: ":N=1:GOSUB 2540 1550 C=1:GOSUB 2670 1560 IF B$="-" THEN 1450 1570 IF B$="?" THEN HLP=15:GOSUB 3270:GOTO 1520 1580 HNUM=VAL(B$) 1590 PRINT:PRINT:GOSUB 4000 1600 ' 1610 A1$="Do you want to SKIP the 'Last message nr' message " 1620 N=1:GOSUB 2540:C=1:GOSUB 2670 1630 IF B$="-" THEN 1520 1640 IF B$="?" THEN HLP=16:GOSUB 3270:GOTO 1590 1650 IF LEFT$(B$,1)="Y" THEN SKIP=1:GOTO 1670 1660 SKIP=0 1670 PRINT:PRINT:GOSUB 4000 1680 ' 1690 A1$="Do you want TWITS to not have entry to the RBBS " 1700 N=1:GOSUB 2540:C=1:GOSUB 2670 1710 IF B$="-" THEN 1590 1720 IF B$="?" THEN HLP=17:GOSUB 3270:GOTO 1670 1730 IF LEFT$(B$,1)="Y" THEN TWIT$="*":GOTO 1750 1740 TWIT$="N" 1750 PRINT:PRINT:GOSUB 4000 1760 ' 1770 A1$="Do you want ANY caller to be able to post a MESSAGE " 1780 N=1:GOSUB 2540:C=1:GOSUB 2670 1790 IF B$="-" THEN 1670 1800 IF B$="?" THEN HLP=18:GOSUB 3270:GOTO 1750 1810 IF LEFT$(B$,1)="Y" THEN LMSG=1:GOTO 1830 1820 LMSG=0 1830 PRINT:PRINT:GOSUB 4000 1840 ' 1850 A$="Do you want veryone to have passworded entry to CP/M" 1860 N=1:GOSUB 2540 1870 A$="or just the alidated users, or o one except the SYSOP" 1880 N=1:GOSUB 2540 1890 A1$="or a SUPER user. : ":N=1:GOSUB 2540 1900 C=1:GOSUB 2670 1910 IF B$="-" THEN 1750 1920 IF B$="?" THEN HLP=19:GOSUB 3270:GOTO 1830 1930 BT$=LEFT$(B$,1) 1940 IF BT$="E" THEN GOCPM=0:GOTO 1970 1950 IF BT$="V" THEN GOCPM=1:GOTO 1970 1960 IF BT$="N" THEN GOCPM=-1 1970 PRINT:PRINT:GOSUB 4000 1980 ' 1990 A1$="Do you have a DATE/TIME file to be read by RBBS " 2000 N=1:GOSUB 2540:C=1:GOSUB 2670 2010 IF B$="-" THEN 1830 2020 IF B$="?" THEN HLP=20:GOSUB 3270:GOTO 1970 2030 IF LEFT$(B$,1)="Y" THEN DATIM$="Y":GOTO 2050 2040 DATIM$="N" 2050 PRINT:PRINT:GOSUB 4000 2060 ' 2070 A$="Do you want validated users to be able to SCAN ":N=1:GOSUB 2540 2080 A1$="Private messages ":N=1:GOSUB 2540:C=1:GOSUB 2670 2090 IF B$="-" THEN 1970 2100 IF B$="?" THEN HLP=21:GOSUB 3270:GOTO 2050 2110 IF LEFT$(B$,1)="Y" THEN SCAN$="Y":GOTO 2130 2120 SCAN$="N" 2130 PRINT:PRINT:GOSUB 4000 2140 ' 2150 A1$="Ready to create the PWDS files you need < Y or N> " 2160 N=1:GOSUB 2540:C=1:GOSUB 2670 2170 IF B$="-" THEN 2070 2180 IF B$="?" THEN HLP=22:GOSUB 3270:GOTO 2130 2190 IF LEFT$(B$,1)="N" THEN GOTO 490 2200 PRINT:PRINT 2210 ' 2220 ' Now we can create the two password files for the system 2230 ' The BOOTPWD on the current drive A: and PWDS on the drive 2240 ' taged as being DSK2$ 2250 ' 2260 ' 2270 PRINT "The file BOOTPWD will be written to drive A: " 2280 PRINT "and the PWDS file will be written to drive ";DSK2$ 2290 PRINT 2300 A1$="Is this correct before the files are written " 2310 GOSUB 3090:IF NOT OK THEN 490 2320 ' 2330 PRINT:PRINT 2340 ' 2350 S$="," 2360 DSK$="A:" 2370 ' 2380 OPEN "O",1,DSK$+"BOOTPWD" 2390 PRINT #1,DSK2$;S$;DSK3$;S$;SYS1$;S$;SYS2$;S$;VERS1$;S$;TWIT$;S$;DATIM$ 2400 CLOSE 2410 OPEN "O",1,DSK2$+"pwds" 2420 PRINT #1,P1$;S$;P2$;S$;P3$;S$;PC$;S$;VAP$;S$;SCAN$ 2430 PRINT #1,BEEP;S$;SIZE;S$;MSYS;S$;NNUM;S$;HNUM;S$;SKIP;S$;LMSG;S$;GOCPM 2440 CLOSE 2450 PRINT:PRINT "That completes the Password files for your system" 2460 PRINT "the files RBBSINST.COM and RBBSINST.HLP are no longer" 2470 PRINT "needed on the disk. 2480 PRINT:PRINT 2490 SYSTEM 2500 END 2510 REM 2520 REM ***PRINT STRING FROM A$ ON CONSOLE*** 2530 REM 2540 IF SAV$<>"" AND A1$<>"" THEN A1$="":RETURN 2550 IF A1$<>"" THEN A$=A1$:A1$="" 2560 IF N=1 THEN PRINT A$;:PP$=A$:GOTO 2610 2570 BI=ASC(INKEY$+" ") 2580 IF BI=&H13 OR BI=&H53 OR BI=&H73 THEN BI=ASC(INPUT$(1)):GOTO 2600 2590 IF BI=&HB OR BI=&H4B OR BI=&H6B THEN BK=-1:GOTO 2620 2600 PRINT A$ 2610 A=A+LEN(A$) 2620 A$="":N=0 2630 RETURN 2640 REM 2650 REM ***ACCEPT STRING INTO B$ FROM CONSOLE*** 2660 REM 2670 IF BEL AND SAV$="" THEN PRINT CHR$(7); 2680 B$="":BK=0 2690 IF SAV$="" THEN GOSUB 2770:IF C<>3 THEN PRINT 2700 SP=INSTR(SAV$,";"):IF SP=0 THEN B$=SAV$:SAV$="":GOTO 2720 2710 B$=LEFT$(SAV$,SP-1):SAV$=MID$(SAV$,SP+1) 2720 IF LEN(B$)=0 THEN C=0:RETURN 2730 IF C=0 THEN 2750 2740 CY$=B$:GOSUB 3150:B$=CY$ 2750 D=D+LEN(B$):C=0 2755 IF B$="+" THEN GOTO 3500 2760 RETURN 2770 REM 2780 REM CHARACTER-AT-A-TIME LINE INPUT WITH EDITING (IF C=2, NO ECHO) 2790 REM 2800 CHC=0: SAV$="":DC=0:IC=&H30 2810 NCH=ASC(INPUT$(1)) 2820 IF NCH=13 THEN RETURN 'CR 2830 IF NCH=127 THEN 2910 2840 IF NCH<32 THEN 2930 2850 IF CHC>=63 THEN PRINT CHR$(7);:GOTO 2810 2860 SAV$=SAV$+CHR$(NCH): CHC=CHC+1 :IC=IC+1:IF IC=&H3A THEN IC=&H30 2870 IF DC THEN PRINT CHR$(10); 2880 IF C<>2 THEN PRINT CHR$(NCH); ELSE PRINT CHR$(IC); 2890 IF CHC=55 THEN PRINT CHR$(7); 2900 DC=0:GOTO 2810 2910 IF CHC=0 THEN 2810 ELSE PRINT BSL$;:DC=-1 2920 CHC=CHC-1:IC=IC-1: SAV$=LEFT$(SAV$,CHC): GOTO 2810 2930 IF CHC=0 THEN 2810 2940 IF NCH=8 THEN PRINT ERS$;:DC=0:GOTO 2920 'BS 2950 IF NCH=12 THEN GOSUB 3010:GOTO 3020 '^L 2960 IF NCH=18 THEN PRINT:PRINT PP$;:GOTO 3020 '^Retype 2970 IF NCH=21 THEN PRINT " #": PRINT PP$;:DC=0:GOTO 2800 '^U 2980 IF NCH<>24 THEN 2810 '^X 2990 GOSUB 3010 3000 GOTO 2800 3010 FOR BCC=1 TO CHC: PRINT ERS$;: NEXT BCC: RETURN 3020 IF C<>2 THEN PRINT SAV$;: GOTO 3070 3030 ' 3040 ' Print numbers to hide Password 3050 ' 3060 IC=&H30:FOR BCC=1 TO CHC: IC=IC+1: PRINT CHR$(IC);: NEXT BCC 3070 DC=0:GOTO 2810 3080 REM 3090 REM PROMPT FOR YES OR NO ANSWER 3100 REM 3110 A2$=A1$:OK=0 3120 A1$=A2$:N=1:GOSUB 2510:C=1:GOSUB 2640:ANS$=LEFT$(B$,1) 3130 IF ANS$="" THEN 3120 ELSE IF ANS$="Y" THEN OK=-1:RETURN 3140 IF ANS$<>"N" THEN 3080 ELSE RETURN 3150 REM 3160 REM UPPERCASE STRING CY$ (e.g., frank -> FRANK) 3170 REM 3180 FOR ZZ=1 TO LEN(CY$) 3190 ZA=ASC(MID$(CY$,ZZ,1)):IF ZA<&H61 OR ZA>&H7A THEN 3210 3200 MID$(CY$,ZZ,1)=CHR$(ZA-&H20) 3210 NEXT ZZ 3220 RETURN 3230 INPUT "Hit any key to Continue ";A$ 3240 FOR SCROLL=1 TO 24:PRINT:NEXT SCROLL:RETURN 3250 IF LEN(B$)>SL THEN RTN=0:RETURN 3260 RTN=1:RETURN 3270 ' Come here to find and print the help files 3280 CHK$=STR$(HLP)+"*" 3290 ND$=" **" 3300 TXT=0 3310 OPEN "I",1,DSK$+"RBBSINST.HLP":BK=0:IF EOF(1) THEN 3380 3320 IF EOF(1) OR BK THEN 3380 ELSE LINE INPUT #1,A$ 3330 A$=" "+A$ 3340 IF A$=CHK$ THEN TXT=1:A$=" ":A$=" ":GOTO 3320 3350 IF A$=ND$ AND TXT=1 THEN 3380 3360 IF TXT=1 THEN GOSUB 2530 3370 GOTO 3320 3380 CLOSE #1:RETURN 3390 PRINT:PRINT:NF1=0:NF2=0 3400 ' Come here to get the existing password file data 3410 ON ERROR GOTO 6000 3420 OPEN "I",1,DSK$+"BOOTPWD":IF EOF(1) THEN 3440 3430 INPUT #1,DSK2$,DSK3$,SYS1$,SYS2$,VERS1$,TWIT$,DATIM$ 3440 CLOSE #1 3450 OPEN "I",1,DSK2$+"pwds":IF EOF(1) THEN 3480 3460 INPUT #1,P1$,P2$,P3$,PC$,VAP$,SCAN$ 3470 INPUT #1,BEEP,SIZE,MSYS,NNUM,HNUM,SKIP,LMSG,GOCPM 3480 CLOSE #1 3490 ' 3500 PRINT 3505 PRINT "1. DSK2$= ";DSK2$,"2. DSK3$= ";DSK3$ 3510 PRINT "3. First name= ";SYS1$,"4. Last name= ";SYS2$ 3520 PRINT "5. System name = ";VERS1$ 3530 PRINT "6. Direct password = ";P1$ 3540 PRINT "7. Last name password = ";P2$ 3550 PRINT "8. Validation password = ";VAP$ 3560 PRINT "9. CP/M Question = ";PC$ 3570 PRINT "10. Answer to Entry question = ";P3$ 3580 IF MSYS=>2 THEN A$="YES" ELSE A$="NO" 3590 PRINT "11. More than one SYSOP = ";A$ 3600 PRINT "12. Delay value for 'CHAT' call = ";BEEP 3610 PRINT "13. Length of messages = ";SIZE 3620 PRINT "14. Number of NEWS messages = ";NNUM 3630 PRINT "15. Number of HELP messages = ";HNUM 3640 IF SKIP=1 THEN A$="YES" ELSE A$="NO" 3650 PRINT "16. Skip 'Last Message Number' message = ";A$ 3660 IF TWIT$="*" THEN A$="YES" ELSE A$="NO" 3670 PRINT "17. Should TWITS be allowed entry = ";A$ 3680 IF LMSG=1 THEN A$="YES" ELSE A$="NO" 3690 PRINT "18. Can anyone post a message = ";A$ 3700 IF GOCPM=0 THEN A$="Anyone can" 3710 IF GOCPM=1 THEN A$="VALIDATED users only" 3720 IF GOCPM=-1 THEN A$="SYSOP or SUPER users only" 3730 PRINT "19. What level of USER will be allowed CP/M entry = ";A$ 3740 IF DATIM$="Y" THEN A$="YES" ELSE A$="NO" 3750 PRINT "20. Is there an external DATE/TIME file = ";A$ 3760 IF SCAN$="Y" THEN A$="YES" ELSE A$="NO" 3770 PRINT "21. Validated users allowed to see private msgs = ";A$ 3780 PRINT "22. Done... Create the new password files " 3790 PRINT 3800 INPUT "Enter number of your choice ";ENTRY 3810 IF ENTRY >10 THEN ENTRY=ENTRY-10:GOTO 3830 3820 ON ENTRY GOTO 530,600,670,740,810,880,950,1020,1090,1170 3830 ON ENTRY GOTO 1240,1310,1380,1450,1520,1590,1670,1750,1830,1970,2050,2200 3840 GOTO 500 4000 PRINT " For HELP " 4010 PRINT " <-> For previous MENU " 4020 PRINT " <+> To return to Select Menu " 4030 PRINT:RETURN 6000 PRINT:PRINT:PRINT " Password file not found " 6005 CLOSE #1 6010 PRINT:PRINT:GOTO 500