Listing of file='IDS2PS12' on disk='vmedia/701-2716B.wvd.zip'
# Sector 790, program filename = 'IDS2PS12'
1000 REM "IDS2PS12" - Release 2.1 - SCREEN MASK DOCUMENTATION (FIELD LEVEL)
1005 DEFFNZ(F)=INT(VAL(STR(E2$(F),2),2)*.0625)
: DEFFNA(F)=INT(VAL(STR(E2$(F),8))*.015625)
: DEFFNF(F)=MOD(VAL(STR(E2$(F),6)),8)
: DEFFNY(F)=INT(VAL(STR(E2$(F),6))*.0625)
: DEFFNX(F)=INT(MOD(VAL(STR(E2$(F),3)),4)*.5)
: IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: COM F4,C9$56,C6$32
: C9$=STR(E$(),78)
: DIM F4$(2)1
: F4$()=".Y"
: IF N>0THEN 1300
: IF J6>0THEN GOSUB 3000
1300 E1=0
: IF N=0THEN 1505
: F5$="####"
: FOR I=1TO N
: ON MOD(I,50)GOSUB 3020
: E$=HEX(0000)
: PRINTUSING TO E$,F5$,I
: STR(E0$(),4)=STR(E$,4,3)
: STR(E0$(),8)=E3$(I)
: IF FNF(I)>0THEN STR(E0$(),17)=STR(E$(),FNF(I)*8+70,8)
: E$=HEX(0000)
: PRINTUSING TO E$,F5$,INT(VAL(STR(E2$(I),4))*.125)+1
: STR(E0$(),26,2)=STR(E$,5)
1345 E$=HEX(0000)
: PRINTUSING TO E$,F5$,INT(VAL(STR(E2$(I),5))*.5)+1
: STR(E0$(),29,2)=STR(E$,5)
: E$=HEX(0000)
: PRINTUSING TO E$,F5$,VAL(E2$(I))
: STR(E0$(),32,3)=STR(E$,4)
: E$=HEX(0000)
: PRINTUSING TO E$,F5$,FNZ(I)
: STR(E0$(),36,4)=STR(E$,3)
: E$=HEX(0000)
: PRINTUSING TO E$,F5$,FNZ(I)-1+VAL(E2$(I))
: STR(E0$(),41,4)=STR(E$,3)
1350 CONVERT FNY(I)TO STR(E0$(),46),(#)
: J1=46
: GOSUB '71(FNX(I))
: GOSUB '71(MOD(VAL(STR(E2$(I),3)),2))
: IF FNY(I)<4THEN CONVERT MOD(VAL(STR(E2$(I),4)),8)TO STR(E0$(),52),(#)
: ELSE STR(E0$(),52)=F4$(1)
: CONVERT INT(VAL(STR(E2$(I),7))*.015625)TO STR(E0$(),54),(#)
: J1=54
1360 GOSUB '71(MOD(VAL(STR(E2$(I),5)),2))
: GOSUB '71(INT(MOD(VAL(STR(E2$(I),3)),16)*.125))
: GOSUB '71(INT(MOD(VAL(STR(E2$(I),3)),8)*.25))
: GOSUB '71(INT(MOD(VAL(STR(E2$(I),8)),4)*.5))
: GOSUB '71(INT(MOD(VAL(STR(E2$(I),8)),64)*.03125))
: E6$=STR(E2$(I),9)
1410 Q=INT(MOD(VAL(STR(E2$(I),6)),16)/8)
: Q=(Q+MOD(VAL(STR(E2$(I),7)),64))*Q
: CONVERT QTO F9$,(##)
: IF Q<10THEN STR(F9$,1,1)=" "
: IF Q=0THEN F9$=" ."
: E$=STR(F9$,,2)&STR(E0$(),3,4)
1420 STR(E0$(),66)=E$
: STR(E0$(),,1)=HEX(54)
: L=71
: IF STR(E0$(),54,3)="0 ."THEN L=84
: IF L>71THEN STR(E0$(),73)="(work field)"
: GOSUB '49(L)
: F4=F4+1
: IF MOD(INT(VAL(STR(E2$(I),6))/8),2)=1OR VER(E3$(I),"@FLD###@")=8THEN E1=1
: NEXT I
1505 IF J6=0THEN 2000
: IF MOD(N,50)+2+INT(J6/4+.8)<=55THEN 1506
: GOSUB 3000
1506 IF N>0THEN GOSUB 3080
: GOSUB '48(3,"Box/Line Documentation:",0)
: GOSUB 3080
: E$="Type R C V H"
: FOR I=1TO MIN(4,J6)
: GOSUB '48(I*21-18,E$,0)
: NEXT I
: GOSUB 3080
: E$="------ -- -- -- --"
: FOR I=1TO MIN(4,J6)
: GOSUB '48(I*21-18,E$,0)
: NEXT I
: GOSUB 3080
1510 FOR I=1TO J6
: UNPACK(##)STR(E2$(),2242-I*4)TO A,B,C,D
: E$=ALL(00)
: A=A+1
: B=B+1
: IF C=0THEN 1540
: IF D=0THEN 1535
: PRINTUSING TO E$,1530,"Box",A,B,C,D
: GOTO 1550
1530 %###### ## ## ## ##
1535 PRINTUSING TO E$,1530,"Line-V",A,B,C,"--"
: GOTO 1550
1540 PRINTUSING TO E$,1530,"Line-H",A,B,"--",D
1550 GOSUB '48(MOD(I-1,4)*21+3,STR(E$,3),18)
: IF MOD(I,4)=0OR I=J6THEN GOSUB 3080
: NEXT I
2000 IF J3<>1THEN ON E1GOTO 2010
: IF R3$(1)="IDS2MS01"THEN COM CLEAR J3
: $CLOSE#1
: LOAD T#2,R3$(1)1000,
2010 LOAD T#2,"IDS2PS27"1000,
3000 F4=0
: E0$()=HEX(01)
: J4=J4+1
: GOSUB '48(0,HEX(0C),0)
: GOSUB 3080
: GOSUB 3010
: E$="Screen "&HEX(22)&STR(E9$(2),1,8)&HEX(22)&" - "&STR(E4$(),1,32)
: GOSUB '48(3,E$,0)
: E$=STR(R2$,1,2)&"/"&STR(R2$,3,2)&"/"&STR(R2$,5,2)&" Page # of #"
: CONVERT J4TO STR(E$,17,1),(#)
: CONVERT J9TO STR(E$,22,1),(#)
: GOSUB '48(62,E$,0)
: GOSUB 3080
: GOTO 3080
3010 E4$()=STR(E$(),10,24)&ALL(00)
: FOR J=1TO 32
: ROTATEC(STR(E4$(),J),-2)
: NEXT J
: ADD(E4$(),20)
: C6$=E4$()
: RETURN
3020 GOSUB 3000
: GOSUB '48(3," T J Z D F E
N #",0)
: GOSUB 3080
: GOSUB '48(3," R C Y U F D I K R U X
B E",0)
: GOSUB 3080
3050 GOSUB '48(3,"FLD FILE O O POSITION P S I E S B Q L E
P D FLD",0)
: GOSUB 3080
: GOSUB '48(3," # NAME (IF ANY) W L LEN BEG END E T L C P D D L C
S T #",0)
: GOSUB 3080
3070 GOSUB '48(3,"--- -------- -------- -- -- --- ---- ---- - - - - - - - - -
- -- ---",0)
3080 GOSUB '49(0)
: F4=F4+1
: RETURN
3090 DEFFN'71(X)
: J1=J1+2
: STR(E0$(),J1,1)=F4$(X+1)
: RETURN
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PS12"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"