[Coco] Looking for I/O specs for DECB,Nitros,.....

Brett K Heath hcmth019 at csun.edu
Mon May 1 21:16:16 EDT 2006

Hi All,

Some of you may remember that I have on occasion made noises about
"...working on a port of Laxen & Perry's f83 to the coco". Without going
into gory details about why this project has been on hold (again) for the
past several years (again) let me just say that a couple of weeks ago I
managed to reassemble the components of my "development system"[1] and
have started looking at it again.

I still have to clean up and test a few things in the compiler source
(mostly having to do with position independence), but the meta cross
compiler, cross assembler and most of the 6809 kernel seem to be working.

The looming obstacle is that, other than calls to the Basic rom's CIN and
COUT routines, I have no information about the calling conventions imposed
by any of the DOS's used on the coco. In and of itself this isn't
particularly upsetting, but it does make it difficult to write the
OS/Hardware specific code needed to make it useful on these systems;-)

It gets worse, part of the design goal is it be able to deal directly with
the disk hardware (making it possible to fix corrupted boot disks etc[2]).
Again, lack of information about the calling conventions and functions
provided by various disk subsystems makes writing drivers something of a

So what I'm asking for is pointers to/copies of technical docs that
contain this info for any OS, Disk controller, or whatever that is used
with the coco. I understand that some of this may be proprietary info and
am not asking anyone to violate confidentiality or copyright, but some
information is considerably more useful than no information.

For those of you unfamiliar with f83:

F83 is an implementation of forth that (nominally) complied with the
Forth-83 Standard. It was written by Henry Laxen and Michael Perry and
released under very liberal terms (basically you had to give them credit
for their code) as "No Visible Support Software" (I love that
phrase) for CP/M 80, CP/M 68K, and MSDOS 1 (there may be others).

As distributed it included complete source in a form that could be used
by the system to recompile itself.

Out of the box it included the following functionality, all available from
the command line without leaving forth.

Forth Interpreter/Compiler
Assembler with control structures (If, Else, Begin, While, Until, Repeat)
Cooperative multitasking (that worked on an 8080 running CP/M!)
Screen Editor
Forth debugger/single stepper, with breakpoints and stack display.
Some handy utilities;
  Hex dump (disk or mem)
  Source code lookup ("view <command> will put you in the editor on the
     screen where <command> is defined)
  Forth decompiler ("see <command>" displays the current definition of

And it did all that (and more) with a footprint of around 16K on an 8080.

This is getting long so I'll just repeat that any info I can get on OS or
hardware interfaces (including char I/O) would be most helpful.


Brett K. Heath

[1] My development system is basically f83 running under dosemu on a linux
box, with Jeff Vavasours CoCo 2 Emulator running under dosemu as a test

[2] I have actually done this under CP/M, I had incorporated the bios from
the disk controller board into my f83 (thanks to Morrow Designs for
including source listing with their products) and managed to keep a flakey
system going for an extra 6 months or so using forth as a repair tool,
unfortunately I didn't manage to forth burned into eeprom before the
system died completely.

More information about the Coco mailing list