Official Nintendo Emulator

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

WedNESday
Posts: 1236
Joined: Thu Sep 15, 2005 9:23 am
Location: Berlin, Germany
Contact:

Post by WedNESday » Thu Feb 02, 2006 9:13 am

Ha. I once emailed nintendo asking what processor the GameBoy used (a custom Zilog Z80) and they replied by saying that they don't give out their system's schematics.

User avatar
Zepper
Formerly Fx3
Posts: 3193
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Post by Zepper » Thu Feb 02, 2006 11:36 am

"So, do you allow me to break out the case and see the processor that's inside it?" :)

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

Post by blargg » Thu Feb 02, 2006 11:50 am

I doubt those Nintendo systems even used standard chips, so the answer to the question would have been "custom chips". What kind? Well now you're asking for the design.

tepples
Posts: 21980
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

There is no distinct PPU chip inside a Game Boy

Post by tepples » Thu Feb 02, 2006 1:06 pm

The CPU in a Nintendo video game system usually has some I/O on the CPU die because it's cheaper than putting I/O on separate chips with separate pins. In the case of the handhelds, "some I/O" includes the entire audio and video rendering circuitry.

xensyria
Posts: 19
Joined: Mon Sep 12, 2005 8:05 am

Post by xensyria » Mon Feb 13, 2006 2:57 am

There is Official Nintendo Emulator in "The Legend of Zelda Collector's
Edition (Gamecube)".
How about those GBA Clasic NES series, or Famicom mini - do they use an emulator or do they just simulate?

tepples
Posts: 21980
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Feb 13, 2006 6:11 am

Jaleco's NES to GBA ports use PocketNES.

Nintendo's NES to GBA ports ("Famicom Mini" or "Classic NES Series") and the e-reader games use the emulator first seen in Animal Crossing, which the community has called acNES.

Jagasian
Posts: 421
Joined: Wed Feb 09, 2005 9:31 am

Post by Jagasian » Mon Feb 13, 2006 1:58 pm

How accurate is acNES? How general purpose is it? Has anybody been able to parse out the GBA port of acNES and the ROM it comes embedded with, and fed it some other NES ROM? Wouldn't it save Nintendo money to just hire one of the top NES emulator developers, as opposed to home growing their own?

tepples
Posts: 21980
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Feb 13, 2006 2:56 pm

I don't know how accurate acNES is, but the point is that it doesn't need to be accurate. If Nintendo controls both the emulator and the ROM, then Nintendo employees can "train" (i.e. patch) the ROM to be compatible with a kinda-sorta emulator in much the same way that some NES games had Nesticle compatibility patches back in the day, or the emulator shipped with each game can be customized with hacks for just that game.

User avatar
Dwedit
Posts: 4309
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Mon Feb 13, 2006 3:19 pm

I've only seen the fonts get changed, nothing else.

Then again, my only reference is NES Metroid included with Metroid Zero Mission.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

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

Post by blargg » Mon Feb 13, 2006 4:38 pm

tepples wrote:Nintendo controls both the emulator and the ROM, then Nintendo employees can "train" (i.e. patch) the ROM to be compatible with a kinda-sorta emulator in much the same way that some NES games had Nesticle compatibility patches back in the day
Possibly more importantly, it can be modified to not need emulator features that are somewhat costly to implement. For example, they might convert games from sprite 0 hit to MMC3-style scanline IRQ, or add a new mapper type that gives the best speed.
Dwedit wrote:I've only seen the fonts get changed, nothing else. Then again, my only reference is NES Metroid included with Metroid Zero Mission.
A) you found an exact copy of the Metroid NES ROM in Metroid Zero Mission (except for these font changes), or B) you didn't notice any changes when playing the game?

Jagasian
Posts: 421
Joined: Wed Feb 09, 2005 9:31 am

Post by Jagasian » Mon Feb 13, 2006 6:05 pm

Has anybody tried parsing out the embedded ROMs and emulators in the NES classic series? Either that or at least some automated comparison of different classic series ROMs to see how much of the emulator is the same between games.

User avatar
Dwedit
Posts: 4309
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Mon Feb 13, 2006 6:13 pm

500 bytes are different between the extracted metroid rom and the original version.

some general difference ranges:
514-524
1392-1396
19f4-1a05
4d85-5165
1137b-1142b
15134-1516b bg tile graphics
18D50-1B8BE title screen graphics, (c) symbol, bg tile graphics, japanese characters replaced by numbers, font
1E18C-1E1E1

The rest look like possible code or data changes, and I underestimated the number of changes made by Nintendo.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

tepples
Posts: 21980
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Feb 13, 2006 7:29 pm

So in other words, it's like a [hFFE], right? Hack it to run on a different mapper that happens to be easier to implement inside GBA hardware. Or as Kevin Horton might put it in the Kevtendo design doc:

Image

User avatar
Dwedit
Posts: 4309
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Mon Feb 13, 2006 7:35 pm

It's still the same mapper (MMC1). It still runs perfectly on Nintendulator.

edit:
The Metroid Zero Mission version of acnes will play any 128k PRG 0 CHR MMC1 game you throw at it. The unmodified Metroid worked perfectly, so did Zelda and Kid Icarus. Zelda had some junk at the top of the screen when scrolling from area to area, as well as numeric sprite junk in the title screen.

Rad racer worked surprisingly well, a few glitches.

To inject a game into the Metroid Zero Mission gba emulator, use VBA, select "Play Original Metroid" from the options menu (must have beaten game), run metroid, then use the memory viewer to inject a 128k mapper 1 nes file into 0201BFF0.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
loopy
Posts: 395
Joined: Sun Sep 19, 2004 10:52 pm
Location: UT

Post by loopy » Mon Feb 13, 2006 9:29 pm

Last edited by loopy on Wed Aug 20, 2008 11:00 am, edited 1 time in total.

Post Reply