[Coco] 6309 Weirdness ??
jdaggett at gate.net
jdaggett at gate.net
Thu May 17 18:16:11 EDT 2007
On 17 May 2007 at 10:28, Darren A. wrote:
> Okay, I am giving up on this one. Obviously, using the PC register in
> any of the new inter-register instructions is, to say the least,
> problematic. I think my documenation for these instructions will say
> something like:
>
> "Specifying the PC register as either the source or destination
> produces undefined results."
>
> I'm not quite sure what the solution should be for MESS emulation.
>
> I agree with Robert that these probably should have been treated as
> illegal instructions and invoked the trap. Of course, Hitachi never
> sanctioned the use of any new features, so its quite possible they
> didn't bother to bullet-proof everything.
>
> Darren
**************
Darren
That is probably why Hitachi never officially published information on these
insructions and the enhancements. Instead they decided to market the chip as a
CMOS alternative to the NMOS HD6809/MC6809 chip.
CMOS is inherently lower poser consumption than NMOS and would be yield a
better marketing tool over the Motorola and other second source NMOS parts. My
guess is that Hitachi wanted to develop a chip that was software compatible and
hardware superior to the Motorola original and the many second sourced vendors.
Looking backnow is retrospect, the design was not bullet proof. Any corrections
would require major silicon change and figure management decided not to invest
anymore into the project.
It does appear that most of the issues come when the MD register bit 0 is set. I
personally don't like the standard description given to this bit as "emulated" and
"native" modes. Instead from the discussions over the years I tend to believe that
this bit was used to enable and disable a crude primitive instruction pipeline
feature to speed up operation. Why I say this is because from my understanding
the new instructions and registers are available irregardless of the state of bit0 in
the MD register. What I do like about bit1 of the MD register is the way the FIRQ
is handled. When the FIRQ mimics the IRQ function this then becomes a two
level priority interrupt handler. IRQ has higher priority than FIRQ. Increases the
number of IRQs up to 16.
just some observations and thoughts
james
More information about the Coco
mailing list