Listing of file='IDS2PS03' on disk='vmedia/701-2716B.wvd.zip'
# Sector 642, program filename = 'IDS2PS03'
1000 REM "IDS2PS03" - SCREEN MASK TEXT EDITOR FIELD & BOX DISPLAY
1004 COM C3$25
: IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
1015 DEFFNP(F)=INT(VAL(STR(E2$(F),2),2)*.0625)
: DEFFNL(F)=VAL(E2$(F))
: DEFFNR(F)=INT(VAL(STR(E2$(F),4))*.125)
: DEFFNC(F)=INT(VAL(STR(E2$(F),5))*.5)
: DEFFNY(X)=80*Y+X+1
: F$()=ALL(00)
: STR(E$(),1993)=ALL(09)
: E$(2072)=" "
: PRINT HEX(060202020E);
: N=0
: J4=F1(8)
: E$=" "
: MAT SEARCHE3$(),=STR(E$,1,8)TO F9$STEP 8
: IF F9$=HEX(0000)THEN F9$=BIN(1999,2)
1040 FOR I=1TO INT(VAL(F9$,2)/8)
: IF VAL(E2$(I))=0THEN 1110
: D8$=BIN(I)
: E$=ALL(D8$)
: STR(F$(),80*INT(VAL(STR(E2$(I),4))*.125)+INT(VAL(STR(E2$(I),5))*.5)+1,MAX
(VAL(E2$(I))*SGN(INT(VAL(STR(E2$(I),7))/64)+MOD(VAL(STR(E2$(I),5)),2)),1)
)=E$
: J4=MAX(J4,INT(VAL(STR(E2$(I),2),2)*.0625)+SGN(INT(VAL(STR(E2$(I),2),2)*.0
625))*VAL(E2$(I)))
: N=N+1
1110 NEXT I
: Z=N
: GOSUB '71
: GOSUB 2280
: MAT REDIM E$(24)83
: DATA LOAD DA T#3,(E4)E$()
: MAT REDIM E$(E8)1
: LOAD T#2,"IDS2PS04"1000,
2010 DEFFN'72(Y,X)
: E$=STR(E$(),Y*80+X+153,80-X)
: $TRAN(E$,HEX(80202009))R
: PRINT HEX(06);AT(Y,X);STR(E$,1,80-X);AT(Y,X);
2020 IF X>=80OR POS(STR(F$(),80*Y+X+1,80-X)>00)=0THEN RETURN
: E$=ALL(8B)
: X=X-1+POS(STR(F$(),80*Y+X+1)>00)
: IF STR(E2$(VAL(STR(F$(),80*Y+X+1))),7,1)<HEX(40)AND MOD(VAL(STR(E2$(VAL(S
TR(F$(),80*Y+X+1))),5)),2)=0THEN 2072
: PRINT AT(Y,X);STR(E$,1,VAL(E2$(VAL(STR(F$(),80*Y+X+1)))))
: X=X+VAL(E2$(VAL(STR(F$(),80*Y+X+1))))
: GOTO 2020
2072 PRINT AT(Y,X);HEX(9B);
: X=X+1
: GOTO 2020
2090 DEFFN'71
: PRINT HEX(03060F)
: FOR I=0TO 23
: GOSUB '72(I,0)
: NEXT I
: Q=MAX(1,N*9+1)
: Q=Q+MOD(2242-Q,4)
: IF Q=0THEN RETURN
: J5$=ALL(00)
: MAT SEARCHE2$()<Q,2243-Q>,>STR(J5$,1,4)TO D3$STEP 4
: IF VAL(D3$,2)=0THEN RETURN
: Q=VAL(D3$,2)+Q-1
: Q=Q+MOD(2242-Q,4)
: P=2242
2210 P=P-4
: IF P<QOR E3$(1+P/9)<>" "THEN RETURN
: IF STR(E2$(),P,4)=HEX(00000000)THEN 2210
: UNPACK(##)STR(E2$(),P,4)TO E1()
: PRINT AT(E1(1),E1(2));BOX(E1(3),E1(4));
: GOTO 2210
2280 PRINT HEX(060F);AT(23,0);BOX(1,3);AT(23,4);BOX(1,3);AT(23,0);
: PRINTUSING " ## ## FN'0 = Edit Field FN'16 = Edit Box FN'31 = Canc
el EXEC = Save";R+1,C+1;
: PRINT AT(23,8);BOX(1,20);BOX(1,39);BOX(1,56);BOX(1,70);
: PRINT HEX(01)
: RETURN
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PS03"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"