Listing of file='IDS2PP20' on disk='vmedia/701-2724B.wvd.zip'
# Sector 642, program filename = 'IDS2PP20'
1000 REM "IDS2PP20" - INTERACTIVE PROGRAM GENERATOR - P/F SPECS S&T LOAD
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: F5$=F1$
: GOSUB 3050
: IF C9>19THEN 2000
: IF F2$="ONCANCEL"THEN 1100
: IF F2$="COMCLIDS"OR F2$="COMCLRPT"THEN 1080
1060 IF F1$="@CANCEL@"THEN 1200
: E4$()=E4$()&HEX(9A)&"'40("&HEX(22)&F5$&HEX(2229BA)
: E0$()="Load module "&HEX(22)&F5$&HEX(22)
: GOTO 3000
1080 E4$()=E4$()&HEX(9A)&"'39("
: IF F1$="@CANCEL@"THEN 1085
: E4$()=E4$()&HEX(22)&F5$&HEX(22)&",4):"
: GOTO 1090
1085 E4$()=E4$()&R3$(1)&",4):"
1090 E4$()=E4$()&HEX(9F)&"Q=1"&HEX(B1A681)
: IF F2$="COMCLRPT"THEN 1095
: E4$()=E4$()&"E():"
: GOTO 1060
1095 E4$()=E4$()&"F():"
: GOTO 1060
1100 E4$()=E4$()&"R3$(1)="&HEX(22)&F5$&HEX(22BA)
: E0$()="Set the cancel module name to "&HEX(22)&F5$&HEX(22)
: GOTO 3000
1200 E4$()=E4$()&HEX(9A)&"'40(R3$(1))"&HEX(BA)
: E0$()="Load the cancel module"
: GOTO 3000
2000 E4$()=E4$()&HEX(9A)&"'43("&E8$&HEX(29BA)
: IF F2$="ONCANCEL"THEN 2030
: IF F2$="COMCLIDS"OR F2$="COMCLRPT"THEN 2040
2020 E4$()=E4$()&HEX(9A)&"'40(E$)"&HEX(BA)
: E0$()="Load the module named in field "&HEX(22)&F5$&HEX(22)
: GOTO 3000
2030 E4$()=E4$()&"R3$(1)=E$"&HEX(BA)
: E0$()="Set the cancel module name to the contents of field "&HEX(22)&F5$&
HEX(22)
: GOTO 3000
2040 E4$()=E4$()&HEX(9A)&"'39(E$,4):"&HEX(9F)&"Q=1"&HEX(B1A681)
: IF F2$="COMCLRPT"THEN 2045
: E4$()=E4$()&"E():"
: GOTO 2020
2045 E4$()=E4$()&"F():"
: GOTO 2020
3000 IF E2(2)>0THEN E4$()=E4$()&HEX(A2)&E0$()&HEX(BA)
: IF STR(E4$(),LEN(E4$()))=HEX(BA)THEN STR(E4$(),LEN(E4$()))=HEX(1B)
: IF E4$()<>" "THEN $TRAN(E4$(),HEX(BA3A))R
: IF POS(E4$()=BA)>0THEN E$=F0$
: IF E$<>" "THEN STR(F$(),LEN(F$())+1)=E$
: IF E4$()<>" "THEN STR(F$(),LEN(F$())+1)=STR(E4$(),POS(E4$()>20))
: LOAD DA T#2,(D$(13))1000,
3020 STOP #
: PRINT HEX(06020402000E);AT(23,16);"Compiling BASIC program - Now processi
ng sector";E4-E3+1;
: RETURN
3040 STOP "END IT"
3050 Q=250
: IF F5$=" "THEN 3070
: MAT SEARCHE3$(),=STR(F5$,,8)TO F9$STEP 8
: IF F9$>HEX(0000)THEN Q=INT((VAL(F9$,2)+7)/8)
: IF Q<250THEN 3070
: IF VER(F5$,"@TSTFLD#")=8THEN Q=VAL(STR(F5$,8))+203
: MAT SEARCHC8$,=STR(F5$,,8)TO F9$
: IF F9$>HEX(0000)THEN Q=INT((VAL(F9$,2)+7)/8)+260
: IF F5$="@SYSBUF0"THEN Q=269
: IF F5$<"FILE # 1"OR F5$>"FILE # 7"THEN 3070
3060 F5$=STR(C8$,(VAL(STR(F5$,8))-48)*8+1)
: GOTO 3050
3070 DEFFN'71(Q)
: E8$=" "
: $PACK(F=HEX(1006))E8$FROMQ
: E8$=STR(E8$,POS(E8$>20))
: RETURN
3080 IF STR(F5$,,2)="IF"THEN F9$=HEX(8A)
: IF STR(F5$,,2)="OR"THEN F9$=HEX(8B)
: IF LEN(E$)>1THEN E$=E$&F9$
: $TRAN(F9$,HEX(8A8B8B8A))R
: IF LEN(F0$)>1THEN F0$=F0$&F9$
: RETURN
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PP20"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"