– Virtual Media

Listing of file='TRINFO.SRC;01' on disk='vmedia/chip_85-sector.ccvf'

	by Myron T. Steffy, Sun City, Arizona 9/1/82

This program was set up to utilize the  RAM  space  at  4000H
when it is  not  practical  to  move  your  favorite  machine
language routine to  that  area,  either  from  lack  of  the
source file or other reasons.   If  it  is  not  possible  to
operate the program directly from 4000H,  it  can  be  stored
in that location  and  moved  into  its  usual  running  spot
almost instantly with a variation of  'Reload'.   This  is  a
short routine which I originally used to  restore  a  display
to the screen from high memory.

Obviously when a machine language program is moved to  a  new
location,  all  of  the  addresses  will  be  wrong  and  the
routine unusable.  However  it  can  be  stored  in  RAM  and
recalled to its regular spot when needed.  'Reload'  will  do
just that but it is necessary that it be made a part  of  the
program that you wish  to  use.   To  do  this  we  will  put
'Reload' into the RAM area 4000H - 404AH.  The  PRG  file  in
question will then be loaded at  404BH;   it  cannot  operate
from that point but will simply be in storage  where  it  can
be recalled without re-loading it from a disc.

To save you a lot  of  calculation,  a  Basic  program  named
'Transfer' was written.  It picks up all the  data  it  needs
from the disc directory and figures  out  the  size  and  end
point of the new file.  It then loads your program  into  the
4000H area and saves the new combined file to disc.

To use this arrangement,  load  and  run  the  Basic  program
called 'TRANSF'.  It will in turn,  load  'RELOAD'  into  the
proper  area.   Then  you  will  have  to  insert  the   disc
containing the program to be moved, into the  default  drive.
'Trans' will then do the rest but will  pause  near  the  end
to allow you  to  substitute  another  disc  to  receive  the
combined file if you wish.

Here's where the Basic 8.79  users  have  an  advantage.   To
utilize this program or any other having its  origin  in  the
4000H area, you need 'ESCAPE P'.  We early  birds  with  6.78
Basic will have to use the 'ESCAPE ^' (user).  This  jump  is
programmed into 'Reload' and may be  used  immediately.   The
catch is that if you run any other program  that  sets  up  a
'User' jump, you will lose your re-entry to  4000H.   All  is
not lost, though.  If this happens, just 'Poke  33216,0'  and
'Poke 33217,64'.  This restores the jump address to 4000H.

We hope that someone will come along with a cheap  and  dirty
method of installing 'ESCAPE P' in the  older  logic  boards.
It can be done by replacing ROM chips UA-6 and  UA-7  but  we
understand that Tom Devlin  may  have  worked  out  something
else.  In the meantime,  you  will  have  to  struggle  along
with the one and only 'User' jump.