Msg: 1784 *Conference*

03-04-92 11:06:49

From: TRACY ALLEN

To : HARVEY CHRISLEY

Subj: REPLY TO MSG #1722 (SARDINE AND SUPERROM)

Dear Harv,
  A ROM trigger file is a file that has type 240d (F0h).  A file that has that
type is diplayed on the menu right after the built-in BASIC, TEXT, TELCOM,
etc., and it has no extension.  When you move the widebar cursor over a file
that has the type 240 and press ENTER, the computer immediately jumps
(M100,T102) to location 63012.  At 63012 are the instructions that disable the
interupts, switch to the option ROM, and and then jump to location zero (in the
option ROM).  There is no "file" as such in the computer.  The name on the menu
is just a "trigger" to get into the ROM.  Hence, "ROM trigger file".  
   
  ROM files can't be KILLed.  The approach taken by TS in its ROMs is to create
an actual file on the menu, one that can be KILLed.  The contents of the file
are usually the single instruction,  CALL63012 or something close to that.
There are lots of variations.  Many ROMs mess around with the actual set of
instructions at 63012.  A warm start restores those instructions to their
virgin state, but every warm start also checks for the presence of an option
ROM, and most option ROMs set themselves up to make a bunch of changes in high
memory at that time, including changes in the 63012 startup area.  Turning OFF
a ROM should reverse those changes.  Some TS ROMs detect when you KILL their
file off the menu.  Like in KILL"UR2".  The command to kill off the WRITE ROM
is CALL63012,0,1.  I don't have a SUPERROM myself, but I'm surprised that there
isn't something like that to deactivate it.
  
  I'm tempted to include someting like your code in the N2X machine language
program.  That is, it would be code that would scan the directoy and delete
(bit 7:=0) any ROM trigger files (type 240) it finds there.  But, in this
business, there might be some other ROM where that isn't a good way to go about
it!
  
  Thanks for your feedback! 
  -- Tracy :(eme):