My understanding is the prod keys are required to tell the software (e.g. games) that it is running on an authorised device and passes certain checks / DRM.
To run the software without prod keys would require (I think) patching each game individually to skip those checks. So it could be possible but wildly impractical unless some other work around is found.
Rumor has it that Yuzu and all of its derivatives violated the DMCA in a way that Ryujinx did not, in that Yuzu was allegedly developed inappropriately using proprietary information from Switch SDKs, where Ryujinx is doing it legit via “clean room” reverse engineering. So Ryujinx is likely safe, but anything using Yuzu code is legally poison.
If Nintendo would put half the effort into game development as they put into picking legal fights, maybe they could make profit off their video games enough they wouldn’t have to do lawsuit trolling.
Like the Mario 64 recompilation, this isn’t running on an emulator, but is totally native. That means it runs smoother, has zero issues that you might get from emulation (like inaccuracies), and makes it so much easier to mod and extend it. You can see some of the features on the page like autosaving and playing on high framerates.
Emulation is almost never 100% accurate, that’s why seemingly perfect emulators like Dolphin still get updates. They mimic the original hardware as closely as possible but there are still bound to be some bugs and games that don’t work perfectly. The best emulators are more like 99.9% accurate.
N64 emulators aren’t that good, so you’ll get occasional graphics errors and crashes.
Software-wise, sure. It’s easy to dump the BIOS and game. The hard part is emulating the hardware. Consoles often have quirky architectures and special chips that don’t map to PCs very well. And the chips themselves often have quirks that either aren’t documented, or work in a way that disagrees with documentation. But the game developers often relied on those particular quirks for their games. For example, if there was a bug in the GPU that caused textures to become blurry when loaded in a certain way, a developer might exploit that as a free blur filter. (If you’re interested in actual examples, try the Dolphin dev blog. I think it’s really interesting.)
100% accurate emulation is basically impossible for every single console. You can get extremeley close via cycle accuracy, emulating the CPU’s instruction set but even that isn’t perfect.
Also much more possibilities in terms of controls, ie no more janky remapping buttons and mouse axis into pretending to be controller inputs or messing with mouse injectors, instead you can get native KB+M support, dual analog, etc.
The ROM in this case is only used for game assets, like maps, models, and textures. All the game logic in native code. This allows is to be easily modified to add in new features without trying to hack it into a 20 year old game/console.
It’s a bit similar. However this goes a bit further than I understand those projects do. They’re creating a game like the original. With this decompilation project, if you use the N64 compiler you will get a ROM which is 100% identical to the original.
Does anyone know if there is a an open project to make more closely integated combined randomizers for OoT and Majora’s Mask from the decompiled versions?
The Ship of Harkinian OoT decomp team have moved on to 2 Ship 2 Harkinian for MM, which is rapidly catching up to this separate static decomp project. I’d imagine that once it is done the individual randomizer comes next, then combined.
If you don’t care about it running as a PC port, there already is a combined rando that results in an n64 rom.
I’ve played the rom multiworld randomizer and like it a lot! I guess my longshot hope, and I don’t know if it would be feasible even from the decomp, is a single-world entrance randomizer with similar items merged, and the ability to use OoT items in MM and vice versa.
This doesn’t contain the game code either. It takes a user-supplied ROM and converts it to an executable. Nintendo do not own the code that performs the conversion.
github.com
Najstarsze