Originally posted by: KHAN Games
I can only speak for myself, as I have no real affiliation with retroUSB or Brian, so these opinions and thoughts are 100% my own. But I think when he was touting the "100% compatibility" thing it was regarding the normal licensed and unlicensed stuff. As far as pirates, reproductions and homebrews go, he made a real effort to try to get everything working the best he could, but it's impossible to say it will ever be "100% compatible" with everything ever made. Some of those companies use lots of big chips and weird wiring and it's not always built well.
It's probably impossible to copy the NES 100% without knowing how everything will work with every game... that's why things have to be tweaked here and there. It's a quest for perfect hardware emulation, and it's ongoing.
So, as of this moment, clearly the FPGA isn't currently "perfectly replicating all the hardware on the NES."
Unfortunately, not all standard licensed & unlicensed stuff has worked. The vast majority, yes, but the last I recall reading, Tulpa (and perhaps others, it's been a while) was still having lockup issues with his copy of Xeyx. There have been a few other oddball games here and there that I know have had things patched, but that's the one that stands out in my mind.
Honestly, I don't think any of the FPGA solutions are doing the job as perfectly as they're supposed to and am really curious as to why. I don't mean that in a "Hey buddy, why's this 'broken,'" kind of way, but moreso wanting to know which component(s) is/are failing/incorrect when these issues arise. The NES doesn't have any internal layers of traces inside the board (hence the ease of jumper wires), so mapping where every single resistor, capacitor, diode, etc. is, what it connects to, etc. to map everything shouldn't be an issue. The CPU and PPU have been endlessly deconstructed and reconstructed to improve various desktop emulators over the years, so I have to imagine that the issue lies either there--somewhere in the translation of software emulation of the chips to the hardware level commands programmed into the FPGA or with the FPGA's actual ability to replicate the hardware in question. With ROMs of the affected games working in software emulators just fine, I would think that regardless of whether cheap boards were used, if all the smaller chips used to regulate the flow of power (since it's normally voltage/power issues with the various crap boards) were modeled exactly correctly by the FPGA there wouldn't/shouldn't be any issues.
I have faith in bunnyboy's ability to have translated everything available online correctly to the FPGA, so my current assumption is leaning more toward FPGA technology not being as 1:1 as advertised. I know older game systems sometimes had games that did weird things based on "tricks" in the original hardware. If more poorly/non-standard built boards end up doing the same (requiring higher voltage than what the NES was supposed to provide but was actually electrically capable of providing--something it would seem an FPGA with exact, specific limitations should block), it could easily be a quirk or limitation of the FPGA that's causing all the chaos. No developer is required to be forthcoming about the specifics about why something is happening, the steps that are being taken to fix it, etc., but with a (premium) niche product offered to a pretty technical community, not doing so can (and in some cases seen on here, does) lead to a lot of guessing, doubt and hard feelings regarding something that had such high billing and glowing endorsements which then stumbled a bit. "Previous problem game boards attempted to pull more voltage than the NES specs dictate and we had to patch that into the FPGA" is a perfectly reasonable explanation (if true, just spitballing & providing an example) which could/would restore confidence, explain how the issue arose/was missed and shed a little light on what's up versus the general wall of silence that's been observed. "I don't know but I'd be happy to look into it as carts are available" is a great start, but if/when patches are implemented and the issue either goes away or changes, we're left scratching our heads as to what the problem was. The carts work just fine in various other systems, so the blame, such as it is, really shouldn't be there.
Please don't take my wall of text as being overly critical, passionate or upset about all this--I'm just honestly curious, have thought a lot about this issue, and can't understand the harm in providing some explanation of what the issue is in these cases. Laying blame on cheap or outlier/one-off boards (whether true or not) seems like a deflection and a cop out and just goes toward "stirring the pot" for folks who have been (and are getting more, in some cases) upset with the whole thing versus an open dialog intended to foster goodwill and relieve tensions.
Originally posted by: mattbep
If I remember, I'll see if my Pokémon Yellow works on the AVS. It was a one-off done by a smart dude, so it may not have the same issues as the ones most people have. If it does not work I'll send it off to retrousb.
If it was done on a donor board versus one of the newer, not-quite-right mass produced Chinese boards, that could make all the difference, since the ROM is supposed to work just fine in software emulation. I imagine it probably also works just fine on a PowerPak or EverDrive, but can't recall anyone ever having mentioned getting their hands on the ROM and then running it on the AVS. I'll have to see about getting my hands on a copy and giving it a shot on my system.