It is currently Fri Oct 20, 2017 8:09 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 12 posts ] 
Author Message
PostPosted: Sun Apr 30, 2017 10:19 am 
Offline

Joined: Mon Jan 30, 2017 5:20 pm
Posts: 294
Location: Colorado USA
After watching the Did You Know Gaming video about the NES, they mentioned that when they were deciding what CPU to use for their Famicom, they wanted to have it be able to play their arcade games and they wanted to just have to change the memory addresses and be able to port them just like that. However they decided to go with the 2a03. Why didn't they go with the z80? I know that they used the 2a03 because it had built in audio, but if it was a custom chip, then why did they choose to go with a 6502 core instead of a more practical z80? was it because of price?


Top
 Profile  
 
PostPosted: Sun Apr 30, 2017 10:25 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19112
Location: NE Indiana, USA (NTSC)
The 6502 was chosen for three reasons:

  1. 6502 is smaller than the Z80, allowing Ricoh to fit audio onto the same die rather than having to make a multi-chip package with a Z80 on one die and a PSG on the other.
  2. Security by obscurity, as Nintendo's competitors in Japan were more familiar with Z80 than with 6502. This was disclosed in an interview (key word "stone"), but the link has since become dead, and "This URL has been excluded from the Wayback Machine."
  3. As we discussed earlier, the 6502 is better than the Z80 at indexed addressing modes, which are important for moving multiple actors around.


Top
 Profile  
 
PostPosted: Sun Apr 30, 2017 11:18 am 
Online
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10065
Location: Rio de Janeiro - Brazil
tepples wrote:
the 6502 is better than the Z80 at indexed addressing modes, which are important for moving multiple actors around.

And yet a shitload of Z80-based game machines exist, and apparently programmers in Japan were more acquainted with the Z80 in general, so I don't think that memory indexing was something Nintendo gave much thought to when making this decision.


Top
 Profile  
 
PostPosted: Sun Apr 30, 2017 1:52 pm 
Offline
User avatar

Joined: Sat Feb 16, 2013 11:52 am
Posts: 218
I think that the main (maybe only) factor was this one: cost. Correct me if I'm wrong but the 6502 was significantly cheaper compared to the competition? Remove patent circuitry and you have it even cheaper...

I mean even Donkey Kong had a Z80 so I can't imagine any practical reasons for not choosing it instead.

_________________
This is a block of text that can be added to posts you make. There is a 255 character limit.


Top
 Profile  
 
PostPosted: Sun Apr 30, 2017 2:52 pm 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2801
Cost is the most likely reason. It would have been a very high priority.

Using a customized Z80 would have cost more as tepples pointed out. Isn't there similar speculation that the reason the SNES used the 65816 over the 68000 also being cost related? Although atleast in the case of the SNES you could argue for sticking with the familiar CPU instruction set. That or rumored backward compatibility.


Top
 Profile  
 
PostPosted: Sun Apr 30, 2017 3:33 pm 
Offline
User avatar

Joined: Sat Jul 12, 2014 3:04 pm
Posts: 936
I've seen a few reasons floated around here for why Ricoh. Other decisions, not so much.
  • Shortage/exhaustion of other IC/processer producers
  • connections/nepotism
Haven't been able to re-exhume where those were stated, though.


Top
 Profile  
 
PostPosted: Sun Apr 30, 2017 3:57 pm 
Offline

Joined: Sun Mar 27, 2016 7:56 pm
Posts: 137
Page 2 of this interview explains that Ricoh was the only company with the necessary manufacturing capacity available at the time, due to PCs getting big in Japan. It also mentions that it was Ricoh's engineers who apparently recommended the 6502, though it doesn't go into much detail as to why.


Top
 Profile  
 
PostPosted: Sun Apr 30, 2017 11:41 pm 
Offline

Joined: Tue Feb 07, 2017 2:03 am
Posts: 248
The 6502 core could be stolen if they dropped a single feature ;) so they didn't even have to pay the license fee on the 6502
The 6502 was cheaper to make originally
The 6502 has a better architecture that lets it do more at a slower clock speed. A 1.8Mhz 6502 will beat the 3.5Mhz Z80 but now your bus and ROM and RAM chips only need to be good for 1.8Mhz operation and not 3.5Mhz, which makes them cheaper
The 6502 was known by Iwata and hence they could employ him ;)

What I want to know is why the didn't use a 65C02 in the GB


Top
 Profile  
 
PostPosted: Mon May 01, 2017 8:06 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19112
Location: NE Indiana, USA (NTSC)
Oziphantom wrote:
What I want to know is why the didn't use a 65C02 in the GB

I can speculate three reasons why the Lynx was the only major handheld of its era to use a 65C02. (That is, unless you consider the TurboExpress, Supervision, or GameKing "major".)

  • First, as I understand it, the Game Boy was largely a Sharp design, and Sharp already had its own 8080-clone microprocessor core "LR35902" for use in custom 8-bit MCUs. Japanese companies on the whole prefer to work with other Japanese companies.
  • Second, the 65C02 was newer and had more essential features still covered by patents. It's not like the 6502, where BCD addition and subtraction were the only patented parts.
  • Third, between the design of the Famicom and the design of the Game Boy, there was a movement among national governments to grant copyright-like exclusive rights in "mask works" (integrated circuit layouts), in addition to the exclusive rights already granted under patent law.


Top
 Profile  
 
PostPosted: Thu May 04, 2017 9:46 pm 
Offline

Joined: Tue May 26, 2009 5:39 am
Posts: 19
tepples wrote:
Security by obscurity, as Nintendo's competitors in Japan were more familiar with Z80 than with 6502. This was disclosed in an interview (key word "stone"), but the link has since become dead, and "This URL has been excluded from the Wayback Machine."

http://www.nintendo.co.uk/Iwata-Asks/Su ... 16037.html


Top
 Profile  
 
PostPosted: Thu May 04, 2017 11:33 pm 
Online

Joined: Mon Nov 10, 2008 3:09 pm
Posts: 429
Oziphantom wrote:
A 1.8Mhz 6502 will beat the 3.5Mhz Z80 but now your bus and ROM and RAM chips only need to be good for 1.8Mhz operation and not 3.5Mhz, which makes them cheaper


No, that's not true. A 6502 requires a memory system that can respond in half a clock cycle. A Z80 only requires memory to respond in one-and-a-half clocks on instruction fetches, or two clocks on normal reads and writes. A 1.79 MHz 6502 needs a memory system that can respond in 280ns (minus latency from the address decoding, etc.) A 3.58 MHz Z80 needs 420ns to operate without any wait states, or 560ns to operate with a wait state on instruction fetches (as in the MSX)

On the other hand, the fact that the 6502 only accesses memory on alternating phases means that it can perfectly share a bus with another device. That's how the Apple II and the various Commodore machines work: the CPU can freely read or write "VRAM" (really just the portion of regular RAM that's shared with the video hardware) at any time. On the Z80-based ZX Spectrum, the CPU may be halted for up to 6 clocks whenever it accesses shared VRAM outside of VBlank or HBlank.


Top
 Profile  
 
PostPosted: Fri May 05, 2017 1:33 am 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3470
Location: Indianapolis
AWJ wrote:
Oziphantom wrote:
A 1.8Mhz 6502 will beat the 3.5Mhz Z80 but now your bus and ROM and RAM chips only need to be good for 1.8Mhz operation and not 3.5Mhz, which makes them cheaper


No, that's not true. A 6502 requires a memory system that can respond in half a clock cycle. A Z80 only requires memory to respond in one-and-a-half clocks on instruction fetches, or two clocks on normal reads and writes. A 1.79 MHz 6502 needs a memory system that can respond in 280ns (minus latency from the address decoding, etc.) A 3.58 MHz Z80 needs 420ns to operate without any wait states, or 560ns to operate with a wait state on instruction fetches (as in the MSX)


That's what I thought too, until I started using an NMC27C32Q-45 EPROM as part of my Cheapocabra devkit (a modified Game Genie), and that's 450ns. I was skeptical at first, but kevtris said that would be fast enough, and indeed it works every time. What gives, Nintendo? Makes me wonder if they ever even tried for 2.68Mhz on the CPU. I can only speculate they were worried about heat, since they did have heatsinks on some of the older PPUs.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 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