image of READY prompt

Wang2200.org

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

# Sector 539, program filename = 'IDS2PP07'
1000 REM "IDS2PP07" - Release 2.1 - PROGRAM GENERATOR - SCREEN MATH CALCULATIO
     NS
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
   : GOSUB '33("IDS2sS20")
   : DIM F9$(4)14,J1$(2)31
   : FOR I=21TO 84STEP 9
   : GOSUB '43(I)
   : IF E$=" "THEN 3110
   : GOSUB '43(I+1)
   : IF E$="MOD"THEN Y=1
   : ELSE Y=3
   : E6$=E$
   : IF E$="MAX"THEN E6$=HEX(F7)
   : IF E$="MIN"THEN E6$=HEX(F8)
   : IF E$="MOD"THEN E6$=HEX(F9)
   : IF E$="INT"THEN E6$=HEX(C5)
   : IF E$="SGN"THEN E6$=HEX(C8)
   : IF E$="ABS"THEN E6$=HEX(C1)
1070 F9$(),J1$()=" "
   : FOR J=0TO Y
   : GOSUB '43(I+2+J*2)
   : F5$=E$
   : IF F5$=" "THEN 1120
   : IF F5$>"CONSTNT0"AND F5$<"CONSTNT9"THEN 1110
   : GOSUB 3170
   : IF STR(R3$(1),6,1)="P"THEN 1105
   : ELSE E$="F"&STR(E8$,,POS(E8$=")"))
   : GOTO 1120
1105 E$=BIN(J+73)
   : F$()=F$()&HEX(9A)&"'43"&E8$&E$&"=Q:"
   : GOTO 1120
1110 GOSUB '43(VAL(STR(F5$,8))-36)
   : IF POS(E$>20)>0THEN E4$()=STR(E4$(),POS(E4$()>20))
   : IF STR(E4$(),,1)="-"THEN E$="("&E4$()&")"
   : ELSE E$=E4$()
   : IF E$=" "THEN E$="0"
   : ELSE E$=STR(E$,POS(E$<>" "))
1120 F9$(J+1)=E$
   : NEXT J
   : GOSUB '43(I)
   : F5$=E$
   : GOSUB 3170
   : E8$=STR(E8$,2,POS(E8$=")")-2)
   : E$=HEX(9A)&"'55("&E8$&","
   : F$()=F$()&E$
   : F6$,E$=E6$
   : IF E6$<HEX(F0)THEN 2000
   : FOR J=1TO Y+1
   : IF F9$(J)<>" "THEN E$=E$&F9$(J)&","
   : NEXT J
   : STR(E$,LEN(E$))=")"
   : GOTO 3000
2000 IF E6$<>" "THEN F$()=F$()&E6$
   : IF F9$(2)=" "THEN E$=" "
   : ELSE GOSUB '43(I+3)
   : J1$(1)=F9$(1)&E$
   : J1$(1)=J1$(1)&STR(F9$(2),MAX(1,POS(F9$(2)>20)))
   : J1$()=STR(J1$(1),MAX(1,POS(J1$(1)>20)))
2005 IF F9$(4)=" "THEN E$=" "
   : ELSE GOSUB '43(I+7)
   : J1$(2)=F9$(3)&E$
   : J1$(2)=J1$(2)&STR(F9$(4),MAX(1,POS(F9$(4)>20)))
   : J1$(2)=STR(J1$(2),MAX(1,POS(J1$(2)>20)))
   : GOSUB '43(I+5)
   : F9$=E$
   : IF J1$(2)=" "OR POS("*/^"=E$)=0OR F9$(1)=" "OR F9$(2)=" "THEN F0$=J1$(1)
   : ELSE F0$="("&J1$(1)&")"
   : GOSUB '43(I+7)
   : E6$=E$
   : E$=F0$
2040 IF F9$="+"AND E6$="+"OR POS(" -^*/"=F9$)=0OR F9$(4)=" "OR J1$(2)=" "OR J1
     $(1)=" "THEN IF F9$<>"-"OR E6$<>"-"THEN E$=E$&F9$&J1$(2)
   : ELSE E$=E$&F9$&"("&J1$(2)&")"
   : IF F6$<>" "THEN E$=E$&")"
3000 E$=STR(E$,POS(E$>20))
   : E$=E$&")"
   : IF POS(E$="/")=0AND POS(E$="^")=0THEN E$=E$&":"
   : ELSE E$=E$&HEX(BAEB483D301B)
   : IF STR(R3$(),6,1)="P"THEN MAT SEARCHF$(),=HEX(3D513A9A273535)TO F9$
   : IF STR(R3$(),6,1)<>"P"THEN MAT SEARCHF$(),=HEX(3D513A9A273638)TO F9$
   : IF F9$=HEX(0000)THEN 3100
   : X=VAL(F9$,2)
   : F9$=STR(F$(),X-1)
   : STR(F$(),X-1)=STR(F$(),X+3)
3012 STR(E$,POS(-E$=F9$),1)="Q"
3100 F$()=F$()&E$
3110 NEXT I
   : GOSUB '33(C8$)
   : $TRAN(F$()<,LEN(F$())>,HEX(1A3A))R
   : LOAD DA T#2,(D$(29))1000,
3140 NEXT I
   : STOP "END IT"
3160 DEFFNZ(Z)=LEN(F$())+1
3170 MAT SEARCHE3$(),=STR(F5$,,8)TO F9$STEP 8
   : IF F9$=HEX(0000)THEN IF VER(F5$,"@TSTFLD#")=8THEN F9$=BIN(VAL(STR(F5$,8))
     *8+1619,2)
   : Q=INT((VAL(F9$,2)+7)/8)
   : IF Q=0THEN Q=250
   : IF F5$="@SYSBUF0"THEN Q=249
   : E8$=" "
   : $PACK(F=HEX(1006))E8$FROMQ
   : STR(E8$,,1)="("
   : STR(E8$,LEN(E8$)+1)="):"
   : RETURN
3190 E$=STR(E$(),I*56+J*28+110,16)
   : F0$=HEX(22)&E$&HEX(22)
   : RETURN
3200 F$(FNZ(Z))=HEX(9F)
   : IF J=1AND E$(I*56+109)<>" "THEN STR(F$(),FNZ(Z))=E7$&"1"&E$(I*56+126)
   : RETURN
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
   : E$="IDS2PP07"
   : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
   : STOP "ERROR"