[Coco] What would a CoCo successor have to have as a minimum?

jdaggett at gate.net jdaggett at gate.net
Tue Nov 23 13:20:32 EST 2010


On 23 Nov 2010 at 0:25, Roger Merchberger wrote:

> Would it be easier if the "expanded 6809" had an expanded data buss to 
> 16 bits, such that: a) the CPU could just say "Grab Y and go" when it 
> needs a 16-bit register, and b) as far as code goes, if one were to 
> recompile / reassemble programs to realign 8-bit data on the 16-bit buss
> (assuming 0 for an MSByte, would it be easier to design if the 8-bit 
> realigned data was just assumed to be 0x00** (where ** is the 8-bit 
> data) but reads could still be had in a single operation?

Looking at the Motorola Patent for the Fast Interrupt Method, what sticks out in the block 
diagram (Fig. #2) is that the internal bus structures of the MPU is far more complex than one 
would think. There are three different bus switches and the data in port is demuxed into one 
of two 8 bit busses to feed either the high or low order of the 16 bit registers as well the four 8 
bit registers. All data out is funneled through one and only one of the two busses. This would 
make sense for an 8 bit processor. 

The 6809 has both 8 bit and 16 bit load and store instructions. Internally these instructions 
move data around on two 8 bit busses. They are clocked in and out via a single 8 bit port. 
Taking that diagram into consideration it would not be rather difficult to move 16 bit transfers 
out two 8 bit busses. The odd/even address issue then arises but that can be handled similar 
to the 68k processor.  lastly a 16 bit ALU is not difficult to do. It would need to be there for 16 
bit add and subtract opcodes. 

The one item that I would like to see is the Correction Factor circuit to be altered to allow for 
the DAA to work after a 8 bit subtraction opcode. The 6809 passes ACCA through a 
correction factor circuit that passes through the ALU and back to the ACCA register in one 
cycle. In logic the COrrection factor is real simple following addition. A bit more for following 
subtraction but not difficult. I know that addition of 2's compliment is equivalent to subtraction. 
In BCD math, that ends up beign an extra step.

In all it is practical to do a 16 bit data bus for the 6809 and essentially extend it more in the 
realm of a 16 bit processor. 

james



More information about the Coco mailing list