What Commodore Found in the NES

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

Post Reply
CartCollector
Posts: 122
Joined: Mon Oct 30, 2006 8:32 pm

What Commodore Found in the NES

Post by CartCollector » Wed Dec 27, 2006 8:52 pm

I was reading On the Edge: the Spectacular Rise and Fall of Commodore the other day, and I noticed something interesting:
Brian Bagnall wrote:[In 1986,] Commodore management began to consider options to compete against Nintendo. . . Robert Russell investigated the NES, along with one of the original 6502 engineers, Will Mathis. "I remember we had the the chip designer of the 6502," recalls Russell. "He scraped the [NES] chip down to the die and took pictures."
The excavation amazed Russell. "The Nintendo core processor was a 6502 designed with the patented technology scraped off," says Russell. "We actually skimmed off the top of the chip inside of it to see what it was, and it was exactly a 6502. We looked at where we had the patents and they had gone in and deleted the circuitry where are patents were."
Although there were changes, the NES microprocessor ran 99% of the 6502 instruction set. "Some things didn't work quite right or took extra cycles," says Russell.
Perhaps patents are the reason that the 2A03 has no decimal mode, instead of needing room for the sound generators and timers. Also, I wonder what bugs/timing differences are in the 2A03 that aren't in the normal 6502s. The last sentence indicates there would be some.

User avatar
Memblers
Site Admin
Posts: 3884
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers » Wed Dec 27, 2006 9:26 pm

That is interesting to see.

I do remember reading about one of the 6502's designers, where it mentioned they hold a patent on the decimal mode.

For one thing, the SED/CLD instructions don't do nothing useful of course (other than set/clear the flag itself). I don't think there could be any timing differences though, that probably would've messed some emulators up by now. Even the "undocumented" ops are the same.

Playing DPCM samples does affect the timing though.

User avatar
blargg
Posts: 3715
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Post by blargg » Wed Dec 27, 2006 11:02 pm

Very interesting. I think the 6502's approach to decimal handling was unique at the time, with other processors in (the 8080 family) using an after-the-fact adjustment instruction (DAA). This could be the real answer as to why the NES lacks a decimal mode. It's interesting that Nintendo did the same thing as authors of free software do, working around things which are patented. As for timing, a recent test confirmed the times of all instructions except branch, and they matched those documented for other 6502 variants.
"Some things didn't work quite right or took extra cycles," says Russell.
Not that anybody has found, to my knowledge.

User avatar
commodorejohn
Posts: 194
Joined: Mon Sep 11, 2006 6:48 pm
Location: Moose Lake, Minnesota

Post by commodorejohn » Thu Dec 28, 2006 8:43 am

Yes, when Bill Mensch designed the 65C02 for Apple, he avoided patent infringement by making decimal-mode instructions take an extra cycle. (By the time the 65816 was designed, WDC had secured the rights to the 6502 from Commodore, so the extra cycle was dropped.) If I had my back issues of Commodore World out I could provide you with more details.
[size=0]"There is only one basic human right, the right to do as you damn well please. And with it comes the only basic human duty, the duty to take the consequences."
- P.J. O'Rourke[/size]

Post Reply