MULTIPROCESSING FOR THE IMPOVERISHED Part 1: a 6809 Uniprocessor

Jecel Assumpcao Jr. jecel at merlintec.com
Tue Aug 6 15:22:55 CDT 2019


Ben wrote on Tue, 6 Aug 2019 13:47:59 -0600
> It was too bad the 6809 did not have a pin to indicate Instruction or 
> Data memory bank in use. That would of given a real unix system in the
> 8 bit world, as by then (late 70s) 64kb was proving just to small for
> any real use.

I added a circuit to generate such a signal in my 1983 children's
computer:

http://www.smalltalk.org.br/fotos/pegasus1.jpg

If I remember correctly, it only used half of a 74LS74. The notebook
with the circuit is a bit hard for me to get to right now.

It didn't work perfectly since it depended on there being a non memory
cycle between fetching the instruction bytes and the data access. And
that doesn't happen if you use the zero offset addressing mode. So I
just wrote my assembler to never generate that. Instead it used a five
bit offset with a value of zero. This wastes a byte and a clock cycle
but I thought it was worth it.

The extra signal was used to select between ROM and DRAM. This meant I
couldn't fetch data from ROM nor execute code from DRAM but since the
only program I was interested in was the Logo interpreter it seemed like
a reasonable design. I did have a Logo compiler planned, which would not
have worked with this.

> The 68000 was the only real 16/32 bit cpu out at time, but nobody could 
> afford it.

The 6809, and specially the 6809E were hardly cheap themselves. And
their prices stayed stable while the 68000's dropped quite a lot. By
late 1985 the difference was rather small.

And the 6847/6883 chipset was expensive too, at around $40 for these two
chips. I regretted using them as you can get a lot of TTLs for $40 and
have far nicer video than they gave you, specially if you didn't care
about the built in text modes.

-- Jecel


More information about the cctech mailing list