Listing of file='START' on disk='vmedia/letter_editor.wvd.zip'
# Sector 23, program filename = 'START' 0010 REM ***** START - REVISED 1540 08/18/76 ***** COPYRIGHT WANG LABS, 1976 0020 COM W,F$8,U,T$(200)1,F,F0,Z$1 : COM J : DIM Q$64,Q1$64,Q2$64,B1$2,B2$2,B$(80)1,A$2,N$(16),G$(1)10,E$(1)2 : COM CLEAR J : INIT(00)A$ : W=64 : PRINT HEX(03),,"S Y S T E M S T A R T U P" : PRINT HEX(0A0A0A);"SINGLE = 1 COMPUTER USING 1 DISK UNIT." 0062 PRINT "MULTIPLE = 2 OR MORE COMPUTERS USING 1 DISK UNIT." : GOSUB '32("ENTER NO. OF USERS: 'SINGLE' OR 'MULTIPLE'.",8) 0064 J=1 : IF Q$="SINGLE"THEN 146 : IF Q$="single"THEN 146 : J=2 : IF Q$="MULTIPLE"THEN 146 : IF Q$="multiple"THEN 146 : GOSUB '34("INVALID REPLY.") : GOTO 64 0069 PRINT HEX(03),,"S Y S T E M S T A R T U P" : PRINT HEX(0A0A0A);"REPLY DEVICE" : PRINT "----- ------" : PRINT " 1 310" : PRINT " 2 B10" : PRINT " 3 350" : PRINT " 4 320" : PRINT " 5 B20" : PRINT " 6 360" : RETURN 0146 GOSUB 69 : GOSUB '32("ON WHAT DEVICE ARE THE PROGRAMS LOCATED?",1) 0160 ON VAL(Q$)-48GOTO 190,200,210,220,230,240 : GOSUB '34("REPLAY MUST BE AN INTEGER 1 - 6.") : GOTO 160 0190 SELECT #1310,#6310 : ON JGOTO 260 : SELECT #6390 : GOTO 260 0200 SELECT #1B10,#6B10 : ON JGOTO 260 : SELECT #6B90 : GOTO 260 0210 SELECT #1350,#6350 : ON JGOTO 260 : SELECT #63D0 : GOTO 260 0220 SELECT #1320,#6320 : ON JGOTO 260 : SELECT #63A0 : GOTO 260 0230 SELECT #1B20,#6B20 : ON JGOTO 260 : SELECT #6BA0 : GOTO 260 0240 SELECT #1360,#6360 : ON JGOTO 260 : SELECT #63E0 0260 GOSUB '32("ON WHAT DEVICE IS THE TEXT LOCATED?",1) 0270 ON VAL(Q$)-48GOTO 300,310,320,330,340,350 : GOSUB '34("REPLY MUST BE AN INTEGER 1 - 6.") : GOTO 270 0300 SELECT #2310,#4310 : ON JGOTO 370 : SELECT #4390 : GOTO 370 0310 SELECT #2B10,#4B10 : ON JGOTO 370 : SELECT #4B90 : GOTO 370 0320 SELECT #2350,#4350 : ON JGOTO 370 : SELECT #43D0 : GOTO 370 0330 SELECT #2320,#4320 : ON JGOTO 370 : SELECT #43A0 : GOTO 370 0340 SELECT #2B20,#4B20 : ON JGOTO 370 : SELECT #4BA0 : GOTO 370 0350 SELECT #2360,#4360 : ON JGOTO 370 : SELECT #43E0 0370 PRINT HEX(03),,"S Y S T E M S T A R T U P" : GOSUB '32("WILL THERE BE AN OUTPUT TEXT FILE (FOR COPYING)? (Y/N)",1) 0380 IF Q$="Y"THEN 430 : IF Q$="y"THEN 430 : IF Q$="N"THEN 540 : IF Q$="n"THEN 540 : GOSUB '34("INVALID REPLY.") : GOTO 380 0430 GOSUB 69 : GOSUB '32("ON WHAT DEVICE IS THE OUTPUT TEXT FILE LOCATED?",1) 0440 ON VAL(Q$)-48GOTO 470,480,490,500,510,520 : GOSUB '34("REPLY MUST BE AN INTEGER 1 - 6.") : GOTO 440 0470 SELECT #3310,#5310 : ON JGOTO 540 : SELECT #5390 : GOTO 540 0480 SELECT #3B10,#5B10 : ON JGOTO 540 : SELECT #5B90 : GOTO 540 0490 SELECT #3350,#5350 : ON JGOTO 540 : SELECT #53D0 : GOTO 540 0500 SELECT #3320,#5320 : ON JGOTO 540 : SELECT #53A0 : GOTO 540 0510 SELECT #3B20,#5B20 : ON JGOTO 540 : SELECT #5BA0 : GOTO 540 0520 SELECT #3360,#5360 : ON JGOTO 540 : SELECT #53E0 0540 PRINT HEX(03),,"S Y S T E M S T A R T U P" : GOSUB '32("ENTER THE TERMINAL NUMBER (1 - 4).",1) 0560 IF Q$<"1"THEN 570 : IF Q$<"5"THEN 590 0570 GOSUB '34("INVALID TERMINAL NUMBER.") : GOTO 560 0590 CONVERT Q$TO I : INIT(00)Q2$ : LIMITS T#6,"ACTIVE",U1,U2,U2 : DATA LOAD BA T#6,(U1,A)N$() : IF N$(I)=STR(Q2$,1,16)THEN 670 : DATA LOAD BA T#1,(U1,A)N$() : GOSUB '34("THE TERMINAL SPECIFIED IS ALREADY ACTIVE.") : GOTO 560 0665 DEFFN'15 0670 N$(I)=" " : BIN(Z$)=I : DATA SAVE BA T#1,(U1,A)N$() : GOSUB '32("ENTER CRT SIZE. (64 OR 80 COLUMNS)",2) 0730 IF NUM(Q$)=64THEN 760 0740 GOSUB '34("INVALID NUMBER.") : GOTO 730 0760 CONVERT Q$TO W : IF W=64THEN 780 : IF W=80THEN 780 : GOTO 740 0770 DEFFN'15 0780 LOAD DC T#1,"HLDA010A" 0810 DEFFN'32(Q1$,N) : GOSUB 1220 0830 PRINT HEX(010A);Q1$ : INIT(2D)Q$ : $GIO/005(40204020A000402F400D,I0$)Q$<1,N> : Q$=" " : D=1 : PRINT "? "; 0910 KEYIN D$,920,910 : GOTO 910 0920 IF D$=HEX(0D)THEN 1090 : IF D$=HEX(08)THEN 1040 : IF D$=HEX(A1)THEN 1010 : IF D>NTHEN 910 : IF D$=HEX(84)THEN 1110 : STR(Q$,D,1)=D$ 0980 PRINT D$; : D=D+1 : GOTO 910 1010 PRINT HEX(0D0909); : D=1 : GOTO 910 1040 IF D=1THEN 910 : D=D-1 : STR(Q$,D,1)=" " : PRINT HEX(082008); : GOTO 910 1090 PRINT HEX(0D0A) : RETURN 1110 OR (STR(Q$,D,1),80) : D$=STR(Q$,D,1) : GOTO 980 1160 DEFFN'34(Q2$) : GOSUB 1220 : PRINT HEX(010A0A0A);Q2$ : GOTO 830 1220 PRINT HEX(010A); : GOSUB 1250 : GOSUB 1250 1250 $GIO/005(400DA000400A,I$)B$()<1,W> : RETURN 1290 GOSUB '32("PLEASE MOUNT DISK AND ENTER VOLUME NAME.",8) 1300 IF Q$=" "THEN 1460 : IF F$="STOP"THEN 1520 : IF F$="stop"THEN 1520 : F$=Q$ : GOSUB 1550 : IF I>0THEN 1370 : GOSUB '34("VOL. NAME DOES NOT EXIST OR IS SCRATCHED.") : GOTO 1300 1370 GOSUB 1720 : IF U>0THEN 1410 : GOSUB '34("THIS VOL. IS ALREADY IN USE.") : GOTO 1300 1410 DATA LOAD BA T#2,(U,B1$)N$() : MAT COPY N$()TO T$() : F=VAL(STR(N$(13),9)) : F0=VAL(STR(N$(13),10)) 1450 RETURN 1460 IF F$<>" "THEN 1450 : GOSUB '34("A VOL. NAME MUST BE ENTERED.") : GOTO 1300 1510 DEFFN'15 1520 LOAD DC T#1,"MENU" 1550 B1$,B2$=A$ : DATA LOAD BA T#2,(B1$,B1$)N$() : I=0 : STR(B2$,2)=STR(N$(1),2) 1590 D=9 1600 MAT SEARCHN$()<D,257-D>,=STR(Q$,1,8)TO E$()STEP 16 : IF E$(1)>A$THEN 1650 : IF B1$>=B2$THEN 1680 : DATA LOAD BA T#2,(B1$,B1$)N$() : GOTO 1590 1650 D=D+VAL(STR(E$(1),2))-8 : I=(D+15)/16 : IF STR(N$(I),1,1)<>HEX(10)THEN 1600 1680 RETURN 1710 I=9 : GOTO 1730 1720 I=1 1730 LIMITS T#1,"ACTIVE",U1,U2,U2 : U=0 : DATA LOAD BA T#6,(U,B1$)N$() : MAT SEARCHN$()<1,32>,=STR(F$,1,8)TO E$()STEP 8 : IF E$(1)=A$THEN 1790 : IF INT(VAL(STR(E$(1),2))/16)+1<>VAL(Z$)THEN 1820 1790 STR(N$(VAL(Z$)),I,8)=F$ : DATA SAVE BA T#1,(U,B1$)N$() : LIMITS T#2,U,U1,U2 1820 RETURN 1850 T2=1 : FOR I=1TO 4 : DATA LOAD BA T#2,(U+I,B1$)N$() : MAT SEARCHN$()<1,250>,=STR(Q$,1,5)TO E$()STEP 5 : IF E$(1)=A$THEN 1920 : S2=50*(I-1)+(VAL(STR(E$(1),2))+4)/5 : RETURN 1920 NEXT I : S2=0 : RETURN 1970 GOSUB '32("ENTER NAME OF LETTER OR DOCUMENT",5) : GOSUB 1850 : GOSUB 1220 : IF S2>0THEN 2250 : PRINT HEX(010A);M$;" WAS NOT ON DISK. IT IS NOW BEING ADDED." : IF F>0THEN 2030 : STOP "DISK FULL." 2030 S2=F : F=VAL(T$(F)) : T$(S2)=HEX(00) : INIT(20)N$() : E$(1)=HEX(0F) : MAT COPY E$()TO N$()<3*W+1,1> : A=5*S2+1+U : FOR I=1TO 5 : DATA SAVE BA T#2,(A,A)N$() : MAT COPY E$()TO N$()<1,1> : NEXT I : N=INT((S2-1)/50) : DATA LOAD BA T#2,(N+U+1,A)N$() : G$(1)=Q$ : MAT COPY G$()TO N$()<5*(S2-50*N)-4,5> : DATA SAVE BA T#2,(A-1,A)N$() : MAT COPY T$()TO N$()<1,200> 2220 BIN(STR(N$(13),9))=F : BIN(STR(N$(13),10))=F0 : DATA SAVE BA T#2,(0,A)N$() 2250 RETURN