Utility to move machine code from one location to another.
Content
Source Code
1 REM SAVE "code mover": REM © by Chuck Dawson, 1985; ALL RIGHTS RESERVED
2 REM 1.LOAD CODE TO BE MOVE 2.RUN PROGRAM(IT TAKES A WHILE) 3. SAVE CODE TO TAPE FROM NEW LOCATION
10 INPUT "Enter current starting address ";A1
20 INPUT "Enter new starting address ";A2
30 INPUT "Enter length of code ";L
35 PRINT AT 9,6;"# OF BYTES PROCESSED"
40 DIM A(26): RESTORE : FOR I=1 TO 26: READ X: LET A(I)=X: NEXT I
50 DIM B(8): FOR I=1 TO 8: READ X: LET B(I)=X: NEXT I
60 FOR I=A1 TO A1+L
65 IF PEEK I=237 THEN GO TO 2000
70 FOR J=1 TO 26
90 IF PEEK I=A(J) THEN GO TO 1000
100 NEXT J
140 PRINT AT 10,14;I-A1: NEXT I
150 FOR I=0 TO L-1: POKE A2+I,PEEK (A1+I): PRINT AT 10,14;I;" ": NEXT I: STOP
160 DATA 1,17,33,34,42,49,50,58,194,195,196,202,204,205,210,212,218,220,226,228,234,236,242,244,250,252,67,75,83,91,99,107,115,123
1000 LET ADC=PEEK (I+1)+256*PEEK (I+2)
1010 IF ADC<A1 OR ADC>(A1+L) THEN GO TO 140
1015 LET ADC=ADC-A1+A2
1020 POKE I+2,INT (ADC/256): POKE I+1,ADC-256*INT (ADC/256): LET I=I+2: GO TO 140
2000 LET I=I+1: FOR J=1 TO 8
2010 IF PEEK I=B(J) THEN GO TO 1000
2020 NEXT J: GO TO 140