Date : Mon, 27 Nov 2006 19:27:08 -0000
From : dl.harper@... (David Harper)
Subject: More sideways RAM questions
Chris Johns wrote:
>> The Master Compact SR commands allow for a ROM image to not only be
>> loaded, but "initialised" once done. By adding "I" to "Q" SRLOAD will do
>> the necessary MOS init to make the ROM available without using
>> CTRL+BREAK.
>> I believe is done by changing a byte in the MOS workspace, but I can't
>> remember which off hand.
>
> The SJ *RLOAD also initialises the loaded ROM (which avoids the need for a
> break/ctrl break). I'm not sure how it does it, but it would be nice to
> know, as it would make my ROM loads neater.
It's worth remembering that this initialization (whether by this method, or
the "I" on the Compact, or just tweaking the system RAM) does not work with
all SW programs.
All it does is to write the "ROM type" value (the value at location &8006)
to the appropriate byte in a table located at the address given by OSBYTE
&AA.
The result of doing this is that SW memory service calls are now sent to the
bank, so the program receives *-commands, for instance.
Some SW programs, however, require service calls that are only issued on
<Break> (or in some case, only on <Ctrl-Break>). Actual ROM images are often
like this because they have to do things like claim private workspace. If a
program needs such calls then it cannot be made to work by this simple form
of initialization (and might easily crash the system if you try).
David Harper