Live data from Hacker News

Nearly all Nintendo 64 games can now be recompiled into native PC ports

tomshardware.com

151–160 of 182 posts

Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports

#151

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?

Basically every game is written in C on a modern processor (MIPS) so i highly doubt it. Maybe some weird homebrew stuff like that flappy bird video uses it but emulators tend to deal with problems like that by ignoring them (e.g. IIRC there is no emulator that can properly run that N64 linux port from a few years ago, and there have been plenty of SM64 glitches that work differently on emulators vs real hardware)

Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports

#152

Earlier 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?

Every game on the system will have some people who are super nostalgic for it. When many of us were kids, we only had a few games, and we played the hell out of them.

Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports

#153
post #125
post #108

Earlier 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…

The license of the ROMs it's to play them, not to exploit them.

Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports

#154

Earlier 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.

It's pretty much best practice on the 6502. Loading code from disk or tape is basically the sane thing too.

Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports

#156
post #9
post #5

I 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.

I had to do several magic flags for video plugins in order to avoid glitches in THPS2 for instance, compared to Zelda or SM64.

Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports

#157
post #55

What'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.

I don´t get the downvotes, this is just... porting.

Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports

#158
post #5

I 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.

It already works on linux. I've tested it.

Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports

#159
post #141

Earlier 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`.

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

Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports

#160

Earlier 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

One of the nice side effects of not playing video games anymore is I don't have to touch anything from Microsoft with a 10' pole.
Post reply on HN