Listing of file='IDS2PU07' on disk='vmedia/701-2715B.wvd.zip'
# Sector 601, program filename = 'IDS2PU07' 1000 REM "IDS2PU07" - Convert TC file to IDEAS2 file - module one - 10/19/81 1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM" : COM C1,C1$8,C2,C2$3,C3,C4,C5 : DIM C8$45,D$(9)83,D1$2,D2$3,D3$4,D4$8,D5$8,D6$80,D7$8,D7$(16)8,D8$8 : GOSUB 1350 : C1$=E$ : GOSUB 1280 : IF F6$(20)="Z"THEN GOSUB 1540 : STR(E2$(1),5,1)=AND HEX(FE) 1030 F=1 1040 F=F+1 : GOSUB '34(F) : ON FGOTO 1040,1050,1060,1070,1080,1100,1120 : GOTO 1030 1050 D4$=E$ : GOTO 1040 1060 GOSUB 1400 : IF F=2THEN 1040 : GOSUB 1290 : GOTO 1040 1070 C1=Q : IF C1=1OR C1=2THEN 1040 : GOSUB '38(63," ") : F=F-1 : GOTO 1040 1080 F6$(22)=E$ : IF POS("123"=E$)>0THEN 1040 1090 GOSUB '38(64," ") : F=F-1 : GOTO 1040 1100 F6$(23)=E$ : IF POS("123"=E$)>0THEN 1110 : GOTO 1090 1110 GOSUB '38(65," ") : GOTO 1040 1120 ON Q-31GOTO 1130,1030 : GOSUB '38(65," ") : F=F-1 : GOTO 1040 1130 IF F6$(21)="C"THEN GOSUB 1540 : LOAD T#2,"IDS2PU08"1000, 1280 D5$=C1$OR ALL(20) : GOSUB '39(D5$,5) : C7=P : C8=A : MAT REDIM D$(6)83 : DATA LOAD DA T#P,(A)D$() : CONVERT STR(D$(),93,4)TO C4 : D7$()=STR(D$(),275,128) : MAT SEARCHE1$(),=C1$TO D1$STEP 56 : C3=(VAL(D1$,2)+55)/56 : IF C3<1THEN C3=0 : RETURN 1290 LIMITS T#6,D4$,C2,C5,D1,D1 : ON D1+3GOTO 1300,1310,1320,1330 : RETURN 1300 O=66 : GOTO 1340 1310 O=67 : GOTO 1340 1320 O=68 : GOTO 1340 1330 O=69 1340 GOSUB '38(O,D4$) : F=F-2 : RETURN 1350 IF F6$(53)="Y"THEN 1360 : MAT REDIM D$(9)83 : IF R0<#PARTTHEN 1380 : D8$="IDS2fs##" : CONVERT 1+(R0-#PART)/16TO STR(D8$,7,2),(##) : DATA LOAD DC OPEN T#2,D8$ : DATA LOAD DC #2,D$() : C2$=STR(D$(),#PART*45-2,3) : C8$=STR(D$(),#PART*45-17,45) : GOTO 1370 1360 LIMITS T#4,STR(F4$,4,8),D8,J,J,J : DATA LOAD BA T#4,(D8+2)STR(D$(),,256) : C2$=STR(D$(),107,3) : C8$=STR(D$(),92,45) 1370 IF F6$(20)="X"THEN F6$(20)="Z" : IF R3$(1)="IDS2PU11"THEN RETURN : X=LEN(STR(R3$()))-9 : MAT COPY -R3$()<1,X>TO -R3$()<10,X> : R3$(1)="IDS2PU11" : RETURN 1380 GOSUB '38(70," ") : END 1400 MAT SEARCH"310320330B10B20B30350360370B50B60B70D10D11D12D13D14D15D50D51D5 2D53D54D55D20D21D22D23D24D25D60D61D62D63D64D65D30D31D32D33D34D35D70D71D72 D73D74D75",=STR(E$,1,3)TO D1$STEP 3 : PRINT AT(23,0,80);HEX(0F06); : IF D1$<>HEX(0000)THEN 1420 : GOSUB '38(46," ") : GOTO 1530 1420 SELECT #6<E$> : $OPEN 1440,#6 : GOTO 1450 1440 $CLOSE#6 : GOSUB '38(71,E$) : GOTO 1530 1450 $CLOSE#6 : RETURN 1460 ON ERRORD2$,D3$GOTO 1470 1470 IF D2$<>"P48"THEN 1480 : GOSUB '38(72,E$) : GOTO 1520 1480 IF STR(D2$,2,2)<"90"OR STR(D2$,2,2)>"98"THEN 1490 : GOSUB '38(73,D2$) : GOTO 1520 1490 IF D2$<>"P56"THEN 1500 : IF D3$<>"7000"AND D3$<>"7010"THEN 1500 : GOSUB '38(80," ") : END 1500 GOSUB '38(74,D2$) : END 1520 F=F-1 : GOTO 1040 1530 F=F-1 : RETURN 1540 DATA LOAD DA T#C7,(C8)D$() : ERRORGOSUB '38(75,C1$) : GOTO 1660 1550 J2=0 : IF F6$(20)="Z"THEN J2=C3-1 : J3=J2+1 : CONVERT STR(D$(),217,1)TO J1 : STR(D$(),251,3)=STR(D$(),105) : FOR J9=1TO J1 : J2=J2+1 : D2$=STR(D$(),248+3*J9) : MAT SEARCHC8$,=D2$TO D1$STEP 3 : IF D1$>HEX(0000)THEN 1570 1560 GOSUB '38(76,D2$) : GOTO 1650 1570 J6=(VAL(D1$,2)+2)/3 : LIMITS T#J6,C1$,D6,J,D7,J : IF J=2THEN 1580 : CONVERT J9TO E$,(#) : GOSUB '38(77,E$) : GOTO 1650 1580 D7$=C1$ : GOSUB 1680 : IF J9=1THEN GOSUB 1690 : ELSE GOSUB 1710 : NEXT J9 : FOR J9=0TO 15 : D7$=D7$(J9+1) : IF D7$=" "THEN 1630 : J2=J2+1 : D8$=D7$OR ALL(20) : LIMITS T#C7,D8$,D6,J,J,J : IF J=2THEN 1600 : GOSUB '38(78,D8$) : GOTO 1650 1600 DATA LOAD DA T#C7,(D6)D$() : D2$=STR(D$(),105) : MAT SEARCHC8$,=D2$TO D1$STEP 3 : IF D1$>HEX(0000)THEN 1610 : GOTO 1560 1610 J6=(VAL(D1$,2)+2)/3 : LIMITS T#J6,D7$,D6,J,D7,J : IF J=2THEN 1620 : GOSUB '38(79,D7$) : GOTO 1650 1620 GOSUB 1680 : GOSUB 1690 : GOSUB 1730 : GOTO 1640 1630 J9=15 1640 NEXT J9 : C3=1 : GOTO 1670 1650 J9=15 : NEXT J9 1660 J9=-1 1670 RETURN 1680 E1$(J2)=STR(D7$,,8)&BIN(J6)&BIN(J3,2)&STR(D$(),403,1)&STR(D$(),405,42)&BI N(D6,2) : RETURN 1690 A=VAL(STR(E1$(J2),50)) : B=VAL(STR(E1$(J2),51)) : UNPACK(####)STR(E1$(J2),13)TO Q : STR(E1$(J2),13,2)=BIN(Q,2) : GOSUB 1700 : RETURN 1700 S=(D7-2)/VAL(STR(E1$(J2),43),2) : STR(E1$(J2),46,2)=BIN(S,2) : S=S-VAL(STR(E1$(J2),45)) : STR(E1$(J2),19,2)=BIN(MIN(S*B/A,VAL(STR(E1$(J2),48),2)),2) : RETURN 1710 A=VAL(STR(E1$(J2),50)) : B=VAL(STR(E1$(J2),51)) : STR(E1$(J2),12,1)=HEX(00) : STR(E1$(J2),13,2)=STR(E1$(J3),13) : GOSUB 1720 : RETURN 1720 D1$=BIN((D7-2)/VAL(STR(E1$(J2),43),2),2) : S=VAL(D1$,2) : STR(E1$(J2),45,5)=HEX(00)&D1$&BIN(S*B/A,2) : STR(E1$(J2),19,2)=STR(E1$(J2),48) : RETURN 1730 STR(E1$(J2),52,2)=STR(E1$(VAL(STR(E1$(J2),10),2)),52,2) : STR(E1$(J2),13,2)=STR(E1$(VAL(STR(E1$(J2),10),2)),13,2) : RETURN 3699 ON ERRORE1$,E2$GOTO 3700 3700 DEFFN'31 : E$="IDS2PU07" : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000, : STOP "ERROR"