NES Classic Edition - Nintendo's own repro console

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

Moderator: Moderators

Spork Schivago
Posts: 9
Joined: Sun Nov 13, 2016 12:46 pm

Re: NES Classic Edition - Nintendo's own repro console

Post by Spork Schivago »

koitsu wrote:
Spork Schivago wrote:Different NANDs have different pinouts and everything, right? I'd imagine they're not too compatible.
"It depends". I would put my money on that the Spansion and Macronix are pin-compatible with each other. Otherwise this would require multiple PCB revisions designed by Nintendo and manufactured -- this costs more money. So, I would say it's more likely they're identical. The only way to know for sure is to review datasheets for both, assuming one can even find such. You may have to contact the chip manufacturers. If this is really something you're considering doing, then I strongly recommend you start that conversation with them now. Just ask politely for the datasheet for the specific model of chip used.
I believe the datasheet for the Macronix isn't that hard to find. The Spansion though, because no one actually gave me a part number, I can't begin looking for one. Good news though, I got my NES Classic today!!! Once I get back from my appointment, I'll begin working on it.

I was thinking that perhaps the Famicom Classic (or whatever they're calling it over in Japan / China) might use one chip and have a little bit different of a design and then the version sold in America might be using the other chip, having a little bit different of a design.
Spork Schivago wrote:It doesn't matter too much now anyways. Once my NES Classic comes (tomorrow or maybe the next day), I was going to maybe pull the NAND and try dumping it but it seems we can just dump it while it's still in the NES. We can also write to it while it's still in the NES as well, so there's no need for me to pull the chip.
As far as I can tell, the flash chip used is OTP, i.e. you won't be able to write to anything. Go right ahead and dump the thing using the serial/UART method -- I won't be surprised if a portion of it is encrypted.
I think you're right here on part of the NAND being encrypted. I remember reading someone who said the same, and implying they dumped it as well. I was reading how the key to decrypt it might be stored in the initrd image.

I'm not too certain about the NAND being read-only memory. I'll read your links when I get back. If I'm understanding everything correctly, once I boot into the proper FEL mode, I can dump the NAND using sunxi-fel and the read command. I'm thinking once I boot into the proper mode, I can just use sunxi-fel and the write command to write the NAND back.

If I can successfully dump the NAND using the UART method (which I'll try later), I'll just try writing it back. I see someone over in Japan got his own version of Linux running on the Famicom version. He dumped the NAND and was able to extract the initrd image, among other things. Then he was able to boot into his own version of Linux. With u-boot, I believe you can load everything into RAM and boot that way, although it's not officially supported and from what I've read, isn't the easiest thing to do.

http://www.denx.de/wiki/view/DULG/CanUB ... artedInRAM

There's a link to what I was talking about with the u-boot and starting it from RAM.

It would make sense, from a security point of view, if it was read-only though. It'd make it a bit harder to hack. I don't know a lot about NAND, but I do have some experience with PICs (Programmable Interrupt Controllers) and I know some of the PICs I've played with have configuration bits that I can set, that say stuff like don't allow reading of the chip, don't allow writing, etc.

Although people (and possibly Nintendo themselves) have said this system isn't upgradable, it very well might be, via USB. If the NAND chips have the ability to be put in some sort of read-only mode, maybe Nintendo didn't set it, so in the future, if they wanted to, they could release other games or system updates. The USB port can be used for more than just charging. If I understand everything correctly, I should be able to boot into FEL mode without using the UART at all and just hook the NES Classic up to my Linux box's USB port.

Also, it seems people have figured out a way to hook other controllers up to the NES Classic, like the Nintendo Wii controller, for example. I believe someone even managed to hook an SNES controller up to it. If you're interested, I can share the link. One of the "issues" people were writing about was to pick another game, they had to restart the NES Classic. Someone suggested that if they could hook a Wii controller up, they could just hit some button to go back to the main menu. It'd be interesting to see if this is true.

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

Re: NES Classic Edition - Nintendo's own repro console

Post by tepples »

Last I heard, the Wii Classic Controller and Classic Controller Pro worked officially.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: NES Classic Edition - Nintendo's own repro console

Post by rainwarrior »

Spork Schivago wrote:One of the "issues" people were writing about was to pick another game, they had to restart the NES Classic.
Ah, but to be fair, the reset button should be at arm's length already due to the tiny cables. ;P
Spork Schivago
Posts: 9
Joined: Sun Nov 13, 2016 12:46 pm

Re: NES Classic Edition - Nintendo's own repro console

Post by Spork Schivago »

tepples wrote:Is there a second flash memory used for the save state feature? If not, then the main flash cannot be OTP, though if it's like the DS firmware flash, perhaps only a certain number of sectors are writable.
Tepples,

I forgot about the save states. To my knowledge, there is not a second flash, therefore, I think we can assume the flash (at least parts of it) is not read-only.

I remember reading something about someone saying when they booted into Linux on the NES Classic (the stock Linux, not a custom version), one of the partitions was mounted as read-only. Perhaps this is where the confusion was coming from. In Linux, you can set a file system to be mounted as read-only or read / writeable. Just because a filesystem is set as read-only, doesn't necessarily mean the device cannot be written to. It just needs to be remounted with rw, instead of read-only.
Spork Schivago
Posts: 9
Joined: Sun Nov 13, 2016 12:46 pm

Re: NES Classic Edition - Nintendo's own repro console

Post by Spork Schivago »

rainwarrior wrote:
Spork Schivago wrote:One of the "issues" people were writing about was to pick another game, they had to restart the NES Classic.
Ah, but to be fair, the reset button should be at arm's length already due to the tiny cables. ;P
Ahh hahahahahahahahaha. That's funny.
Spork Schivago
Posts: 9
Joined: Sun Nov 13, 2016 12:46 pm

Re: NES Classic Edition - Nintendo's own repro console

Post by Spork Schivago »

tepples wrote:Last I heard, the Wii Classic Controller and Classic Controller Pro worked officially.
Maybe these aren't Wii Classic Controllers or Classic Controller Pro's or maybe the Famicom version of the NES Classic isn't fully compatible? Here's the page I found:

http://kako.com/blog/?p=22058

It's in Japanese but you can google, "Japanese to English translator" or have your web browser automatically translate the page, however, I found the Japanese to English Translator that google.com provides does a better translation than Google Chrome.

It looks as though the person spliced the wires from the original controller that came with his Famicom Mini (or whatever they're calling it) and hooked some sort of adapter, probably from a different console...to hook various controllers up to it. I didn't actually read anything, I just looked at the pictures. It even looks like he hooked some sort of Super NES (Super Famicom over there I believe) controller up to it.

I got my NES Classic today. We have a Nintendo Wii (but not a Wii U). We also have an SNES, Gamecube, PS3, PS4, Xbox, Xbox 360, Xbox 1, Gameboy, DS, 3DS, original NES (a few of them), Yobo, SNES (a few of them), original Sega Genesis (a few of them), and one of those cheap Sega Genesis's that play original Genesis games but come with 80 games built in. I thought the controllers for the Wii where wireless. I only play the old school consoles, like the NES, Sega, SNES (and sometimes I'm emulate those consoles on the 3DS / DS and very rarely, I'll actually play a 3DS / DS game on the handhelds), but I can try seeing if any of the controllers actually hook to the Classic without needing any adapters.

I also just saw a link that says there's some sort of official adapter that allows you hook your original NES controllers to the NES Classic, but I didn't actually click it, so it might be fake. If we can hook original controllers up to the Classic with this adapter, I wonder if we can hook up the Zapper.

What do you guys think?
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: NES Classic Edition - Nintendo's own repro console

Post by rainwarrior »

koitsu wrote:"It depends". I would put my money on that the Spansion and Macronix are pin-compatible with each other. Otherwise this would require multiple PCB revisions designed by Nintendo and manufactured -- this costs more money. So, I would say it's more likely they're identical. The only way to know for sure is to review datasheets for both, assuming one can even find such. You may have to contact the chip manufacturers. If this is really something you're considering doing, then I strongly recommend you start that conversation with them now. Just ask politely for the datasheet for the specific model of chip used.
You can just go to Macronix's website and type that part number into their search, and it'll take you to a page with information, datasheet, etc:
http://www.macronix.com/en-us/products/ ... 30LF4G18AC

It even has documentation comparing it to two particular Spansion chips, which I think it is meant to be a compatible replacement for.

(There was also a datasheet on the digikey page koitsu linked about the chip in this post.)
Last edited by rainwarrior on Mon Nov 14, 2016 5:15 pm, edited 1 time in total.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES Classic Edition - Nintendo's own repro console

Post by tepples »

If the Classic Controller works, an adapter to plug an original NES or Super NES controller into the far end of a Wii Remote should also work. These include the Mayflash adapter and the Raphnet adapter.

The Zapper will not work. The NES Classic Edition's video output is HDMI, and TVs that display HDMI don't output scanlines at the 15.7 kHz frequency that the Zapper's decoder IC expects.
Spork Schivago
Posts: 9
Joined: Sun Nov 13, 2016 12:46 pm

Re: NES Classic Edition - Nintendo's own repro console

Post by Spork Schivago »

tepples wrote:If the Classic Controller works, an adapter to plug an original NES or Super NES controller into the far end of a Wii Remote should also work. These include the Mayflash adapter and the Raphnet adapter.

The Zapper will not work. The NES Classic Edition's video output is HDMI, and TVs that display HDMI don't output scanlines at the 15.7 kHz frequency that the Zapper's decoder IC expects.
Thank you. Are you sure about the scanline part? From what I've read, it's more of a timing issue. The Zapper looks for the white squares ~16MS after pulling the trigger, modern day TVs will show it maybe ~70MS after pulling the trigger...

http://hackaday.com/2015/11/16/resurrecting-duckhunt/
Spork Schivago
Posts: 9
Joined: Sun Nov 13, 2016 12:46 pm

Re: NES Classic Edition - Nintendo's own repro console

Post by Spork Schivago »

The reason I was asking was if I understand the problem correctly, maybe we can somehow slow down when the photo sensing diode in the zapper looks for the white square, I mean if lag is really the issue here. I wonder if that'd be possible.

I don't fully understand how the zapper works, I got the jist of it, maybe I need to read more about it.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES Classic Edition - Nintendo's own repro console

Post by tepples »

The following applies to any emulator-based system with input-to-video lag, such as PC, Raspberry Pi, or possibly a hacked NES Classic Edition:

Games that only use the white square sequentially on each sprite will have to be hacked to wait for the display lag. Games that use time between top of frame and photodiode activation (Operation Wolf, Zap Ruder, Action 53 menu) won't work at all.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: NES Classic Edition - Nintendo's own repro console

Post by rainwarrior »

Spork Schivago wrote:
tepples wrote:If the Classic Controller works, an adapter to plug an original NES or Super NES controller into the far end of a Wii Remote should also work. These include the Mayflash adapter and the Raphnet adapter.

The Zapper will not work. The NES Classic Edition's video output is HDMI, and TVs that display HDMI don't output scanlines at the 15.7 kHz frequency that the Zapper's decoder IC expects.
Thank you. Are you sure about the scanline part? From what I've read, it's more of a timing issue. The Zapper looks for the white squares ~16MS after pulling the trigger, modern day TVs will show it maybe ~70MS after pulling the trigger...

http://hackaday.com/2015/11/16/resurrecting-duckhunt/
There's been a bunch of threads on this. Here's a recent one: viewtopic.php?f=2&t=14626

You have to solve two issues to get Duck Hunt to work. The timing delay is one issue. Getting the zapper to detect your light source is a second issue.

Basically it doesn't respond to a light source that isn't turning on and off 15,000 times a second. Your human eye can't really tell the difference between a CRT's very brief and very bright flash across a scanline, and your LCD's much longer held, much dimmer pixels, but the zapper's sensor is designed to do exactly that. (They didn't want false positives from lightbulbs, white walls, or other low frequency light sources.) You need a CRT to use the zapper.

The delay is a separate issue that you could reprogram Duck Hunt or other software to work with. If you somehow solved the light sensor issue, you can make Duck Hunt detect a few frames longer, or calibrate it to the exact delay of your monitor, etc.

Instead of that link you provided that only asks questions, here's someone who actually solved both problems by completely bypassing the light sensor and reading the composite video signal directly:
http://hackaday.com/2016/08/30/tricking ... tv-as-crt/

This isn't at all relevant to trying to get it to work with the mini NES though. To do that you'd really just have to reprogram the emulator it uses (and again, the Zapper light sensor is useless, so you'd really need to use a wiimote or something else instead).
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: NES Classic Edition - Nintendo's own repro console

Post by Banshaku »

Linked, the site that give access to the OSS files used in the NES classic edition.

https://www.nintendo.co.jp/support/oss/#other

It seems someone ran linux on it.
Spork Schivago
Posts: 9
Joined: Sun Nov 13, 2016 12:46 pm

Re: NES Classic Edition - Nintendo's own repro console

Post by Spork Schivago »

rainwarrior wrote:
Spork Schivago wrote:
tepples wrote:If the Classic Controller works, an adapter to plug an original NES or Super NES controller into the far end of a Wii Remote should also work. These include the Mayflash adapter and the Raphnet adapter.

The Zapper will not work. The NES Classic Edition's video output is HDMI, and TVs that display HDMI don't output scanlines at the 15.7 kHz frequency that the Zapper's decoder IC expects.
Thank you. Are you sure about the scanline part? From what I've read, it's more of a timing issue. The Zapper looks for the white squares ~16MS after pulling the trigger, modern day TVs will show it maybe ~70MS after pulling the trigger...

http://hackaday.com/2015/11/16/resurrecting-duckhunt/
...Basically it doesn't respond to a light source that isn't turning on and off 15,000 times a second. Your human eye can't really tell the difference between a CRT's very brief and very bright flash across a scanline, and your LCD's much longer held, much dimmer pixels, but the zapper's sensor is designed to do exactly that. (They didn't want false positives from lightbulbs, white walls, or other low frequency light sources.) You need a CRT to use the zapper...
So it's just not a timing issue then. I was hoping we could just slow down when the diode looks for the white square, without having to modifying the NES or the ROMs at all, but that sounds like it won't work. Thanks for taking the time to explain this to me.
rainwarrior wrote: ...someone who actually solved both problems by completely bypassing the light sensor and reading the composite video signal directly:
http://hackaday.com/2016/08/30/tricking ... tv-as-crt/
...
Thanks! I didn't look too hard, because I'm working on other things right now. I want to try and extract at least one ROM from my NES Classic. Then, maybe I'll work on trying to replace that ROM with another ROM. I've got the RS232 to TTL adapter soldered to my NES Classic, I got my RS232 to USB adapter hooked to the RS232 to TTL shifter...I haven't turned on my Linux box since we bought the house and moved in. My wife had a baby back on October 15th, 2016 and you'd be surprised how little free time a person has once they have a newborn to look after. Because I have to have my box hooked to the internet, I want to fully update it first, before I begin downloading the u-boot stuff and messing around.

I'll dump the RAM first and go from there I guess. If you want, I can keep you posted on my progress here.
maseter
Posts: 23
Joined: Fri Nov 18, 2016 7:56 am

Re: NES Classic Edition - Nintendo's own repro console

Post by maseter »

Does the original NES controller PCB fit with into the new NES Classic controller mold, anyone tested this yet?
Cheers :beer:
Post Reply