This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
Entry name:
Renumber Program
|
Publisher/Developer:
BELLCOM - Public Domain Library (Software library) |
|
|
-
Entry name:Renumber Program
-
Category:Programming utilities
-
Publisher/Developer:BELLCOM - Public Domain Library
Listing 1
26900REM 26910REM 26930REMENTERED 26940REMGOTO27000 27000A=FRE(X)/13:DIMLN1(A),LN2(A) 27020V1=1:V10=10:V16=16:V100=100:V256=256:V2=2:V3=3:V4=4:OIF=7:V7=OIF 27040BEG=PEEK(137)*V256+PEEK(136) 27050PRINT"ENTERSTARTINGLINENUMBER"; 27060INPUTSTART 27070PRINT"ENTERINCREMENT";:INPUTINC 27080ADD=BEG 27090LEN=PEEK(ADD+V2) 27100LNUM=PEEK(ADD)+PEEK(ADD+V1)*V256 27110IFLNUM>25000THEN27250 27120CNUM=START+COUNT*INC 27130LN1(COUNT)=LNUM 27140LN2(COUNT)=CNUM 27150COUNT=COUNT+V1 27160POKEADD+V1,INT(CNUM/V256) 27170POKEADD,CNUM-INT(CNUM/V256)*V256 27180ADD=ADD+LEN 27190GOTO27090 27250LOC=BEG 27260MLT=0:IFPEEK(LOC+V2)>PEEK(LOC+V3)THENMLT=V1 27262LINE=PEEK(LOC)+PEEK(LOC+1)*256:IFLINE>25000THEN?:?"":STOP 27270OPC=PEEK(LOC+V4) 27280IFOPC=OIFTHEN27400 27290PONT=LOC+V4:GOSUB27900 27300IFMLT=0THENLOC=LOC+PEEK(LOC+V2):GOTO27260 27310MT=LOC+PEEK(LOC+V3) 27320OPC=PEEK(MT+V1) 27330IFOPC=OIFTHEN27600 27340PONT=MT+V1:GOSUB27900 27350MT=LOC+PEEK(MT):IFMT<LOC+PEEK(LOC+V2)THEN27320 27360LOC=MT:GOTO27260 27400IFMLT=0THENCHNPT=LOC+PEEK(LOC+V2)-7:GOSUB31260:GOTO27300 27420A=LOC+PEEK(LOC+V3):IFPEEK(A)<>20THEN27430 27425IFPEEK(A-V1)=27ANDPEEK(A-V7)<>14THEN27430 27427CHNPT=A-V7:GOSUB31260:GOTO27300 27430GOTO27300 27600A=LOC+PEEK(MT)-V1 27611IFPEEK(A)<>20ANDPEEK(A)<>22THEN27620 27612IFPEEK(A-V1)=27ANDPEEK(A-V7)<>14THEN27620 27613CHNPT=A-6:GOSUB31260:GOTO27350 27620MT=LOC+PEEK(MT):GOTO27340 27850?"MULTIFSCREWEDUP":STOP 27900OPC=PEEK(PONT) 27905IFOPC=10OROPC=12OROPC=13OROPC=35THEN27980 27910IFOPC<>30THENRETURN 27915PONT=PONT+V1 27925OPC=PEEK(PONT):IFOPC=23OROPC=24THENPONT=PONT+V1:GOTO27950 27930IFOPC=14THENPONT=PONT+7:GOTO27925 27935IFOPC=15THENPONT=PONT+PEEK(PONT+V1)+V1:GOTO27925 27940PONT=PONT+V1:GOTO27925 27950OPC=PEEK(PONT):IFOPC=14THEN27960 27952GOSUB31300 27954OPC=PEEK(PONT):IFOPC=20OROPC=22THENRETURN 27955IFOPC=18THENPONT=PONT+V1:GOTO27950 27956IFOPC=14THENPONT=PONT+7:GOTO27954 27957IFOPC=15THENPONT=PONT+PEEK(PONT+V1)+V1:GOTO27954 27958PONT=PONT+V1:GOTO27954 27960A=PEEK(PONT+7):IFA=20ORA=22THENCHNPT=PONT+V1:GOTO31260 27965IFA=18THENCHNPT=PONT+V1:GOSUB31260:PONT=PONT+8:GOTO27950 27970GOTO27952 27980IFPEEK(PONT+V1)<>14THENGOTO31300 27982IFPEEK(PONT+8)<>20ANDPEEK(PONT+8)<>22THEN31300 27985CHNPT=PONT+V2:GOTO31260 28000NUMBER=0:X=PEEK(SADD) 28200M=0.1 28300FORY=0TO(X-64)*2 28400M=M*V10 28500NEXTY 28600FORX=SADD+V1TOSADD+5 28700N=PEEK(X):P=N 28800N=INT(N/V16) 28900N=N*V10+(P-N*V16) 29000NUMBER=NUMBER+N*M 29100M=M/V100 29200NEXTX 29300RETURN 30000FORY=1TO5 30600Z=V1 30700IFNUMBER1>99THENZ=V100 30800IFNUMBER1>10000THENZ=10000 30850IFY=V1THENPOKEADDR,64+CLOG(Z)/2:IFZ=0THENPOKEADDR,64 30900DIG=INT(NUMBER1/Z) 31000NUMBER1=NUMBER1-DIG*Z 31050IFDIG<0.1THENDIG=0 31060DIG1=INT(DIG/V10) 31080POKEADDR+Y,DIG1*V16+(DIG-DIG1*V10) 31100NEXTY 31200RETURN 31250REM 31260SADD=CHNPT:ADDR=CHNPT:GOSUB28000 31270FORA=0TOCOUNT:IFLN1(A)<>NUMBERTHENNEXTA:GOTO31285 31280NUMBER1=LN2(A):GOSUB30000:RETURN 31285?"NOLINE";NUMBER;"INLINE";LINE:RETURN 31300?"GOTOVARIABLEIN";LINE:RETURN 31310END
References
Listing downloads
Copyright holder
