How SNES emulators got a few pixels from complete perfection
51–60 of 167 posts
Re: How SNES emulators got a few pixels from complete perfection
#52Hi all, thank you for sharing this article here! It is technically a "laymen's" version of https://byuu.org/articles/edge-of-emulation (submitted here earlier), meant for a wider audience, but it does elaborate on some new discoveries such as the digital video output testing mode. In the off chance anyone is able to help with this, I've set up a Discord channel (#ars) for coordination here: https://discord.gg/Fx7TfKh…
You've probably done that already, but I figured it was worth a shot. I'll update if I actually get a response.
Re: How SNES emulators got a few pixels from complete perfection
#53Interesting tangent from the article: >Today, SNES emulation is in a very good place. Barring unusual peripherals that are resistant to emulation (such as a light-sensor based golf club, an exercise bike, or a dial-up modem used to place real-money bets on live horse races in Japan), every officially licensed SNES title is fully playable I had to look up the 'dial-up modem' reference - apparently it's a Japan-only pe…
Re: How SNES emulators got a few pixels from complete perfection
#54Earlier quoted context omitted.
I can almost guarantee Nintendo did not use a downloaded ROM. I don’t have direct experience with how the ROMs are sourced, so it’s not 100%, but I worked on a team handling emulation at Nintendo and can say the processes are incredibly careful and strict. The company is extremely micromanaged and pedantic, and this is not the kind of thing that could possibly be overlooked at Nintendo.
It's just weird then that they put a header originally defined by pirates, and now otherwise only used by third party emulators. Including matching the even more informal parts of the header byte for byte with the most common dump of the ROM on the high seas.
Specifically, the "iNES header", originally created by Marat Fayzullin for use with his NES emulator, iNES[1].
If you look at the iNES manual[2], way down at the bottom in the changelog for version 0.7, you can see "Sound support completely rewritten, thanks to Kawase Tomohiro".
If you search the Internet for Kawase Tomohiro, you'll find[3] somebody by that name seems to work for Nintendo as a programmer, and in particular worked on the NES emulator used in 2001's Animal Crossing.
Of course, that's not conclusive evidence, but given the competing claims "Nintendo, a notoriously uptight company, has been downloading pirate ROMs to sell" versus "Nintendo hired a pioneer of NES emulation to work on their emulators, who kept using the tools and formats he was used to", I feel like one is more likely to be true and the other is more likely to get ad impressions.
[1]: https://fms.komkon.org/iNES/
Re: How SNES emulators got a few pixels from complete perfection
#55Earlier quoted context omitted.
The header likely does not contain enough creative content to even be covered by copyright.
Seriously[1]? This supposed lack of "creative content" has become the de facto standard in the domain. [1] https://wiki.nesdev.com/w/index.php/INES
Re: How SNES emulators got a few pixels from complete perfection
#56Earlier quoted context omitted.
I mean, you'd want to use a file format that would allow you to cross-test your emulator's behavior on the same ROM files against existing emulators' behavior on those ROM files. So you'd format your ROMs (which you dumped yourself) the way that existing emulators would expect them to be formatted.
Sorry, I was being a bit coy when I said the "more informal parts of the header". It literally still has the dumper's signature in the unused portion of the header. Traceability as to who gets props for the first good dump drives a lot of decisions in that scene.
Re: How SNES emulators got a few pixels from complete perfection
#57And so the final, most extreme approach, would be to expand upon our decapping efforts. We have 20x die scans, but the resolution is not enough to make out and reconstruct individual logic circuits from them, such as was done with the Visual 6502 project. That was done with the NES too: https://github.com/SourMesen/VisualNes
What is this emulator doing that causes it to emulate so slowly? Even if it's doing perfect emulation, are modern processors still so slow that they can't emulate a couple 35-year-old processors at something closer to real time?
Re: How SNES emulators got a few pixels from complete perfection
#58Interesting tangent from the article: >Today, SNES emulation is in a very good place. Barring unusual peripherals that are resistant to emulation (such as a light-sensor based golf club, an exercise bike, or a dial-up modem used to place real-money bets on live horse races in Japan), every officially licensed SNES title is fully playable I had to look up the 'dial-up modem' reference - apparently it's a Japan-only pe…
https://segaretro.org/Telebradesco_Residência
https://www.sega-brasil.com.br/Tectoy/Telebradesco_Residenci...
https://www1.folha.uol.com.br/fsp/1995/3/22/dinheiro/26.html
Re: How SNES emulators got a few pixels from complete perfection
#59Earlier quoted context omitted.
Seriously[1]? This supposed lack of "creative content" has become the de facto standard in the domain. [1] https://wiki.nesdev.com/w/index.php/INES
Thats 16 bytes of data, not nearly enough to be covered by copyright. Its not about how important it is. Like how a single line slogan isn't copyrightable even if its unique and clever, they can be covered by trademarks however. I doubt a 16 byte header could be covered by trademarks either.
Gee. Maybe they should've put it in the form of a haiku? :)
Re: How SNES emulators got a few pixels from complete perfection
#60Earlier quoted context omitted.
Seriously[1]? This supposed lack of "creative content" has become the de facto standard in the domain. [1] https://wiki.nesdev.com/w/index.php/INES
Thats 16 bytes of data, not nearly enough to be covered by copyright. Its not about how important it is. Like how a single line slogan isn't copyrightable even if its unique and clever, they can be covered by trademarks however. I doubt a 16 byte header could be covered by trademarks either.