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"