$Id: RomPatches,v 1.2 1996/10/10 22:33:45 james Exp $

Patching the OS ROM for the emulated filesystem
===============================================

The emulated filesystem works by intercepting calls to OSFILE and OSFSC
by inserting unused op-codes at the first instruction executed as part
of these routines.  (Basically we're looking at the locations to which
the OSFILEV and OSFSCV vectores point here.)

Given that you have your copy of the 1.2 OS ROM, in the pch directory
that will read that in, make the patches and write it out again.  You need
to make a copy of the ROM called "OS1.2p1.rom" before you start -- it's
this file that gets modified.

OSFILE is trapped by putting in the unused opcode 0x22 and OSFSC is trapped
with 0x02.  The addresses at which these op-codes are inserted are &f27d
and &f1b1 respectively.

If you want to run the emulator with a different ROM, you'll need to
set the locations in the program itself.  Everything *should* work OK once
those changes have been made -- if you do get it to work, let me know
the OS version and the addresses so that I can update the program.

Emulation of the filing system in this way is not too difficult, but
causes problems where it can't be sufficiently well integrated into the
OS.  In places the emulator will terminate because there's no way to
handle any given error properly (ie, as it would be handled by the OS).


Revision History
================

$Log: RomPatches,v $
Revision 1.2  1996/10/10 22:33:45  james
Updates for changed filing system trap values.

Revision 1.1  1996/09/21 19:14:32  james
Added new documenation files : doc/Configuration doc/DataXfer
doc/DiskEmulation doc/Keyboard doc/KnownBugs doc/MailingLists doc/Options
doc/RomPatches doc/WorkingSoftware

