[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