By Robert Sprowson

Originally published in EUG #49

This file describes the program Relocn which moves a given file down in memory after it has been loaded so that it can run where the DFS workspace used to be.

The manual is (C)1997 SPROW and software is (C)1996 SPROW.


At the BASIC prompt, type CHAIN"U.RELOCN" or whatever you've saved it as.

The program will pose some rather blunt questions; the answers to which should be as follows:

  1. Assemble at
    This is where the final, resulting file will be loaded. For a DFS system, it should therefore be above &1900 on a BBC B or &1B00 on an Econet machine.
  2. Filename to relocate
    This is the place where the source file is.
  3. Execution address
    You'll need to find out where this is from the source file. After the program has been relocated this is the address that will be jumped to.
  4. Relocation address
    This is where the source file will be shifted down to. So a file from the cassette filing system might move to &E00.

Example session

      *OPT 1,2
      *CAT               and you'll see something like
      Myfile             0F       00000E00    00001234    00000F99
where  'assemble at' might be &1E00
'filename' is "myfile"
'execution address' is &1234
'relocation address' is &0E00

So as a diagram:

   before                  during                  after
   ---------------&8000    ---------------&8000    ---------------&8000
   screen mem              screen mem              screen mem
   ---------------&7C00    ---------------&7C00    ---------------&7C00
   spare space             spare space             spare space
                           spare space             ---------------&1D99
   ---------------&1900    ---------------&1900    myfile
   DFS workspace           DFS workspace          
   ---------------&0E00    ---------------&0E00    ---------------&0E00

Known Problems/Future Enhancements

No known problems.


v1.00  Original version required for some TAPE -> DISK transfers.