image of READY prompt

Wang2200.org

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

# Sector 130, program filename = 'IDS2PP06'
1000 REM "IDS2PP06" - Release 2.1 - INTERACTIVE PROGRAM GENERATOR - EDITS
1005 E6$=F6$(17)AND HEX(02)
   : IF E6$=HEX(00)THEN LOAD DA T#2,(D$(1))3701,3899BEG 1010
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
   : COM E1,C8,C2$19
   : IF E0$<>C7$THEN GOSUB '33(E9$(2))
1030 E1=MAX(E1,1)
   : IF E1>F0THEN 2000
   : GOSUB 2070
   : IF MOD(VAL(STR(E2$(E1),6)),16)>7OR VER(E3$(E1),"@FLD###@")=8THEN 1100
1050 E2(3),E2(4)=0
   : E1=E1+1
   : GOTO 1030
1100 IF STR(E6$(),,16)=STR(C2$,,16)AND C2$<>" "THEN 1125
   : GOSUB 2070
   : C2$=STR(C7$,,8)&STR(E3$(E1),,8)&BIN(E2(3)+32)
   : IF VER(E3$(E1),"@FLD###@")=8THEN STR(C2$,,8)="@SYSSCR@"
   : GOTO 1110
1105 E2(3)=VAL(STR(E6$(),17))-32
   : GOTO 1125
1110 GOSUB '60(E1$(2),C2$)
   : IF STR(E6$(),,16)<>STR(C2$,,16)THEN 2030
1125 IF VAL(E6$(17))>63AND E2(3)>0AND E2(3)<33THEN 2030
1130 E2(4)=E2(3)
   : E2(3)=VAL(E6$(17))-31
   : STR(C2$,17)=E6$(17)
   : D7=VAL(E6$(18))-48
   : E$()="Compiling BASIC program - Processing field "&HEX(22)&STR(C2$,9,8)&H
     EX(22)&" edit "&HEX(002000)
   : CONVERT E2(3)TO STR(E$(),POS(E$()=00),2),(##)
   : STR(E$(),76)=STR(E6$(),18,1)&"0"&STR(E6$(),17,1)&"N  "&STR(E6$(),,16)
1150 GOSUB '62(E1$(2),1,0)
   : I=VAL(F$(2))-47
   : ON IGOTO 1161,,,,,,1169,1169,1169
   : STR(E$(),I*228-130)=STR(F$(),23,228)
   : GOTO 1170
1161 STR(E$(),76)=STR(F$(),,250)
   : GOTO 1170
1169 STR(E$(),I*192+122)=STR(F$(),23,192)
1170 IF STR(E6$(),,17)=STR(C2$,,17)THEN 1150
   : GOSUB 2070
   : UNPACK(####)C0$TO Q
   : Q=MAX(Q,1100)
   : PACK(####)C0$FROMQ
   : IF E2(3)<33AND E2(4)>0THEN 1270
   : IF E2(3)>33AND E2(4)>32THEN 1270
   : IF E2(3)<33THEN X=E6
   : ELSE X=C4
   : X=X+INT((E1-1)/60)
   : DATA LOAD BA T#3,(X)E4$()
   : STR(E4$(),POS(E4$()=9C)+(MOD(E1-1,60)+1)*4-2,2)=C0$
   : DATA SAVE BA T#3,(X)E4$()
1270 DATA LOAD BA T#3,(E4-1)E4$()
   : STR(E4$(),,1)=HEX(00)
   : $TRAN(E4$(),HEX(FDFE))R
   : DATA SAVE BA T#3,(E4-1)E4$()
   : F$()=HEX(1B)
   : IF E$(79)="N"THEN E2(5)=0
   : ELSE E2(5)=E4
   : IF E2(5)=0THEN 1350
1340 IF E$(81)="N"THEN E6$="Y"
   : ELSE E6$="N"
   : CONVERT VAL(E$(80))-47TO F9$,(##)
   : IF VAL(F9$)=48THEN F9$=STR(F9$,2)
   : STR(F$(),2)=HEX(9F)&"F6$("&F9$&")="&HEX(22)&E6$&HEX(22B1FFFFFFBA)
1350 IF D7=0OR D7=3THEN 1380
   : IF E2(5)=0THEN E$="H=1"
   : ELSE E$="H=1"
   : STR(F$(),LEN(F$())+1)=E$&HEX(BA)
1380 GOTO 3020
1500 STOP #
   : STOP #
2000 IF LEN(F8$())<3THEN 2010
   : F8$(1)=HEX(20)
   : STR(F8$(),POS(F8$()=FE))=HEX(0D0000FE)
   : DATA SAVE BA T#3,(E4,E4)F8$()
   : GOTO 2020
2010 DATA LOAD BA T#3,(E4-1)F8$()
   : F8$(1)=HEX(20)
   : $TRAN(F8$(),HEX(FEFD))R
   : DATA SAVE BA T#3,(E4-1)F8$()
2020 LOAD T#2,"IDS2PP04"1000,
2030 IF E2(3)=0THEN 2040
   : IF POS(F8$()=FE)<244THEN 2050
   : F8$(1)=HEX(00)
   : STR(F8$(),POS(F8$()=FE))=HEX(0D0000FD)
   : DATA SAVE BA T#3,(E4,E4)F8$()
   : F8$()=HEX(20FF)&STR(C0$,,2)&HEX(9CFF)
   : GOTO 2060
2040 IF STR(E6$(),,16)<>STR(C2$,,16)THEN 1050
   : GOTO 1130
2050 STR(F8$(),POS(-F8$()>FC))=HEX(0D0000FF)&STR(C0$,,2)&HEX(9CFF)
2060 IF E2(3)<33THEN F9$=HEX(1038)
   : ELSE F9$=HEX(1032)
   : STR(F8$(),LEN(F8$())+1)=F9$&HEX(FE)
   : UNPACK(####)C0$TO Q
   : PACK(####)C0$FROMQ+1
   : GOTO 2040
2070 MAT REDIM E3$(24)83
   : E3$()=" "
   : MAT REDIM E3$(ABS(INT(-F0*8/249))*3)83
   : DATA LOAD DA T#J0,(J7)E3$()
   : MAT REDIM E3$(249)8
   : RETURN
3010 E2(6),E2(7),E2(8)=0
   : FOR I=554TO 1436STEP 18
   : IF POS("PFB"=E$(I))>0THEN E2(6)=E2(6)+1
   : NEXT I
   : ON D7GOTO 3040,3050,3060,3070,3080,3090,3100
3020 E2(6),E2(7),E2(8)=0
   : MAT REDIM E0$(2)51
   : E0$()=ALL(FF)
   : MAT SEARCHE$()<554,883>,>" "TO E0$()STEP 18
   : E2(6)=POS(-E0$()=00)/2-1
   : MAT REDIM E0$(249)1
   : E0$()=HEX(01)
   : ON D7GOTO 3040,3050,3060,3070,3080,3090,3100
   : E$="No-op (perform Pass/Fail actions only)"
   : I=29
   : E8$=" "
   : GOTO 3110
3040 E$="Set field(s) = field(s) and/or constant(s)"
   : I=26
   : E8$="SET FIELD"
   : GOTO 3110
3050 E$="Read a record from a data file"
   : I=27
   : E8$="READ RECORD"
   : GOTO 3110
3060 E$="Perform logical test(s)"
   : I=9
   : E8$="LOGICAL TEST"
   : GOTO 3110
3070 E$="Math calculation(s)"
   : I=7
   : E8$="MATH CALCS"
   : GOTO 3110
3080 E$="Range check(s)"
   : I=11
   : E8$="RANGE TEST"
   : GOTO 3110
3090 E$="Table look-up (or look-up & replace)"
   : E8$="TABLE TEST"
   : I=12
   : GOTO 3110
3100 E$=STR(E$(),106,64)
   : E8$="USER EXIT"
   : I=10
3110 IF E2(2)=0THEN 3160
   : IF LEN(F$())>1THEN F$(LEN(F$()))=HEX(BA)
   : STR(F$(),LEN(F$())+1)=HEX(A2)&E$&HEX(BA)
3160 PRINT AT(23,0);STR(E$(),,POS(E$()=00));" ";E8$;
   : LOAD DA T#2,(D$(I))1000,
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
   : E$="IDS2PP06"
   : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
   : STOP "ERROR"