There are some steps you can take to remove the traces of an installed
Option ROM from RAM, which work for all option ROMs as far as I know.

There is a file in the M100SIG that outlines this but I could not find it
this morning. If I do I will reply back identifying the file.

Anyhow this is what REX and REX# and REXCPM do:

1)  Initialize the hook table.  The hook table is a set of addresses used
by RST 7 calls in M100/T200/NEC.  The addresses are "jump-to" vectors that
allow software to hook into specific parts of the operating system.  There
are 2 "defaults" depending on the actual hook itself.  It is pretty
straightforward to write some machine code to reset the hook table to
nominal.  BASIC won't do it because you need full control of the machine to
cleanly change the hooks table.

2)  You want to remove any "trigger files" like TS-DOS(.BA) from RAM.  You
can do this manually, or you could write some machine code to search for
the trigger file names in the directory, and delete the files.   This isn't
"super easy" because it amounts to de-installation of a file from RAM,
which means you need to call some specific ROM routines to adjust memory
pointers etc.

3)  The M100 main ROM always copies the 8 bytes at 0x0040-0x0047 in the
Option ROM to upper RAM starting at 0xFAA4.  T200 is 0xF4D3, NEC is
0xF991.  This region of memory should be reset to nominal, which is 8 bytes
of 00.

4) Reset the upper RAM area used by Option ROMs to hook in.  On power up,
the M100 copies some software from the main ROM to upper RAM. Some Option
ROMs install their own code there when they install themselves.
in M100, you need to copy 36 bytes from 0x036F to 0xF602
in T200, you need to copy 42 bytes from 0x0372 to 0xEEC8
in NEC, you need to copy 42 bytes from 0x0440 to 0xF590


I think that's it.  I imagine what would be useful for manual rom switchers
is to have a little utility that you can run that "cleans out" the Option
ROM.

Reply via email to