Earlier quoted context omitted.
There’s also inevitably going to be timing/performance-related bugs - the N64’s devkit docs say it runs games under a thin OS for multi-threading[1] so that’s another opportunity for things to go wrong. Also, after conversion these games are still designed and hardcoded for an N64 controller and 4:3 aspect-ratio - that’s hardly “native” as far as PC gamers are concerned. [1] https://ultra64.ca/files/documentation/onl…
That operating system is statically linked into the game binary.
Nearly all Nintendo 64 games can now be recompiled into native PC ports
171–180 of 182 posts
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#172Earlier quoted context omitted.
The license of the ROMs it's to play them, not to exploit them.
I'm pretty sure all roads lead to either playing the game or otherwise not doing anything of value to Nintendo whatsoever (ie who cares if you bury a box of roms in your yard)
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#173I wish all game executables would be OS agnostic, something similar to WebAssembly: GameAssembly. For example you can no longer play 32-bit games on new macOS version, neither 32-bit Windows games under Wine. It's almost impossible to find 64-bit .exe files so they can run under fine under Wine/Crossover.
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#174I 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.
That will likely require full decompilation. This is akin to wrapping the emulator up with the rom, with a few common functions (found via decompilation) being updated to support more modern rendering approaches. This isn't so much "native" as it is a patched container in an executable form. EDIT - But hey, you can always just add another layer of emulation via Proton to run it in Linux.
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#175Earlier quoted context omitted.
Honestly SM64 with new graphics in those demo videos looks worse than the original game. But Gamecube games running in an emulator look amazing because they use a lot more vector graphics, which the emu can scale up and apply antialiasing to. What interests me more about recompilation is it can produce very efficient binaries instead of having to emulate everything. And also makes it easier to add new features.
Yeah, SM64 is weird because a lot of '3d' objects used billboarding, it was actually just a flat object always facing the camera, so they don't scale up well. Anything spherical (chain chomp for example). Hilarious proof: https://imgur.com/gallery/Xw4tN#FoRAGl7 The characters in Mario Kart 64 were like that too, they just prerendered a heap of different angles and inserted the appropriate one. With recompilation we c…
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#176One thing this could be cool for is games like Goldeneye, which is hard to play on PC because it expects that weird joystick input. It would be awesome to have a native Goldeneye port with normal mouse behaviour like other FPSes.
There is emulator hack for Goldeneye that add WASD + mouse support and I heard that it works great. https://github.com/Graslu/1964GEPD/releases/tag/latest
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#177Earlier quoted context omitted.
Nintendo doesn't typically go after emulation projects. Yuzu was the exception, and there are reasons for that related to how the Yuzu team ran their project and distributed it that painted a legal target on their back. This project isn't distributing any of Nintendo's code, game assets, or other intellectual property.
Nintendo has also gone after a handful of specific tools for circumventing the Switch encryption, which has led to speculation that this push is really about shoring up "Switch 2" against existing hacks and emulators being updated (in the event that it's substantially the same software platform with updated silicon).
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#178Earlier quoted context omitted.
> 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.
This is the odd thing about the DMCA… rights holders can prevent you from doing something in their license, but then the law can override that by allowing you to said thing… unless there is any sort of copy protection involved, in which case the law doesnt override the license.
- [1] Here I’m interpreting this as “format shifting”, which has largely been considered fair use by the courts. It’s the reason Apple got away with selling the iPod with CD ripping software and told customers to rip their CD collections… since CD’s didn’t have copy protection, the DMCA provisions didn’t apply, and thus it was not explicitly illegal to copy your CD’s to your iPod. And the prevailing view was that copying your own CD to your own other device was fair use so long as you didn’t sell the copy or anything. I would wager that the ROM situation on the NES/SNES classic is similar.
Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#179Re: Nearly all Nintendo 64 games can now be recompiled into native PC ports
#180Earlier quoted context omitted.
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.
I think it went through about five iterations.
My crack was to step it with the original disk to decrypt the encrypted part and modify the code to jump over the decryption. It was pretty sophisticated for the day.
To another extreme, Ocean disk games had a “IsGenuineDisk” style function. It returned 1 or 0 in the accumulator. I could crack it in under a minute with a disk sector editor.
Oddly, I ended up doing Mac copy protection years later.