Fascinating interview. I especially like the part about the many, many benefits of emulation relative to real hardware. Emulators are just better products, really. I've seen comments by other developers saying that the scene should strive to keep the heat low by waiting until the systems are no longer relevant before emulating it. I respect their reasons for thinking so but I've always thought it unnecessary... They do such good work, they could directly compete with the companies and their locked down hardware.
Seeing one of my favorite games in the screenshots was really nice too. So many memories playing Mega Man Battle Network...
> Link to a more readable version with less bullshit on the screen
You linked to a totally different site that derives revenue from advertising. So, a site that is making money on the intellectual property of the original site without contributing anything back as far as I can tell. Plus you are directing traffic away from the original site that may gain new readers for the good work they have done on this interview. I'd say your link is the BS.
I've seen outline links being posted before, so I assumed it was fine. There's ads on this thing?! I didn't know, I use a blocker and never saw any ads. For that I apologize, and I will remove the link.
Modern emulation devs keep the heat low by making it extremely cumbersome and complex to use their emulators. The last time I looked, you had to have a hacked switch and run some home brew tool to dump files of the system which you can then use to run the emulator.
This in my opinion is to make using the emulator even harder than just running pirated games on your already hacked switch. And then once the console is discontinued, the devs just make it work out of the box.
I don't think it's hard on purpose. Not sure what those files are but they're in all likelihood copyrighted and therefore illegal to distribute. So the emulator developers make it the user's problem. It's just like the PlayStation emulators and their BIOS images.
Absolutely this. The firmware contains copyrighted data and that data is also critical to the functioning of the Switch, both emulated and real.
Modern handhelds are not like the older ones, there's actually an OS involved and a lot of per-system settings that uniquely identify your Switch-- especially when it connects to Nintendo's servers or authenticates if you're allowed to play a digital game.
Older handhelds had also their quirks! The original gameboy boot bios would load the Nintendo logo from the cartridge ROM and would run a "checksum" of the logo data, to compare it with a constant value stored in the Bios itself - it the logo in the cartridge is the copyrighted Nintendo logo, it would start the game.
With that Nintendo wanted to be sure that any cartridge would require a copyrighted logo so a License would be technically required.
SEGA also did this! The so-called trademark security systems. Completely insecure, but violating it gave the console manufacturer the perfect excuse to sue the violator.
Lawsuits involving this system had really interesting results. In one case, the judges not only ruled that the trademark infringement was fair use, they said that SEGA made the trademark infringement necessary in order to produce compatible games due to their own security system. The infringement was SEGA's own fault!
The world used to be great before DMCA criminalized even the attempt to cricumvent these things.
You might also be interested in the Bleem and Virtual Game Station lawsuits. They're notable because they involve commercial emulators, nobody settled out of court and it clearly demonstrates how large and rich companies abuse the legal system to put their smaller competitors out of business.
I'm not a lawyer so I don't fully understand the laws here. I found they were quite easy to read though.
Sony complained that Connectix copied their copyrighted code during the reverse engineering process. This is obviously necessary in order to reverse engineer the code, access the unprotected ideas embodied in it and produce compatible products. It was ruled as fair use.
Sony complained about their use of screenshots of copyrighted games in advertising. This is comparative advertising intended to show that the emulator performs as intended, which is obviously good for consumers. It was ruled as fair use.
Despite this precedent, I still see companies issuing DMCA claims to emulator developers whenever they find some screenshot on an emulator website! It makes me wish some judge would award the developers millions just to punish the audacity of these companies. They're wrong but they know the developers won't ever take it to court so they take advantage of the situation.
Also, at no point is the legality of emulators ever disputed. It's not even a gray area. Emulators are competitors. They compete directly with the original hardware. They even try to argue that these competing products will tarnish their trademarks!
Sony lost all lawsuits yet they won in the end, because judges granted injunctions which prevented the smaller companies from selling their emulator software. That led to their ruin and the discontinuation of their emulator development. This was their goal all along. Their arguments are clearly insane, they just wanted some shoddy excuse to take their competitors to court and burn their money. In a just world, the judges would calculate the amount of lost profits caused by Sony and make them pay with interest.
I don't know in this specific case, but for other games/emulators you can either use a hacked version of the game that doesn't require a security check, or, if you can reverse engineer what the authentication server does, point the game to some other server (i.e. https://en.wikipedia.org/wiki/Bnetd#CD_key_non-interoperabil...) that acts that the authentication server.
Most emulators reimplement that stuff. Virtualising the console is the whole point of the project. I’d expect in 5 years you won’t need any files because the console will no longer be commercially viable.
Indeed. I agree that virtualizing the whole console is the goal. It is also true that older systems had some software in them that got reverse engineered and replaced by emulator developers. There are GBA BIOS images circulating out there but they are not necessary for GBA emulators to work. This is the ideal.
However, older systems were also much simpler. The GBA BIOS functions may have been simple enough that it was not difficult for the emulator developers to reverse engineer and reimplement them natively. Newer systems such as the PlayStation no doubt had extremely complex software controlling hardware like the disc drives. I've even seen references to C standard library functions in the debugger documentation and many notes detailing how buggy they were. I have no doubt there are games which rely on those bugs. Reimplementing all this software would be a significant undertaking. Easier to just make the user obtain a copy of the original software. That's how its done to this day even though the PlayStation is already 5 generations behind.
It's definitely possible to emulate or reimplement this software, it's just hard and the focus of emulator projects is usually on the hardware. There are other projects which aim to do this stuff though! I've seen game engine emulators which are open source reimplementations of the engines of older games. Users are expected to plug in the copyrighted game assets themselves. Perhaps one day consoles will be nothing but standard PCs under the hood and emulating them will consist of reimplementing the APIs the games use to interface with the operating system just like Wine and the Windows API.
I think it's likely that both of these can be true. That it is easier for the developers to not emulate it, but also that there is no will to get it done right now because it makes emulation hard for non developers but still easy for them. Which lets them develop in the dark without the media and legal teams on them.
Nintendo is incredibly helpful towards indie studios and they can only do that because Switch players usually purchase their games and play them on the original hardware. As soon as there's too much hardware variations, quality goes down (e.g. Android vs. iPhone) and, obviously, publishers in a market with more piracy tend to be more user-hostile.
So if using their console is the price that we players have to pay to keep Nintendo treating indie devs nicely, then I think it's a very good tradeoff.
I'm really not sure what's even being complained about on the original site. It's quite readable (only tested with an ad blocker) and really the only annoying thing is the "accept our cookies" footer.
In fact it's even better if you just disable JS entirely, it's like an old static only blog and loads extremely quickly, with no bullshit.
I'm using my phone right now. The annoying "accept our cookies" popup you mentioned took up 80% of my screen and 100% of the space reserved for text I actually cared about. There were also a ton of social media sharing buttons which I never use, taking up space and reducing privacy.
I didn't get a reader mode prompt for some reason, so I used the outline site which got rid of all that. Apparently that site is serving ads now so I won't be using it anymore.
I wasn't referring to Boiling Steam. I was talking about the outline.com site I used to make it easier to read. According to WoodenChair's comment above, it serves ads now.
> You linked to a totally different site that derives revenue from advertising.
The interview makes it sound like the GDKChan is in it for the experience while the Yuzu devs are in it for the money, even if he's polite enough to not say it directly.
Tbh I dont see any problem with being in it for the money and making a good software product. Good for both teams i guess, they both getting smth out of it and switch emu community gets 2 good emus, so win on both sides.
I personally wrote a GB emulator, while it was a lot of work is was certainly doable compared to other options and the result is pretty satisfying. I know others have started with the NES and had similar success, so IMO either of those are not bad. There's plenty of information out there for emulating those systems since lots of others have written emulators for them, so you should be able to find a lot to start with without too much trouble.
If you find those systems to be a bit too much I've heard that CHIP-8 is even simpler. At some point being too simple doesn't teach you all that much, but it might help with the basic idea if you're really lost and also take less time if you're not looking for a long project.
You pick a console/device, and spend a long time understanding how it works at the low-level.
Writing an emulator for a NES, Gameboy, or similar is hard work but not impossible. Most people suggest you write an emulator/interpeter for the fantasy chip8 device as a good starting point - that can be done in a weekend.
Google "chip8 c++ tutorial", or "chip8 opcodes" if you're more interested in learning the details yourself - and if you're not interested in starting from the bottom up I'd imagine you'll struggle with a "real" device..
Write a CHIP-8 emulator. I followed this [1] language-agnostic guide. It covers all the details and oddities without actually giving you the code, so you still need to make the effort to get the result.
Seeing one of my favorite games in the screenshots was really nice too. So many memories playing Mega Man Battle Network...