 Ahoy there, ladies! I am a pirate! It's true. I recently bought a copy of Super Mario RPG for SNES so that I could legally play it on my handheld PC. But I made one fatal mistake that could bring Nintendo's lawyers to my door. I downloaded the ROM off the internet! By gosh, that's piracy! But it didn't have to be. Oracle of all people sponsored this video where we're gonna answer the question once and for all. Is there a way to 100% legally emulate games? Can you liberate the delicious gamey bits trapped inside these plastic shells? And for that matter, why would you want to do such a thing? So come along and join me on the seven seas! Ha ha! You are a pirate! Super Mario RPG Legend of the Seven Stars is one of those games that, despite being available on the SNES Classic and both the Wii and Wii U Virtual consoles, is not available to buy on any platform right now, given that they're all discontinued. That means that even if you own a physical copy of the game, like I do, there's no way to legally play it without something that can read the cartridge. And worse, every time you slot it into the original console, you are wearing down the contacts on both sides bit by bit. So even with a modern console like the Super NT, the condition of the cartridge will degrade over time as you swap it in and out. And what about your saves? Cartridges from the 16-bit era and earlier almost always used a small amount of battery-backed-up SRAM for saving progress. And those batteries are at least 25 years old now. Well past their service life. And once they die, your save games die with them, and you will never be able to save again unless you replace the battery. An act that will erase your save games unless you go out of your way to keep it powered while you solder. Not sure if I'd recommend that for novices. That's where projects like the Sani card reader come in. There have been other cartridge readers over the years like the Retro, but they were expensive and have largely been discontinued. This, on the other hand, is an open source project that began in 2014. And today you can actually build your very own using an Arduino Mega and custom PCBs that allow you to read practically any cartridge from the major consoles. From the Nintendo Entertainment System era through to the GBA era and copy them onto a micro SD card, including the save data. This save the hero version from builders is named for that very feature and functionally it's just a Sani V3 but with more premium materials including an acrylic top plate and a wooden underside for about $100. You could build your own for about half of that, but it might not be worth the hassle to you. The newest Sani V4 has more intuitive controls and an easier build for about $80 worth of parts. And there's a simpler even cheaper version that you can build if you just want to get your feet wet. Let's take it for a spin shall we? I'm gonna be honest with you guys, I bought this complete inbox at a local store and in the interest of not doing any further damage to it, I have not actually opened it yet. So for all I know, it may not even be in there. Anthony, did you check? Anthony picked it up for me. It's not a box of rocks. I don't know if there's not rocks inside the cartridge though. That's fair. Doesn't smell like new electronics, more like old electronics. We've got four different cartridge slots for the SNES, Sega Genesis, N64 and... What's that just done? Yes, this is for the Game Boy Advanced as well as Game Boy and Game Boy Color. So I'm gonna go ahead and... These four switches here allow us to select between three and five volts. Five is what we want for the Super Nintendo. EEPROM off or on, we want that off. And then both of our clock gens, zero and one, are gonna go to the on position. Next, we're gonna put this adorable little micro SD card featuring Bart Simpson into our Save the Hero. This contains the database files that we need, which can be downloaded off of GitHub. And now I get to power it up. Not quite. The controls for this thing are actually handled through an N64 controller. That kind of interferes with the SNES slot a little. Is that the most adorable little power indication LED or not? Open source cart reader. So wait, I do need this or I don't? You do not. What? I was gonna correct you, but I figured it'd be funnier. It's just with these buttons? The left button moves the cursor, the right button selects. What does this do? That is for reading N64 memory packs. That makes sense. Again, I thought it was funny, so I let you do it. Wow, you can test it, you can cycle it. I don't even know what cycling it does. You can even take save files that were created in an emulator and load them onto a cartridge if you want to reform your filthy pirate ways. How neat is that, right? You don't think of this stuff as a storage medium, but it is. Yeah, it's just weird proprietary ugly storage. So now... It's on there as a fully functional ROM. It's so easy. You could dump a huge collection in like no time. So what? I can just pull this off and then I could just totally... Oops, read save. Nope, nope, go back. You'll probably want to hit cycle cart. Read ROM. Here we go. Okay. Okay, no, it's going to overwrite my Super Mario RPG ROM. No, it doesn't overwrite with the Doom data. Oh, it'll just make a second. It keeps a tally of it, so it creates a new numbered folder each time. Okay, I'll just rename it on the computer. If it calculates the checksum, will it say, no, you did a bad job? It'll probably say checksum fail or something like that. Let's see. Checksum error. So let's do the cycle cartridge thing. Boom. You're going to want to be careful. This is the kind of thing that's like read the manual, okay? What the... Where does NES go? NES goes into the SNES slot with the help of a handy adapter. Shut up. Oh, it needs an adapter. That makes sense. How do I tell which way it goes in? It's probably got to be keyed, right? Is it not keyed? What you need to do is just match up the silkscreen side with the front label and then plug it in the same way you plugged in the Super Nintendo game. Uh-huh. Oh, do not like. Okay. Current setting. Okay. So it remembers the last settings you used. The thing with NES games is that they lack header data with any information about the game or the ROM layout. So there's no information on the chips or anything like that. You need to tell the reader how to talk to it at all manually. You can find this by looking it up on nescartdb.com. The mapper, which is one of the things you're going to need to pay attention to, is kind of the way of describing the layout of the cartridge. Each mapper corresponds to a different layout of chips on a cartridge. The PRG is the program ROM chip. The CHR is the character ROM chip. And RAM mostly refers to SRAM for saving. But some games do have work RAM like Super Mario Brothers 3. Okay. How obtuse. What's this adapter for? That adapter is for Sega Master System. Master System games are another 8-bit console. They do have headers, but they don't identify what the game is. So they'll always read as TMR Sega, which is what the header actually says. Now, conceivably, if I wanted to be a total asshat, I could dump this and put it on your Dragon Warrior cart and vice versa. They are not writable. They are read-only. They are ROMs. Oh, that makes sense. That's why we call them ROMs. Now, thanks to the community efforts, we know what each of these ROMs should actually come out to be. So we have checksums to be able to check whether or not our dump is good. If the checksum doesn't match, you should check other variants of the game because they can be slightly different. If the checksum still doesn't match, you should power off, make sure all the contacts are clean, reseed it, and try again. Make sure that switches are set correctly as well. If the checksum still doesn't match, you might have a unicorn. Or a bad cartridge or reader. Okay. Well, that's it. Was the point of this video just for me to buy a bunch of adapters and readers for your retro collection so that you can borrow them from work? Yes. Well played. Okay. Now that Linus has dumped all of his difficult-to-dump cartridges, we can talk about CD and DVD-based games, which can usually be backed up with a typical DVD-ROM drive. Although newer consoles are a little bit trickier, which sucks because those will deteriorate naturally over time. And some consoles like to actually chew them up. Like there's an Xbox variant that scratches disks. Unfortunately, you'll usually need to mod your consoles to back up games from the Dreamcast onwards thanks to the copy protection strategies that companies used for them. That's a little beyond the scope of today's video though. So are our new waffle long-sleeve shirts, but I won't judge if you're distracted by their greatness. Regardless of how you get them backed up, a great bonus is that you can apply patches to them. There are countless Super Mario World ROM hacks out there. There are translation patches for games that were never released in English or other languages. And the 32X version of Doom in particular was widely considered a flop, but recent developments have turned it into one of the finest ports of the original Doom available for a 90s console. Complete with a newly composed chiptune soundtrack and CD audio support. By dumping your own ROMs, you're legally able to use these hacks. The question of whether they create a derivative work is for the authors of those hacks to worry about. So far, we've dumped 24 games across multiple platforms. And while we could use something like the Mega Everdrive to run these on original hardware without swapping cartridges all the time, we're going to set up some emulators. You can use anything for this, but a Raspberry Pi is inexpensive, efficient, and has several options for setting up an easy to use retro gaming box like RetroPi. Unfortunately, they're also in short supply right now, but the Raspberry Pi 400 here is as powerful as a Pi 4 and still available. Bonus points for having an integrated keyboard so you can game without a controller if you need to or emulate computers. All we need to do is write the image to an SD card on a computer, then insert it into the Pi and follow the prompts. It's a lot easier to transfer ROM images and save files via a USB stick if you install the Pixel desktop environment after completing setup. Just make sure that the save files match the game's name and end with.srm. Then copy the files to the system appropriate folders here and you're good to go. Just remember to change the auto start option back to Emulation Station unless you want the desktop by default. Let's play some games. Emulation Station picked up everything pretty much right away. Now, it doesn't pick up the album art or anything like album art, the game cover art or anything like that right away. You do need to use a scraper for that. Which can be done automatically as long as you have internet connection. So these are the games we dumped. We got Afterburner for 32x, Doom for 32x, which I could patch. Battle Outrun, which is a game that was only ever released in Europe and Brazil. And I didn't realize this, but this game actually, like they cut out a UPC and stuck it to the back of the box. So this is running too fast, but it's the way that I've always known it. What else do we have here? Mega Drive, Phantasy Star 2, Road Rash 3, Sonic & Knuckles, Castlevania 64, which is, we won't talk about that too much. Diddy Kong Racing, GoldenEye 007, Perfect Dark, Resident Evil 2, and Star Fox 64. Let's play Super Mario RPG. Why not? So these are the actual saves that were pulled off of this cartridge running on this emulator. We don't need to run the original console anymore. We don't need to worry about wearing out the cartridge or anything like that. We don't need to worry about the save data being corrupted thanks to a failing battery. Karlo level 30 was the last saved Mario. So let's go ahead and see what Karlo was up to. I never really got this as a kid, but Yoster Isle is a play on Easter Island. Input lag seems okay. I mean, this TV might be adding some. It is in game mode. It's probably not as good as original, but for a game like, actually, Super Mario RPG has timed hits. Wow, pink still won even after I tried to stop it. Let's try something else, I guess. Phantasy Star is kind of interesting. It's the beginning of a series that I really like. It's not a super great game, but it is impressive for its time. Let's go to Beans. This is very Dragon Quest-y. So like, you got the first person battles. Yeah, it all basically looks like this. The neatest thing is that I'm playing it on a Raspberry Pi, even though like I didn't download it from the internet. I grabbed it off of the cartridge itself. Now, a couple of my games, sadly, their saves are dead. So Phantasy Star 2 here, there was no save on that. I don't know if the battery is still good or not. I think it tested okay with a multimeter, but I'm not 100% on that. So they might've just wiped the saves. Sonic 3, though, the FRAM chip on that is dead. It just blows my mind that like these games, I didn't download them. They're in a bin right over there. Linus only really provided this. It is a valuable game. It's valued at $299 Canadian. Can it detect fake cartridges? If the cartridge is a fake in that it's like been a flashed EEPROM, then yes, because if you try to read it in a traditional sense, it'll be weird. Like it's not reading the original chips. One of the things that it can actually do is write EEPROMs. So if you've got one of those reproductions, you can actually change what game is on it. And that reminds me, this has a function to write save data. I can't just ignore that, can I? We've already got the save files backed up anyway. So there's no big loss if, for example, I were to overwrite the saves on this cartridge. Here we go, Super Mario RPG.SRM. SRAM writing finished. That's a lot of bytes that did not verify. Oh no. When I was testing this, I happened to notice that the battery inside tested okay. I took apart the cartridge. Linus doesn't know about this. The idea being that if it was like bad, then I would replace it. However, it looks like the SRAM chips in this cartridge may actually be bad. The save data I put on there were just a bunch of games that said LTTStore.com. But unfortunately, it looks like this cartridge needs more love than I can give it right now. At first, when I was loading the saves up on this to test, there were like six or seven bytes that didn't verify. And I was going to go, oh, look, this is one of the reasons why you need to make sure that you, you know, to take care of your cartridges. But it looks like the SRAM chip has mostly failed at this point, which is sad. I was going to power it up and we'd see LTTStore.com and we'd all laugh. Now it's just a sad tale of a game that's really valuable, but needs repairs. And this is why backing up your games is important. Having the ability to take the information that you have on here, whether it's the information that was originally on the ROM, because the ROMs themselves can die too, or the information that you put on the SRAM, it's just for the sake of preservation of either your effort or somebody else's that you've paid for, dumping your cartridges just makes sense. Now here's a huge disclaimer. I am not a lawyer. So when I say that we're doing all of this legally, I'm talking about the precedents we've seen so far. Nintendo likes to argue that the games you purchase are not licensed for use without the original hardware. But the harsh reality for them is that format shifting, that is the act of taking content from one piece of media like a game cartridge and transferring it to another like an SD card, is provided for by most countries' copyright laws. There are specific exemptions in the DMCA for bypassing copy protection for these exact purposes. Now, just because this is technically legal isn't to say that Nintendo has no valid concerns about piracy. From the NES all the way to the N64, game copiers have existed on the gray market and were often used by piracy groups looking either to release games onto the early internet or sell them in emerging markets where Nintendo had less of a foothold. If you've ever seen one of those million and one cartridges floating around, then that's the kind of thing that I'm talking about. These devices became so popular that some copiers like this special partner here for the SNES even included extra features like crude save states and onboard memory that kept up to seven games ready to play so you didn't have to swap the diskettes they relied on every time. Because these devices themselves weren't illegal, Nintendo couldn't do much to stop their sale. But they and many developers created clever copy protection schemes that used these extra features to detect when they were being played on something other than the original cartridges. In mild cases, they would simply throw up an error, but some games altered gameplay to make it impossible to progress, including deleting your saves. EarthBound famously does this at the last boss. Game freezes, reset, all your saves are gone. Thankfully, technology has advanced a lot since the 90s, which is why Linus actually rebuilt his game gear with modern parts. So go over and watch it after this one. And thanks to massive efforts like those throughout the retro gaming community, we not only have reliable ways to read games from cartridges, but we also have those databases of known good checksums to match games so we can verify the data. Big thanks to them for making all of this possible and for everyone in the future who will inevitably make it possible for people to save their Nintendo Switch games and beyond. Oh, and big thanks again to Oracle for sponsoring this video. You're sort of supposed to have this up for Pi Day, but... So instead, I'll talk to you about their Oracle Cloud infrastructure, which makes deploying and managing infrastructure as code easier than ever. For example, the OCI Resource Manager simplifies control of your Terraform configuration, and you can use the Visual OCI Designer Toolkit to make them from scratch. If you prefer to write IAC with a more familiar language, Pulumi for OCI allows you to code in TypeScript, Python, Go, or C Sharp. Looking for IAC and configuration management in a single tool? With OCI modules for Ansible, you're able to create playbooks that can build infrastructure and apply configurations seamlessly from the same tool. And if you're looking to integrate infrastructure management capabilities into your application ecosystem, check out any one of the available OCI SDKs. You can choose from Java, Python, TypeScript and JavaScript, Go,.NET, and Ruby. Learn more and get started today using the links below. Thanks for watching, guys. This one was a bit different, so go check out our video on how gaming on a Mac isn't crazy anymore. You can totally get your ROMs going on a Mac, and they'll run great, too. Or the Game Gear video, if that's already up.