image of READY prompt

Wang2200.org

Listing of file='IDS2PF01' on disk='vmedia/701-2717B.wvd.zip'

# Sector 330, program filename = 'IDS2PF01'
1000 REM "IDS2PF01" - FILE CREATION MODULE
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
   : DIM C2$1,D5$8,D6$3
   : J2,J3=0
   : GOSUB '32("IDS2sF01")
   : F6$(12)="N"
   : IF F6$(18)="R"THEN F6$(11)="N"
   : E3$()=" "
   : E$()="\E3"&E9$(1)
   : STR(E$(),499)=ALL(00)
   : E0=0
   : STR(E$(),62,1),STR(E$(),74,1),STR(E$(),78,1)="0"
   : STR(E$(),11,11)="     "&R2$
   : STR(E$(),447,3)=R4$
   : F=0
1070 F=F+1
1080 IF F>F0THEN 1330
   : IF C2$>"4"AND F>15AND F<20THEN 1070
   : IF F<>13AND F<>16AND F<>18THEN 1090
   : GOSUB '43(F)
   : IF E$=" "THEN GOSUB '45(F,"0")
1090 GOSUB '34(F)
   : ON FGOTO 1130,1610,1620,,,,,,,,,,1660,1670,,1660,1670,1660,1670,1680
   : GOTO 1070
1130 F7$=E$OR ALL(20)
   : IF F7$<>E$THEN 1170
   : GOSUB '35("Name must contain at least 1 upper case character")
   : GOTO 1090
1170 GOSUB '39(F7$,5)
   : J1=Q
   : IF Q=0THEN 1070
   : ON QGOTO 1230,1260
   : F0$="Control file "&F7$&" is scratched"
   : GOSUB '35(F0$)
   : GOTO 1090
1230 F0$="Control file name "&F7$&" is in use as a program file"
   : GOSUB '35(F0$)
   : GOTO 1090
1260 IF N=18THEN MAT REDIM E$(24)83,E3$(24)83
   : ELSE MAT REDIM E$(6)83
   : DATA LOAD DA T#P,(A)E$()
   : IF N=18THEN DATA LOAD DA T#P,(A+8)E3$()
   : IF N=18THEN J3=A+8
   : ELSE J3=0
   : J2=P
   : MAT REDIM E$(E8)1,E3$(249)8
   : C2$=E$(10)
   : GOSUB '36
   : GOSUB '43(3)
   : D6$=E$
   : GOSUB '43(20)
   : IF E$<>" "THEN 1315
   : IF STR(E$(),10,1)>"4"THEN 1320
   : GOSUB '43(1)
   : GOSUB '45(20,E$)
1315 D5$=E$
   : OR (E$,20)
   : J5=5
   : IF STR(E$,,4)="ids2"THEN J5=2
   : DATA LOAD DC OPEN T#J5,E$
   : MAT REDIM F$(6)83
   : DATA LOAD DC #J5,F$()
   : MAT REDIM F$(E9)1
   : GOSUB 1720
1320 IF E0=0THEN 1330
   : F=1
   : E0=0
   : GOTO 1070
1330 IF C2$>"4"THEN PRINT AT(22,0,80);AT(22,5);BOX(1,69);HEX(0F);"  For an alt
     ernate file, FN '09 will detach from primary file";
   : F0$=" accept and save control file, EDIT to modify"
   : IF F6$(18)<>"R"THEN F0$=F0$&", FN'31 to CANCEL"
   : IF C2$>"4"AND Q>-1THEN STR(F0$,8,17)=", FN'09 to detach"
1332 GOSUB '63("Touch EXECUTE to",F0$," ")
1340 F6$(11)="N"
   : GOSUB '34(250)
   : IF F6$(18)<>"R"AND Q=31THEN LOAD DC T#2,"IDS2MF01"1000,
   : IF Q<>31THEN 1360
   : GOSUB '35("Cancel prohibited after detaching file from primary")
   : GOTO 1340
1360 IF Q<>33THEN 1370
   : E0=1
   : F=2
   : GOTO 1090
1370 IF C2$>"4"AND Q=9THEN 1810
   : IF Q<>32THEN PRINT HEX(07);
   : IF Q<>32THEN 1330
   : IF C2$>"4"AND D5$=" "THEN 1760
   : GOSUB '43(2)
   : IF Q<5THEN MAT REDIM E$(24)83,E3$(24)83
   : ELSE MAT REDIM E$(6)83
   : IF Q<5THEN X=18
   : ELSE X=4
   : OR (E$,20)
   : GOSUB '39(F7$,5)
   : J0=Q
   : J5=P
   : GOSUB '43(4)
   : IF E$=" "THEN Q=-1
   : GOSUB '55(4,Q+1)
   : GOSUB '45(5,R4$)
   : FOR I=0TO 2
   : GOSUB '45(I+6,STR(R2$,2*I+1,2))
   : NEXT I
1500 IF J0>0THEN DATA LOAD DC OPEN T#J5,F7$
   : ELSE DATA SAVE DC OPEN T#J5,(X)F7$
   : STR(E$(),1,1)="\E3"
   : DATA SAVE DC #J5,E$()
   : IF J3=0THEN 1527
   : MAT REDIM E3$(24)83
   : DATA LOAD DA T#J2,(J3)E3$()
1527 IF X=18AND J2=0THEN E3$()=" "
   : IF X=18THEN DATA SAVE DC #J5,E3$()
   : DATA SAVE DC #J5,END
   : MAT REDIM E$(E8)1,E3$(249)8
   : GOSUB '43(2)
   : IF E$>"4"THEN LOAD DC T#2,"IDS2PF10"1000,
   : IF J3=0THEN 1580
   : MAT REDIM E3$(24)83
   : DATA LOAD DA T#J2,(J3)E3$()
   : MAT REDIM E3$(249)8
1580 LOAD DC T#2,"IDS2PF02"1000,
1610 IF Q>0AND Q<8THEN 1612
   : GOSUB '35("File type must be 1-7. Please re-enter")
   : GOTO 1080
1612 IF C2$<"5"AND Q<5OR Q>4OR C2$=" "THEN 1613
   : GOSUB '35("You cannot change from an alternate to a primary file type")
   : GOTO 1080
1613 IF Q=2OR Q=3OR STR(E$(),217,1)<"2"THEN 1615
   : GOSUB '35("Multi-volume files must be Type 2 or Type 3")
   : GOTO 1080
1615 GOSUB '43(3)
   : IF E$<>" "THEN 1070
   : MAT REDIM F$(9)83
   : DIM J$8
   : J$="IDS2fs  "
   : B=(R0-#PART)/16+1
   : IF B>0THEN CONVERT BTO STR(J$,7,2),(##)
   : DATA LOAD DC OPEN T#2,J$
   : DATA LOAD DC #2,F$()
   : MAT REDIM F$(E9)1
   : GOSUB '45(3,STR(F$(),#PART*45+1,3))
   : GOTO 1070
1620 IF STR(E$(),404,1)=HEX(01)OR E$=D6$OR E0<>1OR J1<>2THEN 1623
   : GOSUB '35("You cannot change the volume-one address of a multi-volume fil
     e.")
   : GOTO 1090
1623 MAT REDIM F$(9)83
   : DIM J$8
   : J$="IDS2fs  "
   : B=(R0-#PART)/16+1
   : IF B>0THEN CONVERT BTO STR(J$,7,2),(##)
   : DATA LOAD DC OPEN T#2,J$
   : DATA LOAD DC #2,F$()
   : MAT REDIM F$(E9)1
   : MAT SEARCHF$()<#PART*45-17,45>,=STR(E$,1,3)TO F9$STEP 3
   : IF F9$=HEX(0000)OR F9$=HEX(0010)THEN 1630
1625 Q=(VAL(F9$,2)+2)/3
   : LIMITS T#Q,E9$(1),Q,Q,Q,Q
   : ERRORGOSUB '35("Disk error on specified device -- check device or re-ente
     r")
   : GOTO 1090
1627 IF Q=0OR J1>0THEN 1070
   : F0$="File '"&E9$(1)&"'alreadyexistsondevice"&E$
   : GOSUB '35(F0$)
   : GOTO 1080
1630 E$=E$&"notselected"
   : F0$=". Must be"
   : FOR I=1TO 14
   : IF I=5THEN 1650
   : E8$=STR(F$(),#PART*45-17+3*I,3)
   : MAT SEARCHF0$,=STR(E8$,1,3)TO F9$
   : IF F9$=HEX(0000)THEN STR(F0$,LEN(F0$)+2)=E8$
1650 NEXT I
   : GOSUB '63(E$,F0$,"!")
   : GOTO 1080
1660 IF E$>="0"AND E$<="9"THEN 1070
   : IF E$>="A"AND E$<="F"THEN 1070
   : GOSUB '35("Must be 0 - 9 or A - F")
   : GOSUB '45(F,"0")
   : GOTO 1080
1670 E7$=E$
   : GOSUB '43(F-1)
   : IF E7$=R4$AND R8$<E$THEN GOSUB '35("You won't be able to edit this datafi
     le again !")
   : E$=E7$
   : F6$(14)="N"
   : GOSUB '41("IDS2f005",E$,0)
   : F6$(14)="Y"
   : IF F<19THEN 1070
   : GOSUB '43(2)
   : IF Q>4THEN 1070
   : GOSUB '45(20,E9$(1))
   : GOSUB '43(9)
   : GOSUB '45(21,E$)
   : F=20
1680 C2$=STR(E$(),10,1)
   : IF C2$>"0"AND C2$<"5"THEN 1070
   : IF D5$<>" "AND E$<>D5$THEN 1750
   : IF E$<>" "THEN 1690
   : GOSUB '38(0," ")
   : GOTO 1090
1690 OR (E$,20)
   : GOSUB '39(E$,5)
   : IF Q=2AND N=18THEN 1700
1695 GOSUB '35("Invalid primary file name")
   : GOTO 1090
1700 MAT REDIM F$(24)83
   : DATA LOAD DA T#P,(A)F$()
   : MAT REDIM F$(E9)1
   : E6$=STR(F$(),10,1)
   : IF E6$="2"OR E6$="3"THEN 1710
   : GOTO 1695
1710 GOSUB 1720
   : STR(E$(),201,8)=STR(F$(),201)
   : GOSUB '43(20)
   : D5$=E$
   : GOTO 1070
1720 GOSUB '45(21,STR(F$(),22,32))
   : GOSUB '45(16,STR(F$(),74,1))
   : GOSUB '45(17,STR(F$(),75,3))
   : GOSUB '45(18,STR(F$(),78,1))
   : GOSUB '45(19,STR(F$(),79,3))
   : RETURN
1750 F0$="File is attached to primary file "&D5$&" - must detach first"
   : GOSUB '35(F0$)
   : GOSUB '45(20,D5$)
   : GOTO 1090
1760 MAT REDIM E$(6)83
   : GOSUB '43(1)
   : OR (E$,20)
   : GOSUB '39(E$,5)
   : IF Q=2AND A>0THEN DATA SAVE DA T#P,(A)E$()
   : MAT REDIM E$(E8)1
   : LOAD DC T#2,"IDS2MF01"1000,
1810 GOSUB '43(20)
   : IF E$<>" "THEN 1850
   : GOSUB '35("Primary file name is required - please enter a value")
   : F=20
   : GOTO 1090
1850 OR (E$,20)
   : GOSUB '39(E$,5)
   : IF A=0THEN 1880
   : MAT REDIM E3$(24)83
   : DATA LOAD DA T#P,(A)E3$()
   : MAT SEARCHE3$()<275,128>,=STR(E$(),2,8)TO F9$STEP 8
   : T=VAL(F9$,2)
   : E$=" "
   : IF T=0THEN 1855
   : STR(E3$(),T+274,129-T)=STR(E3$(),T+282,121-T)&STR(E$,,8)
   : IF A>0THEN DATA SAVE DA T#P,(A)E3$()
   : MAT REDIM E3$(249)8
1855 D5$=" "
   : GOSUB '45(20," ")
   : GOSUB '45(21," ")
   : F6$(18)="R"
   : Q=-1
   : GOTO 1330
1880 GOSUB '35("Invalid primary file name, Key '31 to CANCEL")
   : F6$(11)="N"
   : GOSUB '34(250)
   : IF Q<>31THEN 1880
   : GOTO 1330
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
   : E$="IDS2PF01"
   : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
   : STOP "ERROR"