7 ms·
To operate this tool, you still need to disassemble the ROM up front and annotate it heavily before it can be recompiled. This tool is very nice, to be sure, bu
by skrrtww 2y ago
To operate this tool, you still need to disassemble the ROM up front and annotate it heavily before it can be recompiled. This tool is very nice, to be sure, but the hyperbole about anything close to one-click generation of standalone executables for an arbitrary ROM is getting out of hand.
- speps 2y agoExcept this work can be done once, stored somewhere and shared. Take a ROM (it means read-only after all) and get native port out...
- deleted 2y ago[deleted]
- Hamuko 2y agoShared legally?
- TehCorwiz 2y agoYou can share the prepared binary because it contains no trace of the rom. The rom is still required to play the game.
- GuB-42 2y agoI 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 way, but it is not as simple as reading from a CD. It means that most people will simply get them from illegal sources. With an emulator, you can say it is for "homebrews", but if you recompile a commercial game, you can't use this argument.
- immibis 2y agoNintendo hasn't been taking down any projects that can't work without a ROM input. They'll change that eventually, but for now they are not. You can't share a modified ROM but you can share binary patches.
- derefr 2y ago> 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. These little boxes use multi-image emulators, rather than Nintendo's usual approach of a customized single-image emulator for each game. And the ROMs used by these systems are just sitting there as files on disk. The disk isn't encrypted, either; nor is the bootloader or kernel integrity-signed; or really anything like that. You don't need to "jailbreak" these things — they act like Android phones, where you can just reboot them into restore mode and plug them into a computer with a USB cable, and see a virtual disk. The "modding tools" for them just drop a new kernel with wi-fi support into their /boot partition! (And you don't even need to go that far to read the ROMs off the rootfs — any Linux PC will work to mount it.) So any DMCA "they used DRM, which means their intent was to license you X, not sell you X" arguments don't apply. They did nothing to stop people from extracting these ROMs. By buying these systems, you're effectively buying "a box full of ROMs" directly from Nintendo (the IP rights-holder for said ROMs), at retail, as a "money for goods" transaction. So now, by the first-sale doctrine, they're your ROMs, and you can do with them as you please. This is true as surely as buying a DVD box-set means you now own those DVDs, and can do with those as you please. (Part up and resell the DVDs individually? Sure, why not!) Or — for perhaps a more interesting example — as surely as buying a stock images or sound-effects library on CD (even second-hand!) implicitly brings with it the IP rights to use those assets in derivative works you create. The primary-market purchaser didn't have to agree to any kind of license terms at point of sale? First-sale doctrine applies to that IP from then on! (Amusingly, Nintendo redistributed exactly such stock-image CD assets embedded into Mario 64 — so their lawyers are double-bound to agree that this particular interpretation of first-sale doctrine should pertain.)
- MaxBarraclough 2y ago> You can share the prepared binary because it contains no trace of the rom. This is wrong. Please do not confidently present your guesswork as fact. If it were true, copyleft would have no chance of working; binaries compiled from copyleft-licensed source-code would not be subject to the copyleft licence.
- blindstitch 2y ago100% legal if you delete within 24 hours.
- gurchik 2y agoSource?
- Retr0id 2y agoThat guy's uncle works for Nintendo
- cauefcr 2y agoTrue in Brazil, is it true anywhere else?
- thiagoharry 2y agoThis is not true in Brazil. In Brazil, this is just an urban legend that several sites with ROMs spread in the 90s. By Brazilian law, you cannot download a ROM if you do not own a copy. It is possible that this rumor of 24hs is based in some old law that is not applicable anymore.
- ars 2y agoIt's legal if the recipient owns the game, it would be covered under fair use for compatibility purposes.
- toastercat 2y ago[flagged]
- doublepg23 2y agoI don't think that's true. The video in the post shows a no-name n64 game being recompiled and running fine. No annotation needed.
- amlib 2y agoThe video also makes it clear that only games using a certain microcode works for now. I imagine there are many parts of HLE emulation that gets added to the recompiled software as wrappers and compatibility code to make it all work, so in a sense this may be more akin to an embedded emulator into a native binary (recompiled code), which can overtime be worked on to add new features, fix shortcomings of the original software and make it more "ergonomic"/compatible with it's new target platform. But such work can only feasibly be achieved by reverse engineering the software and giving it human readable symbols. In a sense there is almost as much work to do as on the previous decompilation projects, but you can get results (run the game) right away (or at least much faster than traditionally), assuming of course the game uses a compatible microcode and isn't doing anything fancy that depends on the intrinsics of the n64 architecture.
- christkv 2y agoI’m guessing it works for the standard Nintendo provided microcodes.
- DaiPlusPlus 2y agoThere’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/online-manuals/man/pro-man/pro07/index.html https://ultra64.ca/files/documentation/online-manuals/man/pr...
- lordgilman 2y agoThat operating system is statically linked into the game binary.
- slongfield 2y agoTo 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.
- kwanbix 2y agoAnd there are probably fewere games that are worth doing. Maybe 100? 200?
- tristor 2y agoI really liked the N64, but if we're being charitable it's probably like 30-40 games. For any given console, even those that achieve legendary status, the game quality follows a Pareto distribution, 80% is crap, 20% is worth playing after the console has left the public mind.
- TheGRS 2y agoWhat no one wants to revisit Nagano Winter Olympics or Tetrisphere? Its probably closer to 50 if you want to include some of the lesser-known but interesting titles IMO. One of the most interesting games was Body Harvest since its clearly a prototype for a lot of what became GTA3
- tacker2000 2y agoHaha Nagano! I played countless hours of ski jumping with my friends back then
- sixothree 2y agoAnd for consoles like PS2 or OG Xbox or newer, so so many games have newer versions on other platforms
- acchow 2y ago20% seems far too generous
- darby_eight 2y ago> you still need to disassemble the ROM up front and annotate it heavily before it can be recompiled. Why? Surely it's more straightforward to do binary-to-binary translation. No human input needed!
- immibis 2y agoFor example, Zelda (both of them) load segments of code from the cartridge at runtime. The recompiler needs to know which areas contain code, and the original relocation-applying code for MIPS instructions obviously won't work on x64 instructions either, so it needs to know how the relocations work.
- ambyra 2y agoWhat is the process, and can any of it be chatgpted?
- 38 2y ago[flagged]
- advael 2y agoI think "but using the tool takes time and effort" is a good but not perfect criticism of a tool that purports to reduce time and effort spent. As many asinine CEOs are making outsized claims about generic "productivity" improvements from various tools in this space and similar ones all the time, I get this instinct. However, it does not make sense when the use of the tool is anything other than "something you could already do, just faster"