File RESEQ.BA (BASIC source file)

Directory of image this file is from
This file as a plain text file

1000 DIM L$(80),F$(1),C$(1),N$(16)
1010 DIM L2$(80)
1020 DIM N(350)
1030 LET F$=CHR$(28)
1040 PRINT "FILE";
1050 INPUT N$
1060 PRINT "START,STEP";
1070 INPUT S1,S
1080 LET S1=INT(ABS(S1))
1090 LET S=INT(ABS(S))
1100 LET T=0
1110 LET N2=0
1120 FILE #1:N$
1130 LET I=1
1140 INPUT #1:L$
1150 IFEND #1 THEN 1320
1160 LET L=LEN(L$)
1170 GOSUB 1980
1180 IF N1>0 THEN 1220
1190 PRINT "NO LINE NUMBER"
1200 PRINT L$
1210 GO TO 1130
1220 IF N1>N2 THEN 1260
1230 PRINT "OUT OF SEQUENCE"
1240 PRINT L$
1250 GO TO 1130
1260 LET N2=N1
1270 LET T=T+1
1280 LET N(T)=N1
1290 IF T<350 THEN 1130
1300 PRINT "TOO MANY LINES"
1310 STOP
1320 RESTORE #1
1330 FILEV #2:N$
1340 LET N2=S1
1350 INPUT #1: L$
1360 IFEND #1 THEN 1730
1370 LET I=1
1380 LET L=LEN(L$)
1390 GOSUB 1980
1400 LET L2$=STR$(N2)
1410 PRINT #2: L2$;
1420 LET L$=SEG$(L$,I,80)
1430 LET N2=N2+S
1440 LET F=0
1450 LET D=POS(L$,F$,1) \ LET P=D
1460 IF D=0 THEN 1490
1470 LET L2$=SEG$(L$,P+1,80)
1480 LET L$=SEG$(L$,1,P-1)
1490 LET I=POS(L$,"GOTO",1)+4
1500 IF I>4 THEN 1750
1510 LET I=POS(L$,"GO TO",1)+5
1520 IF I>5 THEN 1750
1530 LET I=POS(L$,"THEN",1)+4
1540 IF I>4 THEN 1750
1550 LET I=POS(L$,"GOSUB",1)+5
1560 IF I>5 THEN 1750
1570 LET I=POS(L$,"GO SUB",1)+6
1580 IF I>6 THEN 1750
1590 IF F=0 THEN 1610
1600 PRINT #2:F$;
1610 PRINT #2:L$;
1620 LET F=F+1
1630 IF D>0 THEN 1660
1640 PRINT #2:
1650 GO TO 1350
1660 LET D=POS(L2$,F$,1) \ LET P=D
1670 IF D>0 THEN 1700
1680 LET L$=L2$
1690 GO TO 1490
1700 LET L$=SEG$(L2$,1,P-1)
1710 LET L2$=SEG$(L2$,P+1,80)
1720 GO TO 1490
1730 CLOSE #2
1740 STOP
1750 LET L=LEN(L$)
1760 GOSUB 1920
1770 IF C=32 THEN 1760
1780 IF C<0 THEN 1890
1790 LET I=I-1
1800 LET P=I
1810 GOSUB 1980
1820 IF N1=0 THEN 1890
1830 FOR J=1 TO T
1840 IF N1<>N(J) THEN 1880
1850 LET Q$=STR$(J*S-S+S1)
1860 LET L$=SEG$(L$,1,P-1)&Q$
1870 GO TO 1590
1880 NEXT J
1890 PRINT "BAD REFERENCE"
1900 PRINT L$
1910 GO TO 1590
1920 IF I<=L THEN 1950
1930 LET C=-1
1940 RETURN
1950 LET C=ASC(SEG$(L$,I,I))
1960 LET I=I+1
1970 RETURN
1980 LET N1=0
1990 GOSUB 1920
2000 IF C<48 THEN 2040
2010 IF C>57 THEN 2040
2020 LET N1=N1*10+C-48
2030 GO TO 1990
2040 IF C<0 THEN 2060
2050 LET I=I-1
2060 RETURN
2070 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search