[Coco] Is the 6309 worth it?

L. Curtis Boyle curtisboyle at sasktel.net
Wed Dec 6 18:07:15 EST 2006


On Wed, 06 Dec 2006 15:50:21 -0600, Robert Gault  
<robert.gault at worldnet.att.net> wrote:

> There is no reason why Disk Basic could not be made to run in 6309
> native mode. The main problem is providing backwards compatibility for
> all Disk Basic programs.
>
> The gotcha with native mode is the difference in the size of the stack
> during interrupts. The Disk Basic NMI service routine must be patched.
> There may be others but I can't think of any. Since many programs
> contain their own disk routines and don't use the ROMs, each of these
> programs would need patching to run in 6309 native mode.

     Oh, believe, I am VERY familiar with that. The first version of  
NitrOS9 (anybody remember 1.00?) was basically just getting everything to  
use the proper stack offsets, with a few TFM's thrown in here or there.  
That took the longest time out of any of the development of NitrOS9  
(disassembling all OS9 modules, figuring out the source for stack offsets,  
and changing them), including Alan's rewriting of Grfdrv/Windint. Took me  
and Bill (and Wes Gale, to a lesser extent) a couple of months. I still  
clearly remember the first day (it was an evening at work, where the Coco  
3 used to run the whole show) we actually got the Coco to boot all the way  
to a shell prompt in native mode... Woo hoo! Still had more patches for  
specific drivers, and some "special" programs (Home Publisher being one),  
but we actually got it running.
>
> In creating 6309 patches for the ROMs and writing EDTASM6309, I chose
> compatibility over speed and stuck with the 6309 emulation mode.
>
> The best way in Disk Basic to use the 6309 native mode (in my opinion)
> is to incorporate switching into programs. The author could run in 6309
> native mode, switch as needed for disk I/O to emulation mode, and exit
> the program in emulation mode. This takes just several bytes of code so
> is not an inconvenience. It is completely analogous to programs that
> switched to the full fast mode on the Coco1. It works fine (even if you
> loose video) as long as you slow down after doing your task.
>
     This would be the most compatible, and also the most effort if you  
have existing programs. On the other hand, patching RSDOS for native mode  
(maybe it was Sock, and not you who did it... I know somebody has) for  
those who run BASIC programs is a nice little touch, and still remains  
compatible for most BASIC code.


-- 
L. Curtis Boyle



More information about the Coco mailing list