[Coco] Preliminary Support for SDC in HDBDOS
William Astle
lost at l-w.ca
Wed Nov 26 10:45:53 EST 2014
On 14-11-26 05:08 AM, Brett Gordon wrote:
> How about if stick just the BASIC parsing routines in the top 8k.
> These are the routines that are more or less meant to be run in direct
> mode, like DRIVE,DIR,DW, etc... Things that might be rarely used by
> most existing BAS and BIN programs don't use much. Much BIN programs
> I use, mostly games, fart out and need a cold boot anyway after
> quitting. Let the application overwrite the top 8k...we don't need it
> after LOADing anyway ?
That's probably reasonable. Code that's unlikely to be called except
under the control of Basic or something that knows specifically what
it's doing would be the safest thing. So parsing extra Basic statements
or things like hooks to handle drivewire channels could be in the high
portion because those would only be used by something that is explicitly
designed for them, as long as the actual ram vector handlers and other
hooks are in the low 8K and control only bounces up to the high 8K when
the new feature is in use. You wouldn't want the "console out" vector to
bounce to the high 8K by default.
> Am I correct in saying (at least on a CoCo3) there's no way to run the
> Top 8k in RAM ? That means you wouldn't be able to run a 16k HDBDOS
> from anything but ROM ? This might hurt any generalized HDB
> functionality we try to extend (like DW routines, or a new commodore
> style DIR that works with Louis's Cursed ). Also, any of the existing
> utilities that dynamically load HDBDOS will break?
Well, there is an 8K block that is unused by the stock SECB ROM
($6E000..$6FFFF I believe) which could potentially be appropriated for
the purpose. Then instead of switching to ROM mode you would be
switching MMU blocks. That would, however, lead to incompatibilities
with anything that uses that memory block for some purpose, and there
are programs out there that do. The coding to support it is not quite so
simple as the code to detect ROM mode but it can be made to work.
More information about the Coco
mailing list