I saw this when it came out, and as someone that doesn't follow the ROM hacking scene, I'm wondering - why did this approach take so long to come up with? Translating the assembly instructions to C and then recompiling them seems like an obvious method to try early on, but I'm wondering if there was some other breakthrough that made this possible in a way it wasn't before?
Are they using self-modifying code or anything else that would make this tricky?
Nearly all Nintendo 64 games can now be recompiled into native PC ports
151–160 of 182 posts
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#152Earlier quoted context omitted.
To be fair, N64 is not the PS2 or Gameboy--there are only 388 games that were released for it. Going through all of the games that were released and shepherding them through this process is feasible.
And there are probably fewere games that are worth doing. Maybe 100? 200?
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#153Earlier quoted context omitted.
I wouldn't count on it, it is still derivative work and I am sure the licences for the games forbid this. Some companies may let it slide, but Nintendo is known to be aggressive about their intellectual property. And you will probably have a hard time arguing that it doesn't promote piracy. You can't get "ROMs" officially. You have to extract them from the cartridge with specialized equipment, or maybe in some other…
> You can't get "ROMs" officially. You have to extract them from the cartridge with specialized equipment, or maybe in some other way, but it is not as simple as reading from a CD. Nintendo has, in fact, sold the public ROMs before (and I don't just mean custom emulator executables wrapping ROM payloads that get delivered encrypted onto DRMed consoles.) Specifically, I'm talking about the NES Classic and SNES Classic…
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#154Earlier quoted context omitted.
Yes and no, with the 8bits and probably 16bits like the C64, NES, etc you really want cycle accuracy and emulating something like the PS2 really well would probably need a fair bit of accuracy. HOWEVER.. writing an recompiler (not feasible for 8bits due to the amount of self-mod code) you could probably insert pattern checks to detect writes to DMA-starting locations,etc (thinking back to our PS2 games) and transform…
Good point about 8bit self modifying code. The UK C64 disk for “Skate or Die” had copy protection that did exactly that, as an example.
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#155Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#156I hope this eventually also works for Linux so that N64 games can be reliably played on very low end portable handhelds. N64 is notoriously tricky to emulate, but building them for the platform natively removes all performance problems.
> N64 is notoriously tricky to emulate Huh, I wouldn't have expected that. I don't know much about the specifics of N64 emulation, but I've had N64 emulators running perfectly since the early 2010s. I played mostly the big classics, so I'm unfamiliar with more niche title performance.
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#157What's the advantage over an emulator? This is after all, a form of an emulator - one where you translate ahead. This sort of thing has been done in the past with things like Bleem so it can be more performant but on a modern PC any good emulator is going to perform well. https://en.wikipedia.org/wiki/Bleem !
Recompilation is not emulation.
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#158I hope this eventually also works for Linux so that N64 games can be reliably played on very low end portable handhelds. N64 is notoriously tricky to emulate, but building them for the platform natively removes all performance problems.
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#159Earlier quoted context omitted.
Oh, didn’t know that, thanks !
If it were, targeting all platforms would have been fairly easy (assuming it would still rely on OpenGL), sometimes just specifying RID e.g. `linux-arm64`.
There is an unofficial Linux launcher that can run the Android build
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#160Earlier quoted context omitted.
If it were, targeting all platforms would have been fairly easy (assuming it would still rely on OpenGL), sometimes just specifying RID e.g. `linux-arm64`.
They could target Linux fine with their C++ code, they actually have secret builds for Linux for Marketplace creators (they have been leaked occasionally) but they don’t allow the general public to use them There is an unofficial Linux launcher that can run the Android build