Listing of file='IDS2PP04' on disk='vmedia/701-2717B.wvd.zip'
# Sector 258, program filename = 'IDS2PP04'
1000 REM "IDS2PP04" - Release 2.1 - INT. PROG. GENERATOR-PT.3-CREATE PROGRAM
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: GOSUB '63("Checking generat","ed program for line number cross reference
and user exits"," ")
: SELECT PRINT 005
: MAT REDIM E3$(249)8
: E3$()=" "
: E2$(),F$()=ALL(00)
: M,N,Y=1
: STR(D$(),,8)=" "
: FOR I=E3+1TO E4-1
: DATA LOAD BA T#3,(I)E4$()
1080 MAT SEARCHE4$(),=HEX(A2A2)TO F9$
: IF F9$=HEX(0000)THEN 1182
: X=VAL(F9$,2)
: E$=STR(E4$(),X+2,8)
: STR(E4$(),X)=STR(E4$(),X+11)
: MAT SEARCHE3$(),=STR(E$,,8)TO F9$STEP 8
: IF F9$>HEX(0000)THEN 1170
: E3$(Y)=E$
: Y=Y+1
1170 DATA SAVE BA T#3,(I)E4$()
: GOTO 1080
1182 MAT SEARCHE4$(),="'75("TO F9$
: IF F9$=HEX(0000)THEN 1200
: A=VAL(F9$,2)
: MAT SEARCHE4$()<A,>,=HEX(A15423322C22)TO F9$
: STR(D$(),,8)=STR(E4$(),A+VAL(F9$,2)+5,8)
1200 MAT SEARCHE4$(),=HEX(9446)TO F9$
: IF F9$=HEX(0000)THEN 1390
: A=VAL(F9$,2)
: A,B=A+3+POS(STR(E4$(),A)=FF)
: F9$=STR(E4$(),3)
: $TRAN(F9$,HEX(32253226322732283229383338343835383638379095909690979098909
9))R
1260 IF STR(E4$(),B,1)<>HEX(FF)THEN 1330
: IF STR(E4$(),B+1,2)<>F9$THEN 1310
: STR(E4$(),B)=STR(E4$(),B+3)
: B=B+1
: GOTO 1260
1310 B=B+4
: GOTO 1260
1330 L=POS(STR(E4$(),A)=0D)
: IF STR(E4$(),A+L-2,1)<>","THEN 1350
: STR(E4$(),A+L-2)=STR(E4$(),A+L-1)
: GOTO 1330
1350 IF L=0OR POS(STR(E4$(),A,L)=FF)=0OR STR(E4$(),A-3,2)<>F9$THEN 1370
: STR(E4$(),A-4,1)=","
: STR(E4$(),A-3)=STR(E4$(),A)
1370 DATA SAVE BA T#3,(I)E4$()
1390 P=2
: Z=0
1410 Q=POS(STR(E4$(),P)=FF)
: IF POS(STR(E4$(),P,POS(STR(E4$(),P)=0D))=EB)>0THEN Z=1
: IF Q=0THEN 1570
: P=P+Q
: IF STR(E4$(),P-2,1)>HEX(20)OR Z=1THEN 1480
: F3$=STR(E4$(),P,2)
: GOTO 1410
1480 MAT SEARCHF$()<,N>,=STR(E4$(),P,2)TO F9$STEP 2
: Z=0
: IF F9$>HEX(0000)THEN 1540
: STR(F$(),N,2)=STR(E4$(),P)
: F9$=BIN(N,2)
: N=N+2
1540 STR(E2$(),VAL(F9$,2),2)=F3$
: IF N<2249THEN 1410
1570 Q=1
1580 MAT SEARCHE4$()<Q>,="E6$=F6$(54)"TO F9$
: IF F9$=HEX(0000)THEN 1630
: Q=VAL(F9$,2)+Q
: ADD(F$(2200+VAL(STR(E4$(),Q+13))),01)
: GOTO 1580
1630 NEXT I
: GOSUB '63("Compressing gene","rated program lines and sectors"," ")
: LOAD T#2,"IDS2PP03"1000,
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PP04"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"