Comment on How to port any N64 game to the PC in record time
cucumber_sandwich@lemmy.world 6 months agoC code that reproduces a running binary on an up to date compiler is worse than a machine code binary for a legacy machine of which complete Emulation is not guaranteed?
Nibodhika@lemmy.world 6 months ago
Yes, because machine code for the legacy machine is how the game was made, you can’t be 100% sure that recompiling it for other platforms won’t introduce bugs because of the difference in platforms. For example, the original Space Invaders used the CPU to it’s maximum to render all of the invaders, they weren’t normalizing by the dt between one frame and the next like we do today for most games, so this results in the game running as fast as possible, which in turns translates to the less enemies on screen, the faster they move. If you recompile that binary for a modern system it’s game over in less than 1 second, because current hardware can handle all of those spaceships as if it were nothing.
cucumber_sandwich@lemmy.world 6 months ago
Ah, i think i misunderstood your comment.
In terms of archiving I agree, in terms of restoring a running copy from an archive, maybe not.
Nibodhika@lemmy.world 6 months ago
I’m not the person who wrote the original comment, but again go back to my example of Space Invaders, if it had been archived that way it would now be essentially lost, because running a copy that was archived that way would cause the issue I described on my other comment. So I don’t understand your point, this is objectively worse in terms of preserving games, it might cause unwanted behavior that you’re not predicting, an emulator is not perfect, but can compensate for these things by emulating the hardware.
eyeon@lemmy.world 6 months ago
it’s not a valid comparison really. this is an alternative to an emulator than a ROM.
If you used this to compile a native version of space invaders that ran incorrectly it would be no worse than if you used an emulator to run space invaders that ran incorrectly. in either case you treat it as a bug in the emulator/recompiler and fix it and re run the process.
Nobody is suggesting deleting their roms and keeping only the current copy of a recompiled game. I don’t think that would even work… as far as I know you still need the original ROM to load inside of the recompiled executable for the non-code assets.
Excrubulent@slrpnk.net 6 months ago
Right, but it’s not just pushing a button to get the recompiled code, there’s stil translation work to be done. Crucially, a framerate will need to be chosen, so you can just choose to base the framerate on the processing done.
Sure, the ROM is “original” but I’d argue that accessing the source code - or an analogue to it - is a more fundamental way of archiving the original, since without that source code we don’t have access to how it was originally made.
The point is not that it competes with ROMs or replaces them, but it adds to them and makes the archive that much more complete.