[Coco] Is the 6809 flawed?

Richard Goedeken Richard at fascinationsoftware.com
Sat Sep 8 01:22:01 EDT 2018

Yes this controversy is silly; ASL and LSL are the same.

But I think I may have found a real hardware bug in the 6809 a few years ago.
I found this anomalous behavior when I was working on DynoSprite. I used the
SYNC instruction to wait for a vertical retrace interrupt after completing a
frame, and it worked perfectly in the emulator. But sometimes, on a real CoCo
3, the CPU will hang and never start running again. To just get it out the
door I modified the code to poll and not use SYNC. But some day I will track
this down. It's near the bottom of my long list of stuff to do, but when I
finally get around to it I'll rig up my logic analyzer to the CoCo and get to
the bottom of this.


On 09/07/2018 03:18 PM, linville wrote:
> Not a bug. That's pretty much the whole point.
> What a dumb controversy...
> John
> -------- Original message --------From: Arthur Flexser <flexser at fiu.edu> Date: 9/7/18  5:24 PM  (GMT-05:00) To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com> Subject: Re: [Coco] Is the 6809 flawed? 
> John Linville, who wrote the article you linked to, clearly does not
> consider this a bug:
> " Did the CPU architects at Motorola get it wrong? *Spoiler alert:*
> *No!* Neither
> did architects for Intel, MIPS, Sparc, ARM, or any of the other CPUs that
> similarly implement a single instruction for both operations. The fact is
> that when operating on two's-complement
> <https://en.wikipedia.org/wiki/Two%27s_complement> numbers,
> logical-shift-left and arithmetic-shift-left are, in fact, exactly the same
> operation."
> Art

More information about the Coco mailing list