[HN Gopher] The Legend of Zelda: Twilight Princess Decompilation
       ___________________________________________________________________
        
       The Legend of Zelda: Twilight Princess Decompilation
        
       Author : skibz
       Score  : 235 points
       Date   : 2023-11-24 19:09 UTC (1 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | Lammy wrote:
       | Cute usage of `.link` TLD lol https://zsrtp.link/about
        
         | jdechko wrote:
         | And the "include_link.mk" file. Yea, that's probably a good
         | thing.
        
           | grishka wrote:
           | And let's not forget that the final executable is produced by
           | a _linker_.
        
       | gmgmgmgmgm wrote:
       | CnD coming ASAP or does this kind of thing get a pass?
        
         | minimaxir wrote:
         | Many Nintendo games (including Legend of Zelda: Ocarina of
         | Time) have been decompiled and have not been attacked by the
         | Nintendo Ninjas: https://github.com/zeldaret/oot
         | 
         | The more pressing legal concern here is the use of game assets,
         | which these decompilations work around by requiring the user to
         | provide a ROM to extract them first.
        
           | vore wrote:
           | I don't think that's a real legal defense. Code is just as
           | subject to copyright as game assets (why wouldn't it be? it's
           | just another kind of game asset), and the whole extracting
           | assets thing making decompilations free from copyright
           | infringement that gets bandied about is complete armchair
           | lawyering. It's only by Nintendo's good graces these are
           | still allowed to be hosted on GitHub.
        
             | chungy wrote:
             | It's nearly trivial to get a file copy of the game disc if
             | you own a Wii and the game. No copyright infringement
             | needed to get the assets.
             | 
             | Even still, the reverse engineering part to put the
             | executable code into C++ is definitely copyright
             | infringement.
        
               | jandrese wrote:
               | Reverse engineering isn't copyright infringement.
               | Distributing the reverse engineered source code is
               | probably infringement however.
        
               | ska wrote:
               | > Distributing the reverse engineered source code is
               | probably infringement however.
               | 
               | Probably not if it actually reverse engineered (with a
               | firewall) but that's not what they are doing (i.e.
               | decompilation isn't' reverse engineering)
        
               | EMIRELADERO wrote:
               | Decompilation is an essential (although not mandatory for
               | some cases) part of reverse-engineering.
               | 
               | As for decompilation projects that have only
               | reconstructed source code and no game media assets, it's
               | probably fair use.
        
               | ska wrote:
               | It's an often used tool, sure , but for legal protection
               | of reverse engg, your implementation side is firewalled
               | from all of that.
               | 
               | It's not likely to be fair use to distribute, fwiw.
        
               | vore wrote:
               | It is not fair use in itself: https://courses.cs.duke.edu
               | /cps182s/fall02/cscopyright/Copyr...
               | Decompiling object code produces an approximation of the
               | original source code. Merely making this rough copy would
               | usually violate the copyright holder's exclusive rights,
               | even if the person who decompiled the code only used it
               | as a preliminary step in making another work.
               | 
               | The only reason anyone believes this is fair use is
               | because the copyright holders have chosen not to enforce
               | it.
        
               | EMIRELADERO wrote:
               | It is more likely to be fair use in this specific
               | instance, as the copyrighted work to which the analysis
               | is applied to is the whole game, not the code itself.
               | 
               | A big part of fair use analysis is in the effect on the
               | market for the original work. If people have to obtain a
               | copy to even use the project in any interactable way, the
               | effect is either none (if we suppose every user of the
               | project gets their original copy illegaly) or
               | positive/benefitial to the copyright holder (if it makes
               | those users actually buy legit copies)
        
               | charcircuit wrote:
               | The game is a copyrighted work, but so is the source
               | code. The compiled code is a derivative work, and so is
               | the decompiled code. Nintendo is not selling the source
               | code, so arguing about sales in the market does not makes
               | sense.
        
               | EMIRELADERO wrote:
               | The fair use analysis is done on the work as a whole, the
               | Zelda game that's registered on the Copyright Office. Not
               | the code only.
        
               | ThatPlayer wrote:
               | Decompilation might be fine, but distributing the results
               | isn't a part of reverse-engineering.
               | 
               | Fair use is limited scope. One of the first criteria is
               | use. Fair use is generally reserved for education,
               | criticism, comment, and news. At best you could say this
               | is education, but even then one of the other criteria for
               | fair use is the amount of the work published. If you're
               | teaching or criticizing this code, the whole codebase is
               | probably too much. Some snippets would be fine like you
               | would see in code reviews or reviews of books and such.
        
               | KaiserPro wrote:
               | https://www.legislation.gov.uk/ukpga/1988/48/section/50B
               | 
               | Says that its totally not legal to distribute decompiled
               | code, or indeed:
               | 
               | > uses the information to create a program which is
               | substantially similar in its expression to the program
               | decompiled or to do any act restricted by copyright.
               | 
               | If it was legal, there would be loads of decompiled
               | binaries floating around for windows, Adobe, autodesk and
               | any number of other expensive bits of software.
        
               | AshamedCaptain wrote:
               | Reverse engineering without consent _is_ copyright
               | infringement. As in order to obtain a copy of the
               | software you likely signed an EULA which will likely have
               | the standard anti-reverse engineering verbiage which
               | you'll be violating, therefore you are copying (whether
               | for your personal enjoyment or not) the works of the
               | author without permission.
               | 
               | There are a series of well documented exceptions...
               | normally found in copyright law. (And this most
               | definitely does not fall into one of them).
        
               | pama wrote:
               | There is no limitation in copying the work of an author
               | for personal enjoyment without permission. If I use my
               | neurons to read and create an exact copy I can retell to
               | myself, or I write it on pen and paper, or I type it on a
               | personal computer, or I read it out loud, or read it out
               | loud and record it for myself I don't violate anything.
               | Otherwise one would never be able to play copyrighted
               | sheet music on a digital piano say. Reverse engineering
               | might violate other agreements but not copyright law.
        
               | AshamedCaptain wrote:
               | > There is no limitation in copying the work of an author
               | for personal enjoyment without permission.
               | 
               | Actually there is in many jurisdictions of the world,
               | including mine (France). There are some exceptions
               | enshrined in copyright law, for which we actually pay a
               | tax.
               | 
               | But this is besides the point. It's not even about the
               | personal copies you make from your legally-obtained
               | original copy on the first place. It's about where you
               | obtained that initial copy from. Most definitely not
               | legally from the author, if he is not authorizing RE.
               | 
               | > Reverse engineering might violate other agreements but
               | not copyright law.
               | 
               | What other agreements does it violate? It is copyright
               | law the only thing that puts a restriction between you
               | and doing whatever the fsck you want with that code.
               | There is a reason the RE exceptions are enshrined in
               | copyright law...
        
               | grishka wrote:
               | You probably haven't signed anything if you bought the
               | game on a physical medium.
        
               | realusername wrote:
               | > Reverse engineering without consent _is_ copyright
               | infringement. As in order to obtain a copy of the
               | software you likely signed an EULA which will likely have
               | the standard anti-reverse engineering verbiage which
               | you'll be violating
               | 
               | This reasoning is only valid in the US, this kind of anti
               | reverse engineering clause has no value in the EU,
               | reverse engineering is a predefined exception granted to
               | copyright which cannot be voided.
        
               | AshamedCaptain wrote:
               | I mention in the original comment that there are several
               | exceptions (in copyright law), but these are for specific
               | purposes. However this is not one of them. If it was, you
               | could literally apply the same reasoning to any piece of
               | software in the planet.
        
               | realusername wrote:
               | The specific purpose usually being interopability, yes it
               | does apply to almost any piece of software on the planet.
               | 
               | More specifically, it's always allowed for DRM code
               | (because by definition their whole goal is to block
               | interoperability), any kind of proprietary file reading
               | and any kind of porting.
               | 
               | Here in the case of these games, the interoperability
               | argument is very easy to make since they can only run on
               | legacy hardware not even produced anymore.
        
               | AshamedCaptain wrote:
               | Ok, do you realize that from you what you claim you can
               | conclude that (software) copyright is useless? Go to
               | https://news.ycombinator.com/item?id=38410176
               | 
               | _Anyone_ could get any piece of software, claim that they
               | want to run it on their new-fangled "x85" instruction
               | set, and, according to your rationale, you'd be able to
               | just decompile it to a different programming language and
               | distribute your translation as much as you want!
               | 
               | > More specifically, it's always allowed for DRM code
               | (because by definition their whole goal is to block
               | interoperability), any kind of proprietary file reading
               | and any kind of porting.
               | 
               | For the record, you are completely misunderstanding the
               | point. These exception allows you to perform RE to
               | _understand_ the code in question for interoperability,
               | not to strip it from copyright and start distributing it
               | as if it was your own code. And in most jurisdictions
               | such exception only becomes possible when it's the _only
               | option available_ to interoperate. As this is _hardly_
               | the only option available to run this game on your
               | platform (emulation, for example, is completely legal,
               | AND you could RE this title to fix your emulator), this
               | exception hardly applies here.
        
               | realusername wrote:
               | > _Anyone_ could get any piece of software, claim that
               | they want to run it on their new-fangled "x85"
               | instruction set, and, according to your rationale, you'd
               | be able to just decompile it to a different programming
               | language and distribute your translation as much as you
               | want!
               | 
               | Yeah, why not? If you have to run through all of this
               | complexity to run the software you have to run, I don't
               | see what it would not fit as an exception.
               | 
               | You realize that those protections against copyright
               | aren't granted for free right? Everybody pays absurdly
               | high rate of copy rights on every medium they buy in the
               | EU and that's why those exceptions are there. If there is
               | no means to copy what you own to use it in a different
               | configuration, those would be meaningless.
        
               | AshamedCaptain wrote:
               | > Yeah, why not? If you have to run through all of this
               | complexity to run the software you have to run, I don't
               | see what it would not fit as an exception.
               | 
               | What complexity? Emulators are almost everywhere, and
               | they don't require you to violate any copyright (or a
               | significantly smaller amount), and therefore much likely
               | to fit under one of these exceptions (they do). "But the
               | illegal way is easier, your honor!" doesn't really get
               | you anywhere...
               | 
               | This world where software copyright does not exist is not
               | an utopia of free source code, it's a wild wild west of
               | obfuscated and/or inaccessible software and the company
               | with largest pockets has the monopoly since it can do
               | whatever it wants.
               | 
               | > You realize that those protections against copyright
               | aren't granted for free right?
               | 
               | "Protections against copyright?" You mean exceptions,
               | right? Copyright is ironically free.
               | 
               | > Everybody pays absurdly high rate of copy rights on
               | every medium they buy in the EU and that's why those
               | exceptions are ther
               | 
               | Not everybody in the EU, even though in my country
               | (France) we do. However, how is this related at all to
               | the discussion at hand? They are not even related to
               | software copyrights at all! (For which there is already
               | an exception for personal copies, and for which official
               | we pay nothing).
        
               | realusername wrote:
               | > Not everybody in the EU, even though in my country
               | (France) we do. However, how is this related at all to
               | the discussion at hand? They are not even related to
               | software copyrights at all! (For which there is already
               | an exception for personal copies, and for which official
               | we pay nothing).
               | 
               | That's exactly where this exception is coming from. You
               | can't make personal copies nowaydays without breaking
               | some kind of DRM and that's why there's an
               | interoperability exception.
               | 
               | France is indeed one of the worst in this racket but most
               | of the EU has similar implementations.
               | 
               | > This world where software copyright does not exist is
               | not an utopia of free source code, it's a wild wild west
               | of obfuscated and/or inaccessible software and the
               | company with largest pockets has the monopoly since it
               | can do whatever it wants.
               | 
               | Well that's exactly where we at now, I'm writing this
               | comment from a phone which has thousands of piles of
               | obfuscated inaccessible and non modifiable software.
               | Copyright is what led us there.
        
               | AshamedCaptain wrote:
               | > That's exactly where this exception is coming from. You
               | can't make personal copies nowaydays without breaking
               | some kind of DRM and that's why there's an
               | interoperability exception.
               | 
               | I have already addressed the interoperability exception a
               | couple messages before. In no way it just basically makes
               | all copyright protections pointless by allowing you to
               | claim "OK, now I can decompile this software and
               | distribute it as I please!".
               | 
               | > Well that's exactly where we at now, I'm writing this
               | comment from a phone which has thousands of piles of
               | obfuscated inaccessible and non modifiable software.
               | Copyright is what led us there.
               | 
               | Hardly. Copyright doesn't necessarily prevent nor make
               | tivoization easier. The GPLv3 (or some new, specific
               | legislation to this end) are the only things that would
               | successfully prevent tivoitzation.
        
               | realusername wrote:
               | > In no way it just basically makes all copyright
               | protections pointless by allowing you to claim "OK, now I
               | can decompile this software and distribute it as I
               | please!".
               | 
               | I've never claimed that but it also goes further than the
               | conglomerates would make you believe.
               | 
               | > Hardly. Copyright doesn't necessarily prevent nor make
               | tivoization easier. The GPLv3 (or some new, specific
               | legislation to this end) are the only things that would
               | successfully prevent tivoitzation.
               | 
               | While its true that open devices and software are
               | possible under copyright laws, it's more of a hack and
               | clearly not the default.
               | 
               | I don't know how you would call a law to force opening up
               | the sources of software but it's incompatible with the
               | copyright concept, that's for sure.
        
             | pjerem wrote:
             | > Code is just as subject to copyright as game assets
             | 
             | The decompiled code is not the code that Nintendo wrote.
             | This isn't the equivalent of steeling original code but
             | more like generating a brand new code that would compile to
             | the same executable.
        
               | bri3d wrote:
               | The decompiled code is a 1:1 translation, so it's a
               | derivative work. You can't distribute a translated book
               | without an agreement with the copyright owner, even if
               | the translator contributed original creative work on top.
               | The analogy is literally 1:1.
        
               | ThatPlayer wrote:
               | > This isn't the equivalent of steeling original code but
               | more like generating a brand new code that would compile
               | to the same executable.
               | 
               | That doesn't make it not copyright infringement. As long
               | as it's based on the same executable, that's a derivative
               | work. In the same way if I were to recreate Star Wars A
               | New Hope with new actors and new sets. If I were to play
               | a cover of Micheal Jackson's Thriller with new
               | instruments and new voices.
               | 
               | That's why clean-room design is a thing. To recreate the
               | same function not based off the copyrighted executable,
               | but rather its interactions with the user, other
               | programs, and files. Interactions that aren't
               | copyrightable.
        
               | qwery wrote:
               | You could do a clean-room implementation[0] of Michael
               | Jackson's Thriller and the rights holders could still
               | take you to court and have a good shot at winning. You
               | could have never heard Thriller, come up with an
               | obvious[1] melodic phrasing that some lawyers reckon
               | sounds close enough and still get sued.
               | 
               | Of course, none of that _makes it copyright infringement_
               | , only the (would-be) judge does.
               | 
               | [0] The product of which is roughly equivalent to a cover
               | 
               | [1] obvious to a musician or composer
        
               | vore wrote:
               | If I took images from the game and converted them to
               | WebPs then distributed them, that is still copyright
               | infringement, even though those are not the images
               | Nintendo created. Likewise, if you do the same with
               | machine code to reconstructed code, that's the same in
               | principle.
        
               | AshamedCaptain wrote:
               | Why is it always the same on every thread of this type?
               | Perhaps I can grab the code segments of a Windows ISO,
               | apply a series of mechanical transformations, and proceed
               | to call it Freedows and freely distribute it as my own? I
               | am having trouble understanding the thought processes
               | that lead to these conclusions. Too much ChatGPT?
               | 
               | By this logic copyright protection on software would be
               | meaningless. The GPL would be meaningless. I could grab
               | any program in the world, "translate it" to my favorite
               | language-du-jour, and call it my own.. Goodbye viral
               | license requirements...
        
               | hoten wrote:
               | These decompilation projects are not using the
               | distributed game binary to derive the code in their ports
               | directly. It's just used as a rubric. The source code
               | generated from this process is not Nintendo's. That's the
               | idea, at least. Different from taking Windows ISO and
               | jumbling it up into a rude goldberg machine and claiming
               | it as a new work.
               | 
               | Do consumers agree to a end user agreement that specifies
               | they cannot decompile the game?
               | http://en.wikipedia.org/wiki/Reverse_engineering#Legality
        
               | AshamedCaptain wrote:
               | > These decompilation projects are not using the
               | distributed game binary to derive the code in their ports
               | directly
               | 
               | That is the definition of decompilation. What are they
               | using as input, if not the "distributed game binary"?
               | 
               | > The source code generated from this process is not
               | Nintendo's.
               | 
               | This is just claiming the consequent. The output of my
               | magical code transformation method is also not
               | Microsoft's.
               | 
               | > Different from taking Windows ISO and jumbling it up
               | into a rude goldberg machine and claiming it as a new
               | work.
               | 
               | Yet that is exactly what decompilation is...
               | 
               | What distinction are you trying to make here? If I
               | translate it to a different language, it is OK? That's as
               | absurd as it gets and still basically strip all software
               | from copyright.
               | 
               | > Do consumers agree to a end user agreement that
               | specifies they cannot decompile the game?
               | 
               | For the record... yes.
        
               | mjg59 wrote:
               | They took the distributed game binary and ran it through
               | a tool that produced an approximation of source code. At
               | this point the decompiled code is clearly a mechanical
               | transformation of the game binary, and so holds the same
               | copyright status. This code is then cleaned up such that
               | it compiles and functions and variables are given
               | sensible names. This is, arguably, a creative endeavour,
               | but it's also clearly a derivative work of the original
               | binary and so is still controlled by copyright law.
               | 
               | The decompilation itself may or may not be a copyright
               | violation - that's likely to vary depending on
               | jurisdiction. If someone in a jurisdiction where it's
               | legal were to write a description of the behaviour of the
               | decompiled code and if someone else were to implement a
               | codebase that happened to compile to the same original
               | binary code then there's an argument that no infringement
               | occurred (a functional description of the behaviour of a
               | work is potentially not derivative of that work, and re-
               | implementing the code based on that description is then
               | not constrained by the original copyright), but that's
               | not what happened here.
               | 
               | I don't _like_ that this is the case, but let 's take it
               | to a logical conclusion - if I take an interpreted
               | language with a bytecode compiler, I can typically
               | decompile it to something almost 100% identical to the
               | original code (I'd lose comments and maybe variable
               | names, but that depends on the language). Does this mean
               | I can take copyrighted Python code, run it through the
               | interpreter, dump the state, decompile it, and have an
               | independent work not subject to the original license?
        
               | matheusmoreira wrote:
               | > They took the distributed game binary and ran it
               | through a tool that produced an approximation of source
               | code.
               | 
               | > At this point the decompiled code is clearly a
               | mechanical transformation of the game binary, and so
               | holds the same copyright status.
               | 
               | Courts disagree with you.
               | 
               | Sony Computer Entertainment v. Connectix Corp.
               | 
               | https://scholar.google.com/scholar_case?case=716676913673
               | 727...
               | 
               | > The object code of a program may be copyrighted as
               | expression, 17 U.S.C. SS 102(a), but it also contains
               | ideas and performs functions that are not entitled to
               | copyright protection. See 17 U.S.C. SS 102(b).
               | 
               | > Object code cannot, however, be read by humans.
               | 
               | > The unprotected ideas and functions of the code
               | therefore are frequently undiscoverable in the absence of
               | investigation and translation that may require copying
               | the copyrighted material.
               | 
               | > We conclude that, under the facts of this case and our
               | precedent, Connectix's intermediate copying and use of
               | Sony's copyrighted BIOS was a fair use for the purpose of
               | gaining access to the unprotected elements of Sony's
               | software.
               | 
               | Not only are the methods of operation which underlie the
               | code completely unprotected, the copying of and the
               | application of tools to the code for the purpose of
               | exercising your _right_ to discover those unprotected
               | elements is fair use.
        
               | saagarjha wrote:
               | Posting the quote "Object code cannot, however, be read
               | by humans" in a discussion about decompiling a game is
               | definitely a strange option to take.
        
               | qwery wrote:
               | I'm not sure why. I think most threads of any type
               | usually feel the same as other threads of the type. As
               | for your Windows hypothetical, not sure which Windows
               | you're talking about, but I don't think Microsoft would
               | really care if you did the equivalent of the projects
               | being discussed to Windowses of approximately that age.
               | If you do something obviously different, like _freely
               | distribute a modified Windows ISO as your own_ , I would
               | expect to encounter some resistance.
        
               | AshamedCaptain wrote:
               | > If you do something obviously different, like freely
               | distribute a modified Windows ISO as your own, I would
               | expect to encounter some resistance.
               | 
               | And this is exactly what this Github repository is doing.
               | 
               | If you are arguing "abandonware", then this is no legal
               | argument whatsoever.
        
               | matheusmoreira wrote:
               | https://www.law.cornell.edu/uscode/text/17/102
               | 
               | > (b) In no case does copyright protection for an
               | original work of authorship extend to any idea,
               | procedure, process, system, method of operation, concept,
               | principle, or discovery, regardless of the form in which
               | it is described, explained, illustrated, or embodied in
               | such work.
               | 
               | The way the game works is not protected. Only Nintendo's
               | code is.
        
               | AshamedCaptain wrote:
               | You are doing the same mistake as the other poster:
               | claiming the consequent. I could also say that my magical
               | transformation process produces code which is not
               | Microsoft's, even when it obviously ingests code that is
               | Microsoft's. Why would your method be stripping copyright
               | protection while mine wouldn't? What's the difference
               | from what you are claiming?
               | 
               | Frankly at this point I just want to point out that if in
               | your world view this is allowed, then _all_ software
               | copyright is pointless, since anyone could apply the same
               | rationale to any program in the world. What's the point
               | of the GPL on such world?
        
               | matheusmoreira wrote:
               | > even when it obviously ingests code that is Microsoft's
               | 
               | Fair use.
               | 
               | Sony Computer Entertainment v. Connectix Corp.
               | 
               | https://scholar.google.com/scholar_case?case=716676913673
               | 727...
               | 
               | > The object code of a program may be copyrighted as
               | expression, 17 U.S.C. SS 102(a), but it also contains
               | ideas and performs functions that are not entitled to
               | copyright protection. See 17 U.S.C. SS 102(b).
               | 
               | > Object code cannot, however, be read by humans.
               | 
               | > The unprotected ideas and functions of the code
               | therefore are frequently undiscoverable in the absence of
               | investigation and translation that may require copying
               | the copyrighted material.
               | 
               | > We conclude that, under the facts of this case and our
               | precedent, Connectix's intermediate copying and use of
               | Sony's copyrighted BIOS was a fair use for the purpose of
               | gaining access to the unprotected elements of Sony's
               | software.
               | 
               | Not only are the methods of operation which underlie the
               | code completely unprotected, the copying of and the
               | application of tools to the code for the purpose of
               | exercising your _right_ to discover those unprotected
               | elements is fair use.
               | 
               | > then _all_ software copyright is pointless
               | 
               | It is pointless. I am a copyright abolitionist.
               | 
               | > What's the point of the GPL on such world?
               | 
               | None. The GPL was literally created in response to
               | copyright protection being extended to software. No
               | copyright, no point to the GPL.
        
               | AshamedCaptain wrote:
               | > [software copyright] is pointless.
               | 
               | So you provide one answer on my question of which thought
               | process leads to these conclusions: wishful thinking.
               | 
               | Sigh.
               | 
               | See what I just wrote on the other comment:
               | 
               | > These exceptions allows you to perform RE to
               | _understand_ the code in question for interoperability,
               | not to strip it from copyright and start distributing it
               | as if it was your own code. And in most jurisdictions
               | such exception only becomes possible when it's the _only
               | option available_ to interoperate. As this is _hardly_
               | the only option available to run this game on your
               | platform (emulation, for example, is completely legal,
               | AND you could RE this title to fix your emulator), this
               | exception hardly applies here.
               | 
               | This is exactly what actually happened in the case you
               | are quoting.
        
               | lrvick wrote:
               | People will de-compile proprietary software and GPL it,
               | and others will have AI clone/port GPL code to new
               | languages then back to the original language again to de-
               | GPL code.
               | 
               | Overall this will make software copyright laws pointless,
               | but in the end everything anyone cares about will be open
               | source. I am here for this outcome.
        
               | AshamedCaptain wrote:
               | Frankly I think you have a very rosy view. If this were
               | to happen I foresee companies would immediately start
               | treating code as if it was a private key, using
               | ridiculous hardware protection mechanism, tivoization,
               | SaaS, and the like as much as possible. The entire reason
               | code is so accessible right now is because companies only
               | care about making it "inconvenient" for home piracy,
               | relying on the threat of legal action for everyone else.
               | Imagine a world where if you don't do it then your
               | competitors can legally use your software. Everyone who
               | isn't already releasing their software under the BSD or
               | PD would stop doing so since just about everyone else
               | could just shamelessly rip it into their next closed as
               | hell & secure boot'd device. Your "AI" would have zero
               | source code to train on. Only the companies with the
               | largest resources would be able to break the latest
               | obfuscation mechanisms, leading to more effective
               | imbalances in power. And on and on..
               | 
               | Mandating open software & open hardware is one thing, but
               | simply removing copyright doesn't led there -- it leads
               | to a even more dystopic world.
        
               | Salgat wrote:
               | Is a translation of a book not also protected under the
               | original copyright? This is just a human readable form of
               | the original binary.
        
             | colechristensen wrote:
             | There are fair use carveouts for reverse engineering code
             | to, for example, make it usable on different platforms. I
             | don't believe this kind of decompile project has ever had
             | its day in court and the laws are written in such a way
             | that the outcome is at least somewhat likely to be skewed
             | in favor of reverse engineering. Nintendo may be avoiding
             | bringing suit because they don't think they could win or
             | that the judgement might make expanded rights explicit
             | encouraging more of this kind of thing.
             | 
             | EFF on the topic https://www.eff.org/issues/coders/reverse-
             | engineering-faq
        
               | chungy wrote:
               | It's even possible that Nintendo evaluates the harm of
               | these projects to be rather lower compared to
               | distributing the complete games themselves. Even though
               | it's not based in any legal reality, the projects'
               | firewall of "You must provide art assets from your own
               | copy of the game" may suffice to keep the lawyers away.
               | 
               | I know, Nintendo will litigate anyone for any reason, but
               | it is possible for a company to look away when these
               | measures are taken.
        
               | LegibleCrimson wrote:
               | Yeah, seems most likely. In the past, they've explicitly
               | taken down distributions of things like the SM64 PC port,
               | but left the decompilation.
               | 
               | Companies don't have to C&D. If something poses very
               | little financial danger, but taking it down presents
               | significant risk of PR harm, it's not worth it. The C&D
               | would cost more than it would save, so it makes no
               | business sense.
               | 
               | Don't ask me why they even bothered taking down fan
               | games, though. They seem to care a lot about art assets
               | in particular.
        
               | chungy wrote:
               | > Don't ask me why they even bothered taking down fan
               | games, though. They seem to care a lot about art assets
               | in particular.
               | 
               | If talking about AM2R, it posed a rather credible threat
               | against the success of the official Metroid 2 remake
               | (ignoring the fact that AM2R is of much higher quality
               | anyway). Plus it contained ripped sprites from Zero
               | Mission, Fusion, and incorporated all of the characters
               | and enemies that Nintendo owns.
               | 
               | You can't just make your own Lord of the Rings or Star
               | Wars without infringing the copyright of the original
               | work. Same with fan remakes.
        
               | LegibleCrimson wrote:
               | That one I get to a degree, but they've hit a lot of
               | others for less clear benefit.
        
               | ThatPlayer wrote:
               | Those fair use exceptions only cover the process of
               | reverse engineering specifically. From that article:
               | "Reverse engineers execute code and/or make copies of
               | software as part of analyzing the way the program works."
               | 
               | But distributing the code is not part of the reverse
               | engineering process, so that fair use doesn't apply. Also
               | from that article:
               | 
               | > It is highly risky to copy any code into a program you
               | create as a result of reverse engineering, because that
               | copy could infringe copyright unless it is a fair use
               | under copyright law.
        
             | qwery wrote:
             | I obviously don't speak for who you replied to, but I just
             | wanted to point out that they made no claim about
             | copyright.
        
               | vore wrote:
               | Legal concern = copyright infringement. What other legal
               | concerns are there in this scenario?
        
       | ace2358 wrote:
       | Very cool! These decompilation projects are getting more and more
       | ambitious! We've had androids games ported to the PS vita, Super
       | Mario 64 running on a modded PS4, I've got diable 1 one my
       | switch. It's great!! Thanks to the hard workers!!
        
         | speps wrote:
         | What was the Android game ported to PS Vita? It sounds
         | challenging but not nearly as much given the Vita CPU is ARM
         | and GPU supports OpebGL ES 2. Lots of the Vita components were
         | phone components.
        
           | smith7018 wrote:
           | The ports work because the Vita has an Arm v7 processor and
           | Android games can run on the bare metal. The developers
           | figured out that they just needed to patch some methods
           | (presumably IO, gpu calls, and OS methods) to work on the
           | Vita's OS.
           | 
           | https://wololo.net/2022/11/10/ps-vita-android-
           | ports-30-games...
        
             | pjmlp wrote:
             | Android games fully written with the NDK, not Android games
             | in general.
        
         | causi wrote:
         | One of the spookiest to me is Mario 64 running on the Funkey S.
        
       | doomlaser wrote:
       | > Our long-term goal is to produce a highly documented and
       | complete C++ codebase for every version of _Twilight Princess_.
       | Having clear and readable source code will aid speedrunners,
       | glitch hunters, and modders curious about how particular parts of
       | the game work.
       | 
       | > Our primary goal is a full decompilation of the GameCube USA
       | version with appropriate documentation. After this is achieved,
       | we plan to decompile the other versions of the game.
       | 
       | Cool project.
        
       | okl wrote:
       | I guess that proposing symbol names could be an apt use case for
       | AI. Some papers are referenced here:
       | https://github.com/nforest/awesome-decompilation#ai-based-de...
        
         | geiagal wrote:
         | thanks for the link! I do a lot of hand decompilation and I
         | wonder if AI could be helpful...
        
       | zamadatix wrote:
       | Perhaps a better landing page to start from if you haven't seen
       | the other efforts before either: https://zelda64.dev/
        
       | 99_00 wrote:
       | Playing twilight princess made me appreciate the beauty of
       | twilight in nature - the colors, lighting, shadows, sounds.
        
         | explaininjs wrote:
         | It made me appreciate the goth girls in nature too...
         | https://www.bing.com/images/search?q=midna
        
       | shampto3 wrote:
       | I've been having a blast playing an online multiplayer mod of
       | ocarina of time for the PC port that was made from a
       | decompilation a while back. I'm excited to see the fun stuff that
       | is made from other decompilation projects like this.
        
         | jcul wrote:
         | Could you share a link?
        
           | shampto3 wrote:
           | Thanks, I should have included it in the original comment.
           | 
           | https://github.com/garrettjoecox/anchor
           | 
           | This is a fork of the Ship of Harkinian PC port for ocarina
           | of time. If you just want to play the normal game on PC, you
           | can go to the original repo here:
           | https://github.com/HarbourMasters/Shipwright
        
             | garrettjoecox wrote:
             | Hey that's me. Glad you're enjoying it.
        
               | Icathian wrote:
               | Man I love HN.
               | 
               | Also, thanks for making this. It looks amazing.
        
         | fho wrote:
         | That's literally what I dreamed about as a little kid :-)
        
         | Cypher wrote:
         | how do you play that one?
        
       | gmerc wrote:
       | Sooner or later LLMs will trivially shift code from one language
       | to another too, which will be fun
        
       | CM30 wrote:
       | The most interesting thing to see here will be what the modding
       | scene does once/if the project is finished. Because generally,
       | decompiled games are a hell of a lot easier to mod in any notable
       | way than ones where you have to code any additions in assembly
       | language, and it gets easier still when someone ports it to PC or
       | what not.
       | 
       | Just look at Super Mario 64. Since that game got decompiled and
       | ported, we've since the number of custom elements in your average
       | ROM hack skyrocket, and the complexity of some of the projects
       | people have made using the engine reach ridiculous degrees. Prior
       | to this, we mostly only saw custom powerups, enemies, bosses and
       | objects in hacks by Kaze Emanuar. Post this happening, such
       | things pop up in contest and game jam hacks made in a few weeks.
       | 
       | Same thing with Ocarina of Time, and other affected games. When
       | people understand the source code (and then when it becomes much
       | easier to modify), the complexity of a community's work goes up
       | tenfold.
       | 
       | So yeah, it could be interesting to see whether any ambitious
       | Twilight Princess mods start development after this, assuming it
       | gets finished. I don't think there's much of a scene for those
       | right now either, so this could be what kickstarts said community
       | in general too.
        
       ___________________________________________________________________
       (page generated 2023-11-25 23:02 UTC)