[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