Code Mover

Developer(s): Chuck Dawson
Date: 1985
Type: Program
Platform(s): TS 2068

Utility to move machine code from one location to another.

Content

Appears On

This tape is a compilation of programs from user group members (Robert Burton, David Baulch, Frank Bouldin, Chuck Dawson, Ryan

Related Products

Related Articles

Related Content

Image Gallery

Code Mover

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
Scroll to Top