Listing of file='IDS2PS96' on disk='vmedia/701-2715B.wvd.zip'
# Sector 429, program filename = 'IDS2PS96'
1000 REM "IDS2PS96" - Release 2.1 - SCREEN/REPORT COPY EDIT BY SEQUENCE #
1010 DIM J9$17,J9$(10)1
: J9$()="ABCDRUVWXY"
: E6$=F6$(17)AND HEX(02)
: IF E6$=HEX(00)THEN LOAD T#2,"IDS2SUB8"3701,3899BEG 1060
1060 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: DIM J9$17,J9$(10)1
: J9$()="ABCDRUVWXY"
: F8=0
: E7$=F5$
: MAT SEARCHE3$(),=STR(C9$,9,8)TO F9$STEP 8
: J0=VAL(F9$,2)
: IF J0=0THEN J0=Z*8+1
: F6$(14)="N"
: J9$=STR(E$(),82)
: CONVERT STR(E$(),2073,2)TO I
: STR(J9$,17)=BIN(I+31)
: CONVERT VAL(STR(E$(),78,1))-31TO STR(E$(),2073,2),(##)
: STR(E$(),82,16)=C9$
1100 IF VAL(STR(J9$,17))-31<>0THEN 1180
: STR(J9$,17,1)=HEX(00)
1120 GOSUB '60(E1$(2),J9$)
: GOSUB '62(E1$(2),1,0)
: IF STR(F$(),7,16)<>STR(J9$,,16)THEN 1603
: IF STR(F$(),,1)=STR(E$(),76,1)THEN 1155
: STR(J9$,17)=STR(F$(),3,1)
: STR(J9$,17,1)=ADDHEX(01)
: GOTO 1120
1155 STR(J9$,17)=STR(F$(),3)
1180 GOSUB '60(E1$(2),STR(C9$,,17))
: GOSUB '62(E1$(2),1,0)
: IF STR(F$(),7,16)<>STR(C9$,,16)OR STR(F$(),3,1)<>STR(C9$,17,1)THEN 1230
: E$="An edit already exists, execute to continue"
: F8=0
: GOTO 1610
1230 GOSUB '60(E1$(2),J9$)
: F8=0
1240 GOSUB '62(E1$(2),1,0)
: IF Q=0OR STR(F$(),7,16)<>STR(J9$,,16)OR STR(F$(),3,1)>STR(J9$,17)THEN 140
0
: IF F$(1)<>E$(76)THEN 1240
: IF F8=0THEN STR(E$(),98,1944)=" "
: IF F8=0THEN F8=VAL(F$(3))
: ELSE IF F8<>VAL(F$(3))THEN 1400
: CONVERT F$(2)TO Q
: ON QGOTO 1310,1320,1330,1340,1350,1360,1370,1380
: STR(E$(),98,228)=STR(F$(),23)
: STR(E$(),79,3)=STR(F$(),4)
: GOTO 1390
1310 STR(E$(),326,228)=STR(F$(),23)
: GOTO 1390
1320 STR(E$(),554,228)=STR(F$(),23)
: GOTO 1390
1330 STR(E$(),782,228)=STR(F$(),23)
: GOTO 1390
1340 STR(E$(),1010,228)=STR(F$(),23)
: GOTO 1390
1350 STR(E$(),1238,228)=STR(F$(),23)
: GOTO 1390
1360 STR(E$(),1466,192)=STR(F$(),23)
: GOTO 1390
1370 STR(E$(),1658,192)=STR(F$(),23)
: GOTO 1390
1380 STR(E$(),1850,192)=STR(F$(),23)
1390 GOTO 1240
1400 MAT REDIM E3$(24)83
: DATA LOAD DA T#3,(E4+17)E3$()
: MAT REDIM E3$(249)8
: STR(E3$(),J0,8)=STR(C9$,8)
: F6$(14)="Y"
: IF F8=0THEN 1601
: J1=0
: IF C5$="S"THEN 1510
: FOR I=1TO 10
1450 MAT SEARCHSTR(E$(),555,900),=J9$(I)TO F9$STEP 18
: IF F9$=HEX(0000)THEN 1500
: STR(E$(),VAL(F9$,2)+553,18)=" "
: J1=J1+1
: GOTO 1450
1500 NEXT I
1510 IF STR(J9$,9,8)=STR(C9$,9,8)THEN 1570
: IF C5$<>"S"THEN 1514
: CONVERT STR(E$(),76,1)TO I
: ON I+1GOSUB ,1860,1870,1880,1890,1900,1910,1920
1514 X=536
: FOR L=0TO 49
: IF C5$="R"AND POS("QR"=STR(E$(),L*18+555))=0THEN 1515
: IF STR(E$(),L*18+556,8)=STR(J9$,9,8)THEN STR(E$(),L*18+556,8)=STR(C9$,9,8
)
: IF STR(E$(),L*18+564,8)=STR(J9$,9,8)THEN STR(E$(),L*18+564,8)=STR(C9$,9,8
)
1515 NEXT L
: IF STR(C9$,,8)=STR(J9$,,8)THEN 1570
: I=555
1523 MAT SEARCHSTR(E$(),I),="I"TO F9$STEP 18
: IF F9$=HEX(0000)THEN 1570
: IF STR(E$(),VAL(F9$,2)+I,8)=STR(J9$,,8)THEN STR(E$(),VAL(F9$,2)+I,8)=STR(
C9$,,8)
: IF STR(E$(),VAL(F9$,2)+I+8,8)=STR(J9$,,8)THEN STR(E$(),VAL(F9$,2)+I+8,8)=
STR(C9$,,8)
: I=VAL(F9$,2)+17+I
: GOTO 1523
1570 IF STR(E$(),76,1)="3"THEN GOSUB 1780
: F=0
: GOSUB '36
: IF STR(E$(),76,1)="6"THEN GOSUB 1670
1601 IF J1=0THEN 1603
: CONVERT J1TO E$,(##)
: E$=E$&" pass/fail actions not valid for reports and not copied, exec. to
continue"
: IF F8=0THEN E8$(1)="!"
: ELSE E8$(1)=" "
: GOSUB '63(STR(E$,,16),STR(E$,17),E8$(1))
: GOSUB '34(250)
: IF Q<>32THEN 1601
: GOTO 1630
1603 E$="Edit library spec. "&STR(J9$,,8)&"-"&STR(J9$,9,8)
: CONVERT VAL(STR(J9$,17))-31TO STR(E$,37),(###)
: STR(E$,37,1)="-"
: IF F8=0THEN E$=E$&" not"
: E$=E$&" found, exec. to continue"
1610 IF F8=0THEN E8$(1)="!"
: ELSE E8$(1)=" "
: GOSUB '63(STR(E$,,16),STR(E$,17),E8$(1))
: GOSUB '34(250)
: IF Q<>32THEN 1603
1630 PRINT AT(23,0,80);
: LOAD T#2,E7$1000,
1650 STOP #
1670 GOSUB '43(15)
: C0=Q
: GOSUB '43(18)
: C4=Q
: GOSUB '43(14)
: F4=Q
: GOSUB '43(17)
: F5=Q
: PRINT HEX(0202020F)
: PRINT HEX(06);
: FOR I=12TO 16
: PRINT AT(I,0,80);AT(I+6,0,80);
: NEXT I
: IF C4>0AND STR(E$(),111,8)=" "OR C0>0THEN 1700
: Q=0
: RETURN
1700 IF C4>0AND C0>0THEN X=MIN(C4,C0)
: ELSE X=MAX(C4,C0)
: Y=MAX(F4,F5)
: F0=20+(SGN(C0)+SGN(C4))*X
: $TRAN(E$()<127,199>,HEX(8020))R
: $TRAN(E$()<339,215>,HEX(8020))R
1750 IF C0=0THEN 1760
: N=INT(79/(Y+1))
: FOR I=0TO X-1
: C=MOD(I,N)*(Y+1)+1
: R=12+INT(I/N)
: P=I*F4+127
: E2$(21+I)=BIN(F4)&BIN(P*16,2)&BIN(R*8)&BIN(C*2+1)&HEX(70800000)
: GOSUB '37(21+I)
: NEXT I
1760 IF C4=0THEN 1770
: N=INT(79/(Y+1))
: FOR I=0TO X-1
: C=MOD(I,N)*(Y+1)+1
: R=18+INT(I/N)
: P=I*F5+339
: E2$(21+I+X*SGN(C0))=BIN(F5)&BIN(P*16,2)&BIN(R*8)&BIN(C*2+1)&HEX(70800000)
: GOSUB '37(21+I+SGN(C0)*X)
: NEXT I
1770 RETURN
1780 FOR I=0TO 6
: E6$=E$(126+I*28)
: IF E6$="A"THEN STR(E$(),2050+I*3,3)="AND"
: ELSE IF E6$="O"THEN STR(E$(),2050+I*3,3)="OR"
: ELSE STR(E$(),2050+I*3,3)=" "
: NEXT I
: RETURN
1860 X=99
: FOR I=1TO 4
: IF STR(E$(),X,8)=STR(J9$,9,8)THEN STR(E$(),X,8)=STR(C9$,9,8)
: X=X+9
: FOR L=1TO 5
: IF STR(E$(),X,18)=STR(J9$,9,8)AND STR(E$(),X-1,1)="F"THEN STR(E$(),X,18)=
STR(C9$,9,8)
: X=X+21
: NEXT L
: IF X<>326THEN X=X-1
: NEXT I
: RETURN
1870 IF STR(E$(),113,8)=STR(J9$,9,8)THEN STR(E$(),113,8)=STR(C9$,9,8)
: IF STR(E$(),121,8)=STR(J9$,9,8)THEN STR(E$(),121,8)=STR(C9$,9,8)
: FOR L=131TO 287STEP 39
: IF STR(E$(),L,1)="F"AND STR(E$(),L+1,8)=STR(J9$,9,8)THEN STR(E$(),L+1,8)=
STR(C9$,9,8)
: NEXT L
: RETURN
1880 X=99
: FOR I=1TO 8
: IF STR(E$(),X,8)=STR(J9$,9,8)THEN STR(E$(),X,8)=STR(C9$,9,8)
: X=X+11
: IF STR(E$(),X,16)=STR(J9$,9,8)AND STR(E$(),X-1,1)="F"THEN STR(E$(),X,16)=
STR(C9$,9,8)
: X=X+17
: NEXT I
: RETURN
1890 X=142
: FOR I=1TO 8
: IF STR(E$(),X,8)=STR(J9$,9,8)THEN STR(E$(),X,8)=STR(C9$,9,8)
: X=X+11
: FOR L=1TO 4
: IF STR(E$(),X,8)=STR(J9$,9,8)THEN STR(E$(),X,8)=STR(C9$,9,8)
: X=X+9
: NEXT L
: X=X-1
: IF X=326THEN X=370
: NEXT I
: RETURN
1900 X=101
: FOR I=1TO 6
: IF STR(E$(),X,8)=STR(J9$,9,8)THEN STR(E$(),X,8)=STR(C9$,9,8)
: X=X+9
: FOR L=1TO 2
: IF STR(E$(),X,13)=STR(J9$,9,8)AND STR(E$(),X-1,1)="F"THEN STR(E$(),X,13)=
STR(C9$,9,8)
: X=X+14
: NEXT L
: X=X-1
: NEXT I
: RETURN
1910 IF STR(E$(),326,8)=STR(J9$,9,8)THEN STR(E$(),326,8)=STR(C9$,9,8)
: IF STR(E$(),98,8)=STR(J9$,9,8)THEN STR(E$(),98,8)=STR(C9$,9,8)
: RETURN
1920 X=222
: FOR L=1TO 4
: IF STR(E$(),X,8)=STR(J9$,9,8)THEN STR(E$(),X,8)=STR(C9$,9,8)
: IF L<3THEN X=X+33
: ELSE X=X+29
: NEXT L
: RETURN
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PS96"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"