Jump to content

Photo

Why did the Game Boy use a Z80?

Game Boy Z80 6502

2 replies to this topic

#1 BillyHW OFFLINE  

BillyHW

    River Patroller

  • 3,549 posts

Posted Sun Nov 30, 2014 4:49 PM

Why did the Game Boy use a Z80 instead of a 6502 like the NES (and the closely related 65816 of the SNES)?

 

Were there any power advantages to the Z80 that would help with battery life?

 

Wouldn't it have made more sense to use a 6502, than they could reuse code and make it easier to port NES games over.



#2 nanochess OFFLINE  

nanochess

    Processorus Polyglotus

  • 5,737 posts
  • Coding something good
  • Location:Mexico City

Posted Sun Nov 30, 2014 6:53 PM

Technically the Gameboy uses a modified Z80, some instructions are different improving the code size, also there exists a kind of page-zero access for 6502 (but for $FF00 where the peripherals reside)

 

Maybe Nintendo wanted to try something different so the Gameboy didn't looked like a minified NES if same games were ported.

 

I wrote a private Gameboy emulator a while ago, and I'm surprised of how similar looks the sound subsystem to a SN76489 with expanded capabilities, even I'm wondering if Nintendo based some of the enhanced architecture over Colecovision.

 

Besides they probably wanted to attract Z80 programmers' that were widely available in Japan at the time because of the success of MSX platform.



#3 Rybags OFFLINE  

Rybags

    Gridrunner

  • 15,963 posts
  • Location:Australia

Posted Sun Nov 30, 2014 7:04 PM

Z80 was the preferred CPU in many of their arcade games.  6502/clones in use also but in many cases were in games running on NES based arcade hardware.

 

Z80 has dedicated IO port instructions and can do memory refresh, maybe it was chosen to reduce the requirements on the chipset.

Also, as mentioned, 6502 wasn't exactly in widespread use in Japan aside from NES/SNES, the programming knowledge base was very much biased towards Z80.







Also tagged with one or more of these keywords: Game Boy, Z80, 6502

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users