It sure sounds like it, and I'm loving all of this. I just want people to use the source code as good references for improving emulators and CFW (Nothing wrong with referencing source code to get a better understanding of the hardware, just don't copy/paste everything verbatim.)
Even ignoring the fruit of a poison tree problem is there much this is likely to add? As far as I am aware we already have total control and as good as total understanding as is really necessary to do anything.
And unsurprisingly, we got the same people (since those people tend to use the same mail/location marks) throwing around the "you shouldn't use these, it isn't legal and Nintendo could sue you" everywhere around.
Simple reminders, people :
- You can't be sued for reading source code, understanding how it works and using said knowledge to enhance your own code, or else most of the emulation scene would have been sued to hell and beyond. You can, however, be sued if it can be proven that you copypasted parts of it blindly
- Considering how it could cost lots if said source code gets reverse-engineered, it is beneficial to companies whose code it belongs (Nintendo, but also Microsoft considering the recent source code leak of the OG Xbox) to spread disinformation in order to mud the waters. It has happened before, it will happen again later, so don't look surprised if it happens here.
I'll probably get criticized a lot for this post, but it's something worth pointing out.
You personally get sent to the cleaners and spend the rest of your life all poor? Probably not.
However we have several very notable cases, some even featuring Nintendo, about using illegitimately obtained information to do things vs other things.
Atari Games Corp. v. Nintendo of America Inc. in 1992 is usually overshadowed by Sega vs Accolade a month later, and Lewis Galoob Toys, Inc. v. Nintendo of America, Inc. before that (game genies = legit for that one), but it does deal with this; short version is Atari pretended to be legit to get info, judges were all nah mate can't do that.
At that point if Nintendo wanted to be arseholes (have we all missed the last however many years/decades?) then they could make things rather more annoying as far as sharing homebrew, emulators and the like that spill out from it. Maybe source code and compile could still happen, though maybe not on a nice public service like github, but that is a pain in the arse vs being able to freely download a binary, share it, participate in public donations and also grab source and participate in development without having to join random IRC channels and know the secret handshake. See the original xbox, which to this day has one of the best emulation scenes going (the emulation is good, the UI is consistent and good, the features available on the emulation are great... as far as I am concerned most of it is better than the Wii was which came years later), for how that one plays out.
Equally there are ways to legitimately reverse engineer things that they can't do anything about -- using an off the shelf ARM processor style means you can download a manual from ARM and learn a lot, using a slightly hacked up version of mobile opengl for the graphics means you can learn much from public manuals, you inject some data into the 3d memory or whatever and see how it displays, add one to one bit, figure out what that does and repeat until you understand it all and that is fine. Leaked source code is anything but that though.
The above has already been done too. Had this happened during the early days of the 3ds (maybe after some keys had been found, though it might have accelerated that too) then that might have changed things, though again it would probably have been forced underground like the xbox. Today however the hardware is known, people have done the necessary legwork and for the most part it is about implementing what is already known, and squashing bugs or speeding things up/figuring out what shortcuts you can take.
At this point such info is mostly just of historical interest. Depending upon its vintage you can figure out what devs likely knew and why they might have made games a certain way, might have some info in the formats Nintendo used/provided (most of which have been figured out already, known from elsewhere or are straight custom). As far as custom firmwares go then between homebrew and what is already out there then there is not a lot you are likely to gain.
Can someone explain to a simpleton what this does? Can it be made into emulators or knock offs? I don’t understand how this is “bad”. Thanks so much.
A console is usually little more than an arrangement of some off the shelf chips with a basic operating system or firmware to hold it together.
The makers of this console however have to document the changes to hardware and way it all speaks to each other so their developers can actually do something with it in a sensible amount of time.
Back in the 8 or 16 bit era this documentation was really quite detailed hardware notes much like you would see on something like
http://problemkaputt.de/gbatek.htm . Absolutely wonderful for those making emulators, hacking games, making games.
Starting with the 32 bit era then this started to be less and less as the devs moved away from twiddling the hardware at the lowest levels and instead had the compiler take care of it all (far easier on any number of fronts).
Today this shift has been going on for decades so the documentation and leaks are mostly of the dev docs (not much good unless you are going to use the official tools to make a game) and some of the aspects of the firmware/OS/underlying code binding the hardware together. The latter stuff might be interesting if it had not already been dumped years ago and analysed for anything interesting (the code is usually quite small with very limited functionality so it is already done). Some might also be able to do a bit more with some of the operating system/firmware but frankly all the protections have already been removed and limitations gone, and anybody with enough skill to do something useful can do it in a reasonable timeframe via other means.
It is bad in some ways for some people as various court rulings over the years have said using information you do not legitimately have access to in turn taints your work, which means Nintendo could turn around and say be gone as this bothers my copyright (and given they don't care for youtube videos what do you imagine they will say about emulation that they have had a serious hate for going on for years and years now?). At that point public sharing of the finished click this and go binary, possibly the source code, hosting source code on public platforms, having ads/donations on your website if you are the dev, making tools to make source code into binaries, possibly your ROM hacking tools/projects... all potentially then has to go underground which makes things 10 times harder (see the recent efforts with Mario 64 for a modern version here, or if you were around for the original xbox and wondered why downloading a nice zip from a website like this one and FTPing it across was not the order of the day as much as messing around with passworded download sites for a whole scene of it).
Equally at this point in the game the information on how things work is all well known as people figured it out.
They can tell leaked data might have been used in various ways as well. Most commonly some misinformation or a slightly longer way of doing something than is optimal will be included that does not have an immediately obvious tell for (the code might even work just fine). They see this misinformation be implemented in an emulator/homebrew by someone with access to the copy and paste commands and they know things have been used. You could go through and vet all the leaked info as accurate by doing it all on hardware but at that point you might as well have done it all yourself anyway. Clean room reverse engineering is a topic to look up there.