It is currently Sun Nov 18, 2018 4:34 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Wed Dec 27, 2006 8:52 pm 
Offline

Joined: Mon Oct 30, 2006 8:32 pm
Posts: 122
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.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 27, 2006 9:26 pm 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3583
Location: Indianapolis
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.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 27, 2006 11:02 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 8:33 am
Posts: 3715
Location: Central Texas, USA
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.

Quote:
"Some things didn't work quite right or took extra cycles," says Russell.

Not that anybody has found, to my knowledge.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Dec 28, 2006 8:43 am 
Offline
User avatar

Joined: Mon Sep 11, 2006 6:48 pm
Posts: 194
Location: Moose Lake, Minnesota
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]


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group