[Coco] origins of OS-9

Gene Heskett gene.heskett at verizon.net
Fri Mar 5 21:37:16 EST 2010


On Friday 05 March 2010, Stephen H. Fischer wrote:
>Hi,
>
>I seem to remember that there was something before OS-9 for the 6800.
>
The 6800 was never on my radar at all Stephen.  It was lost in the glare of 
the Z-80 at the time, however after carving out enough code to run a 
transmitter with it in about that time frame, I came to the conclusion that 
the Z-80 was only slightly less drain bamaged than the original 6502.

Warning, long, & rambling, dissertation on cpu architectures follows.

Several cpu architectures I've dealt with and tried to code on that struck me 
as potentially good, but then remained in what I would call an undeveloped 
state by the makers:

The RCA 1802.  A plethora of 16, 16 bit registers, any one of which you could 
assign to be the program counter in a one byte instruction, so you could 
bypass the subroutine call and return if you liked, by simply writing re-
entrant code, and leaving a register pointing at its entrance/exit address.
It found heavy use in the space and nuclear industry because as RCA's cmos 
showcase, it was naturally rad-hard.  Its git, the 1805, has found many 
sockets over the years, but shares the 1802's pair of Achilles Heels in that 
it had no call and return from subroutine facility other than the short 
routines in the programmers instruction manual, and all data moves were both 
limited to 8 bits per instruction, and had to be loaded into the accumulator 
and then placed in the high or low byte of the chosen 16 bit registers by 
separate instructions.  So it took 4 instructions to load just one of those 
16 bit registers.  Oh, and it had built in dma facilities, interrupt driven.  
I still have both audio cart & paper copies, and some of the schematics, of 
the machine I built to do a job better than humans could do it, at KRCR in 
Redding CA.  That code, and that machine were still running 15 years after 
I'd gone on down the road, driven by a bitch that has since left, not capable 
of recognizing the pot at the end of the rainbow if she got a foot stuck in 
it.

The Z-80 was my next target.  It had calls and returns ok, but if you wanted 
to have it conditional, the branch had to be within the same memory page of a 
signed 8 bit jump.  Zilog's support was minimal, and it was buggy, so code 
would run today, but not tonight.  What can I say.  Thumbs down.  The ATX kit 
I built and installed was pulled out and a dumb remote control put back in by 
the next 'engineer', who probably wouldn't know a cpu from a cup if he 
spilled it.

Next up was the TI-9900, an unusual critter if there ever was one, backed by 
some of the best programming brains in the business at the time.  Unusual 
because it used pieces of system ram as an image of what a cpu looked like.  
Having only an extremely elementary program execution unit, even its program 
counter was a 16 bit wide memory location.  Need to do a subroutine?  Reload 
the execution unit with a new memory address, which you had presumably 
preloaded with the contents of the 'registers' needed to do that function.  
It was very very capable and I believe they even made a pass at a 32 bit 
version of it, but its execution speed was limited by the speeds of the dram 
chips available then, typically 250ns stuff.  So it got left behind 
eventually.

Almost by accident, and after I had bought a TI99/4A, intending to build me a 
real computer, I ran into the cost of the first step, the expansion box.  
IMO, not very realistically priced for what it was.  An alky, who was 
generally a good friend, was working for the shack back then and showed me 
the old grey ghost, with its 6809.  I got one, and discovered the 6809, and 
nearly everything I felt I needed in a cpu was there except dma.  But the way 
the memory was shared between the cpu and the display made most of that moot.  
You could actually get stuff done!  Helped in the early days by Jake 
Commander and his Chrmakey editor that with a bit of programming trickery, 
lived above the disk basic roms.  Shortly after that, the alky intro'ed me to 
os9 level 1.00.  Case closed, I had found both the machine and the os that 
let me do those big things with a little computer that I could actually 
afford.

I wrote, in Basic09, a much better 'E-DISK' than GVG was selling at the time 
for $20,000.  That machine and that program were in daily use, several times 
a day yet when I retired in 2002, but its days were numbered because the GVG 
switcher it supported had parts that were by then made out of pure 
unobtainium, and I was busy putting newer devices it it to keep it going.  
But I was the only one able to do that, so it got replaced, and they gave me 
that machine to take home.  But in today's times, a computer and a program 
that are in steady use for 15+ years, says as much for the platform as it 
does for the programmer.

Sure, eventually I got an Amiga because we were using them at the tv station 
and it did my online stuff, serving as a bridge between the coco and all that 
talent out there on the web.  And eventually the amiga was replaced by an x86 
box running Red Hat 5.1.  And linux is still serving as the bridge between 
the coco3 and the net, but the coco3 is now relegated to a computer hutch in 
the basement, with its monitor turned off 90% of the time, but running and 
available to this machine right now.  2 shells are running with minicom on 
this end.

>FLEX had been in existence for the 6800 for some time and perhaps something
>else.

I looked at that, about '87 or '88 I think. Single tasking, so I turned away, 
too much like dos.

>I think that I have the 68 micro journals starting just before OS-9 was
>announced in an ad.
>
>Look in the scanned copies in the Archive.
>
>Have these issues been looked at by anyone?
>
>SHF
>
And that's basically how I came to be here.  And its been one heck of a ride.

Thanks for reading.  ;-)

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)

We are sorry.  We cannot complete your call as dialed.  Please check
the number and dial again or ask your operator for assistance.

This is a recording.



More information about the Coco mailing list