100 REM SAVE"0:RELOCATE",8 105 REM ** RTE/85 - ALLOWS QUICK CHANGE OF PRG LOAD ADDRESS ** 110 : 115 Z$=CHR$(0) 120 PRINT "DRIVE TYPE:" 125 INPUT "1)1541/2031, 2)4040, 3)8050/8250";D: IF D<1 OR D>3 THEN 125 130 IF D=1 THEN DL=144: DH=2: DI=4: DT=18: BL=0: BH=3: REM 1541/2031 135 IF D=2 THEN DL=150: DH=67: DI=4: DT=18: BL=0: BH=17: REM 2040/4040 140 IF D=3 THEN DL=96: DH=67: DI=8: DT=39: BL=0: BH=17: REM 8050/8250 145 : 150 INPUT "DRIVE #, FILENAME ";DR,F$: F$=STR$(DR)+":"+F$ 155 INPUT "NEW START ADDRESS (DECIMAL) ";SA: SH%=SA/256: SL=SA-256*SH% 160 OPEN 15,8,15: OPEN 8,8,8,(F$): GET#8,A$: IF ST THEN CLOSE8: STOP 165 PRINT#15,"M-R"CHR$(DL)CHR$(DH): GET#15,S$: REM SECTOR 170 PRINT#15,"M-R"CHR$(DL+DI)CHR$(DH): GET#15,I$: REM INDEX 175 S=ASC(S$+Z$): I=ASC(I$+Z$)+1 180 CLOSE 8: OPEN 8,8,8,"#0" 185 PRINT#15,"U1:"8;DR;DT;S: REM READ IN DIRECTORY TRACK/SECTOR 190 PRINT#15,"M-R"CHR$(BL+I)CHR$(BH)CHR$(2): REM GET 1ST DATA BLOCK PTR 195 GET#15,T$,S$: T=ASC(T$+Z$): S=ASC(S$+Z$) 200 PRINT#15,"U1:"8;DR;T;S: REM GET FIRST DATA BLOCK 205 PRINT#15,"M-W"CHR$(BL+2)CHR$(BH)CHR$(2)CHR$(SL)CHR$(SH%) 210 PRINT#15,"U2:"8;DR;T;S: REM WRITE BLOCK BACK 215 CLOSE 8: CLOSE 15 220 PRINT "** ADDRESS CHANGED **" 225 END