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