Re: The ROR bug - seems it wasn't a bug after all.

From: Robin Harbron <macbeth_at_tbaytel.net>
Date: Mon, 12 Feb 2024 03:25:51 -0500
Message-ID: <63d32ccb-6682-4f8c-b93e-b9337632d965_at_tbaytel.net>
If something absolutely should be in a product, and it's planned for 
that product, and you don't manage to get it in there and ship it 
anyway, does calling it an "unimplemented feature" make it any better or 
substantially different than it being a bug? I don't think so.

We know it was planned because:
- the Motorola 6800 was the 6502's inspiration and it has ASL, ROL, LSR, 
and... ROR
- without ROR, the 6502's decoding table has empty spots in columns x6, 
xA and xE right after, you guessed it, ASL, ROL, and LSR. What a 
coincidence!

Byte published a workaround for the missing ROR. I can't believe Peddle 
etc. would think it was unnecessary and deliberately leave it out of the 
spec:

6800:
ROR loc

6502: (excuse the BASIC-like use of colons to one-line it)
LDA loc : PHP : LSR : PLP : BCC *+4 : ORA #$80 : STA loc

As for "was only added after demand for it became compelling", the 
MCS6500 Microcomputer Family Programming Manual - January 1976 edition, 
published only 3-4 *months* after Peddle's wife was selling the first 
batch of 6502s out of a glass jar from a hotel room, noted that ROR 
would be available by June 1976. It'd be pretty amusing to hear any of 
this compelling demand during that time. Presumably Woz and Roy Rankin 
had some choice words as they worked around the lack of ROR in their 
floating point routines published in Dr. Dobb's Journal, August 1976. It 
certainly made the code uglier.

Just today I was working on a leap year calculator in 6502, and it uses 
ROR twice; I'd hate to imagine trying to code it without ROR.

Robin


On 2024-02-12 2:04 a.m., Julian Perry wrote:
> The ROR bug - seems it wasn't a bug after all. I'm sure I'm very late 
> to the party, but have learned that the infamous ROR bug in 1975 
> 6502's actually was not a bug - just an unimplemented feature.
> Seems like the builder of the Monster 6502,Eric Schlaepfer spoke with 
> Bill Mensch in 1991 on the topic, and Bill confirmed that the ROR 
> instruction was simply not implemented in the silicon at all - and was 
> only added after demand for it became compelling. In a short youtube 
> video he puts a compelling case for this - (including 
> reverse-engineering, die-shots and circut diagrams and I think is the 
> definitive word on the subject.
>
> The short 9 minute video is at 
> https://www.youtube.com/watch?v=Uk_QC1eU0Fg .
>
> I've always wondered about that one - and owning a 1975 6502 is on my 
> to-do list one day.......
>
>
>
>
>
Received on 2024-02-12 10:00:04

Archive generated by hypermail 2.3.0.