1 00:00:04,160 --> 00:00:07,160 Speaker 1: Get in texts with technology with tex Stuff from how 2 00:00:07,240 --> 00:00:13,960 Speaker 1: stuff works dot com. Hey there, and welcome to tex Stuff. 3 00:00:14,000 --> 00:00:17,439 Speaker 1: I'm your host, Jonathan Strickland, senior writer for house stuff 4 00:00:17,480 --> 00:00:20,560 Speaker 1: Works dot com. And before I get into any of 5 00:00:20,560 --> 00:00:22,560 Speaker 1: this episode, I would like to let you guys know 6 00:00:23,040 --> 00:00:26,439 Speaker 1: I've got a cold. It's a bad one. Earlier this 7 00:00:26,520 --> 00:00:30,479 Speaker 1: week I was unable to speak. The people around me 8 00:00:30,560 --> 00:00:33,560 Speaker 1: rejoiced because they got peace and quiet for a minute. 9 00:00:34,280 --> 00:00:36,960 Speaker 1: But just letting you guys know, in case you're wondering, 10 00:00:37,000 --> 00:00:39,760 Speaker 1: like why is Jonathan sound so weird or rather more 11 00:00:39,840 --> 00:00:43,720 Speaker 1: weird than he normally sounds, is because I am recovering 12 00:00:43,800 --> 00:00:47,640 Speaker 1: from said cold and my voice is probably somewhere between 13 00:00:47,680 --> 00:00:51,479 Speaker 1: eighty and nine percent back. So um, got that out 14 00:00:51,520 --> 00:00:53,960 Speaker 1: of the way. Today's episode is actually coming to us 15 00:00:53,960 --> 00:00:58,680 Speaker 1: courtesy of a little listener mail, or actually it's from 16 00:00:58,680 --> 00:01:02,040 Speaker 1: a listener tweet. I remember the tech stuff twitter handle 17 00:01:02,240 --> 00:01:05,880 Speaker 1: is text stuff hs W, so if you tweet me there, 18 00:01:06,440 --> 00:01:09,479 Speaker 1: I will see it. Uh. And this one comes from Dan, 19 00:01:09,600 --> 00:01:12,120 Speaker 1: who says I'd love to hear a show on how 20 00:01:12,240 --> 00:01:16,240 Speaker 1: video game emulators work. So today we're gonna explore what 21 00:01:16,319 --> 00:01:20,480 Speaker 1: an emulator is, why they're necessary, and how they work. Now, 22 00:01:20,520 --> 00:01:21,920 Speaker 1: first of all, I should say there are a lot 23 00:01:21,920 --> 00:01:25,480 Speaker 1: of different types of emulators. Uh, it's not just for 24 00:01:25,560 --> 00:01:28,880 Speaker 1: the video game world, but I'm gonna focus specifically on 25 00:01:29,280 --> 00:01:31,600 Speaker 1: video games. And you might wonder, all right, so what 26 00:01:31,680 --> 00:01:34,200 Speaker 1: is an emulator. Well, it does what it sounds like, 27 00:01:34,280 --> 00:01:38,800 Speaker 1: It emulates some other technology, which means it's attempting to 28 00:01:38,880 --> 00:01:42,960 Speaker 1: replicate how another technology works or or what it does. Now, 29 00:01:43,040 --> 00:01:46,199 Speaker 1: sometimes the emulator does this in a very different way 30 00:01:46,319 --> 00:01:49,520 Speaker 1: than the original technology did. And more often than not, 31 00:01:49,600 --> 00:01:53,200 Speaker 1: an emulator relies on software at least partly to replicate 32 00:01:53,240 --> 00:01:57,240 Speaker 1: a particular piece of a hardware's functionality. So you can 33 00:01:57,240 --> 00:02:02,320 Speaker 1: think of emulators as being at least partly of actual machine. Uh, 34 00:02:02,360 --> 00:02:05,760 Speaker 1: some of the components may actually be physical parts that 35 00:02:05,880 --> 00:02:11,040 Speaker 1: are original to whatever the technology you're trying to emulate was. 36 00:02:11,600 --> 00:02:14,600 Speaker 1: Other components are going to be purely software. And it's 37 00:02:14,600 --> 00:02:18,080 Speaker 1: helpful to use a little analogy here to understand what 38 00:02:18,200 --> 00:02:21,840 Speaker 1: an emulator tries to do. So let's say you've got 39 00:02:21,880 --> 00:02:24,240 Speaker 1: two people, and you know what, let's give them some 40 00:02:24,360 --> 00:02:26,280 Speaker 1: random names. So, just picking out of the air, I'm 41 00:02:26,280 --> 00:02:29,920 Speaker 1: gonna go with Josh and Chuck. Now, both Josh and 42 00:02:30,040 --> 00:02:33,000 Speaker 1: Chuck are in a jungle, but they are separated, so 43 00:02:33,080 --> 00:02:38,400 Speaker 1: they're each individually in a jungle. Both are running from something. Uh, 44 00:02:38,480 --> 00:02:41,600 Speaker 1: let's say they're being chased by aggressive badgers. So both 45 00:02:41,639 --> 00:02:44,440 Speaker 1: of them have managed to put some distance between themselves 46 00:02:44,520 --> 00:02:47,600 Speaker 1: and the furballs of fury chasing them. And then each 47 00:02:47,639 --> 00:02:50,720 Speaker 1: of them individually comes to the edge of a pit 48 00:02:51,040 --> 00:02:53,800 Speaker 1: two different pits, So Josh is at one pit, Chuck 49 00:02:53,919 --> 00:02:56,600 Speaker 1: is at a different pit. There's no way around the pits. 50 00:02:56,680 --> 00:02:59,320 Speaker 1: There's too much overgrowth on either side, so you have 51 00:02:59,360 --> 00:03:01,760 Speaker 1: to go over it somehow, but you can't go around, 52 00:03:02,120 --> 00:03:03,760 Speaker 1: and they each have a short amount of time to 53 00:03:03,800 --> 00:03:07,760 Speaker 1: figure out a way around or rather over, their respective pits. 54 00:03:08,639 --> 00:03:11,960 Speaker 1: So Josh decides what he's gonna do is fashion a 55 00:03:12,040 --> 00:03:14,920 Speaker 1: makeshift bridge out of some branches on the ground and 56 00:03:14,960 --> 00:03:17,080 Speaker 1: some vines, and so he binds them together and he 57 00:03:17,400 --> 00:03:20,560 Speaker 1: lays the bridge across the pit. He crosses gingerly across, 58 00:03:20,639 --> 00:03:23,359 Speaker 1: because you know, we know that Josh's sense of balance 59 00:03:23,480 --> 00:03:27,120 Speaker 1: is somewhat precarious under the best of circumstances, gets to 60 00:03:27,160 --> 00:03:29,000 Speaker 1: the other side, and then he kicks the bridge back 61 00:03:29,040 --> 00:03:31,360 Speaker 1: into the pit so that the badgers can't just follow 62 00:03:31,440 --> 00:03:35,360 Speaker 1: him across, and then he continues on his merry way. Meanwhile, Chuck, 63 00:03:35,520 --> 00:03:38,360 Speaker 1: on the other hand, uses a vine to tie it 64 00:03:38,400 --> 00:03:40,440 Speaker 1: to a branch and use that as kind of a 65 00:03:40,480 --> 00:03:43,960 Speaker 1: grappling hook. He tosses it up into the limbs overhead 66 00:03:43,960 --> 00:03:47,520 Speaker 1: and it catches, and so then he swings Tarzan like, 67 00:03:47,680 --> 00:03:51,080 Speaker 1: bellowing the whole time, and he gets to the other side. 68 00:03:51,320 --> 00:03:55,440 Speaker 1: Then he jerks the vine and dislodges the branch so 69 00:03:55,520 --> 00:03:57,280 Speaker 1: that it falls down and throws that into the pit 70 00:03:57,440 --> 00:04:01,080 Speaker 1: just in case. Badgers can also swing across pits, but 71 00:04:01,160 --> 00:04:04,360 Speaker 1: that's because he has not yet read how Badgers work 72 00:04:04,440 --> 00:04:08,160 Speaker 1: on How Stuffworks dot Com. So both Josh and Chuck 73 00:04:08,560 --> 00:04:11,920 Speaker 1: got across their respective pits, but they both did so 74 00:04:12,000 --> 00:04:14,960 Speaker 1: in very different ways. The end result was the same, 75 00:04:15,720 --> 00:04:19,240 Speaker 1: but the pathway was different. That's sort of what emulators do. 76 00:04:19,320 --> 00:04:23,960 Speaker 1: They're meant to produce a result that's identical to another technology, 77 00:04:24,000 --> 00:04:27,160 Speaker 1: even if the pathway to get there is very different. 78 00:04:27,800 --> 00:04:30,280 Speaker 1: A video game emulator is really meant to replicate how 79 00:04:30,279 --> 00:04:32,839 Speaker 1: a specific machine works so that you can play the 80 00:04:32,880 --> 00:04:36,600 Speaker 1: games that were designed for that machine, typically on a 81 00:04:36,600 --> 00:04:40,400 Speaker 1: computer a PC. So an emulator could be a specific 82 00:04:40,560 --> 00:04:44,600 Speaker 1: arcade game emulator, like for a very specific title, or 83 00:04:44,640 --> 00:04:47,680 Speaker 1: it could be a video game console emulator, which means 84 00:04:47,720 --> 00:04:51,120 Speaker 1: it could act like a video game console virtually and 85 00:04:51,160 --> 00:04:54,200 Speaker 1: you could play the games made for that console on 86 00:04:54,279 --> 00:04:56,200 Speaker 1: your computer. The end result is that you can play 87 00:04:56,240 --> 00:04:59,679 Speaker 1: those games meant for one device on a totally different device. 88 00:04:59,839 --> 00:05:02,680 Speaker 1: And and as I said before, typically we're talking about 89 00:05:02,720 --> 00:05:06,640 Speaker 1: a personal computer. Now, emulators are not the same thing 90 00:05:06,800 --> 00:05:11,880 Speaker 1: as ports. Supported game is one that developers originally created 91 00:05:12,040 --> 00:05:15,839 Speaker 1: for one architecture system, and then they adapt that game 92 00:05:15,880 --> 00:05:20,160 Speaker 1: for a totally different system. So the easiest example is 93 00:05:20,279 --> 00:05:23,520 Speaker 1: a game that originally comes out on the PlayStation might 94 00:05:23,560 --> 00:05:27,560 Speaker 1: get ported to the Xbox. These are totally different architectures. 95 00:05:27,600 --> 00:05:30,640 Speaker 1: The video game consoles work in very different ways, so 96 00:05:30,680 --> 00:05:36,120 Speaker 1: you can't just reformat and put it on an Xbox 97 00:05:36,160 --> 00:05:38,360 Speaker 1: one disc and expected to work. You actually have to 98 00:05:38,520 --> 00:05:41,120 Speaker 1: redesign parts of the game. That's what porting is all 99 00:05:41,160 --> 00:05:45,880 Speaker 1: about now. Because each system, whether it's Xbox or PlayStation 100 00:05:45,960 --> 00:05:48,960 Speaker 1: or mac Os or Windows, works in a very specific way. 101 00:05:49,040 --> 00:05:53,520 Speaker 1: Those programs are not compatible, but apport can be reworked 102 00:05:53,760 --> 00:05:56,480 Speaker 1: so that it will operate on those new systems. Now, 103 00:05:56,480 --> 00:05:59,120 Speaker 1: an emulator is different. An emulator can run a game 104 00:05:59,160 --> 00:06:02,520 Speaker 1: mint for once system on a totally different system because 105 00:06:02,560 --> 00:06:05,760 Speaker 1: the emulator is doing the work. So instead of giving 106 00:06:06,040 --> 00:06:08,960 Speaker 1: a game to a new group of developers and saying 107 00:06:09,360 --> 00:06:12,480 Speaker 1: I need you to make this version of the game 108 00:06:12,520 --> 00:06:15,839 Speaker 1: playable for this other system, you have a piece of 109 00:06:15,880 --> 00:06:20,600 Speaker 1: software that pretends that it is the other system, and 110 00:06:20,680 --> 00:06:23,360 Speaker 1: that way you don't have to have developers change the 111 00:06:23,400 --> 00:06:26,800 Speaker 1: code of the end of the original game. You do 112 00:06:26,839 --> 00:06:30,159 Speaker 1: have to have developers create the emulator. So it really 113 00:06:30,200 --> 00:06:33,599 Speaker 1: just shifts the work from adapting a game to a 114 00:06:33,640 --> 00:06:37,320 Speaker 1: different system to adapting an emulator to be able to 115 00:06:37,400 --> 00:06:41,039 Speaker 1: work on whatever target machine you're talking about. Like I said, 116 00:06:41,080 --> 00:06:44,560 Speaker 1: typically PC, more often than not it's a Windows based PC, 117 00:06:44,720 --> 00:06:47,200 Speaker 1: but you also see them for Unix and mac os, 118 00:06:47,240 --> 00:06:50,400 Speaker 1: so it's not like it's it's exclusive to Windows machines. 119 00:06:51,800 --> 00:06:56,000 Speaker 1: Now it's necessary because video game consoles and even arcade 120 00:06:56,040 --> 00:06:59,560 Speaker 1: games like the old arcade game cabinets, they have specific 121 00:06:59,640 --> 00:07:03,720 Speaker 1: hardware and software architecture to them. So some of those 122 00:07:03,720 --> 00:07:06,920 Speaker 1: old arcade machines don't really even have much software at all. 123 00:07:06,960 --> 00:07:11,640 Speaker 1: It's like the lightest level of software. It's mostly circuitry, 124 00:07:11,800 --> 00:07:16,960 Speaker 1: like hard coded circuitry. The game itself is represented in 125 00:07:17,000 --> 00:07:21,320 Speaker 1: the circuits that are on the board within the arcade cabinet. 126 00:07:21,960 --> 00:07:24,920 Speaker 1: It's kind of like the old cartridge based systems if 127 00:07:24,960 --> 00:07:27,640 Speaker 1: you had one of those, like the old Nintendo Entertainment 128 00:07:27,640 --> 00:07:31,800 Speaker 1: System or Super Nintendo or the Tari. Those are video 129 00:07:31,840 --> 00:07:35,280 Speaker 1: games that would be programmed onto a circuit board that's 130 00:07:35,320 --> 00:07:38,800 Speaker 1: housed inside of a cartridge, and you insert the cartridge 131 00:07:38,840 --> 00:07:42,720 Speaker 1: into the video game console and some contacts between the 132 00:07:42,760 --> 00:07:46,600 Speaker 1: console and the cartridge allow the console to read that 133 00:07:46,680 --> 00:07:50,520 Speaker 1: information and then you're able to play the game. Uh. 134 00:07:51,320 --> 00:07:56,880 Speaker 1: Obviously you don't have, for most PCs, a cartridge based 135 00:07:56,920 --> 00:08:00,920 Speaker 1: system that can accept these games in this way. Now, 136 00:08:00,920 --> 00:08:04,760 Speaker 1: in the olden days, arcade games contained a circuit board 137 00:08:04,880 --> 00:08:09,360 Speaker 1: unique to that particular game. So, in other words, a 138 00:08:09,360 --> 00:08:13,000 Speaker 1: an Asteroids machine was an Asteroids machine. That's all there 139 00:08:13,040 --> 00:08:15,800 Speaker 1: was to it, because the circuit board had the Asteroids 140 00:08:15,880 --> 00:08:19,080 Speaker 1: game on it. If you opened up a Pacman machine 141 00:08:19,120 --> 00:08:21,200 Speaker 1: and you opened up a Donkey Kong machine, you'd find 142 00:08:21,240 --> 00:08:23,800 Speaker 1: two different circuit boards. The pac Man one of the 143 00:08:23,840 --> 00:08:26,600 Speaker 1: Donkey Kong one would be unique to those arcade games. 144 00:08:27,200 --> 00:08:32,120 Speaker 1: They did have a very low level of software on 145 00:08:32,280 --> 00:08:36,400 Speaker 1: the machines on the circuit boards called BIOS now that 146 00:08:36,440 --> 00:08:40,640 Speaker 1: stands for Basic Input output system, and really it's just 147 00:08:40,679 --> 00:08:44,280 Speaker 1: a foundational software layer. It's really just meant to be 148 00:08:44,400 --> 00:08:49,120 Speaker 1: responsible for managing the relationship between input devices like a 149 00:08:49,160 --> 00:08:51,880 Speaker 1: push button or a joystick or that sort of stuff, 150 00:08:52,640 --> 00:08:58,040 Speaker 1: and the output devices like the monitor or even just 151 00:08:58,160 --> 00:09:01,880 Speaker 1: what the game is supposed to do whenever you enact 152 00:09:02,200 --> 00:09:05,920 Speaker 1: on those input devices. So the input could be a 153 00:09:06,000 --> 00:09:09,280 Speaker 1: jump button, for example, you press the button and the 154 00:09:09,360 --> 00:09:12,920 Speaker 1: output is you see your character jumping on the display. 155 00:09:13,520 --> 00:09:16,319 Speaker 1: But keep in mind, the actual output is really the 156 00:09:16,360 --> 00:09:20,880 Speaker 1: code for jumping and a signal to the arcade machines display. Right, 157 00:09:20,920 --> 00:09:24,040 Speaker 1: the display is not making your character jump. That's being 158 00:09:24,080 --> 00:09:27,720 Speaker 1: controlled by the code of the arcade machine itself. It's 159 00:09:27,800 --> 00:09:30,640 Speaker 1: reflected on the monitor in a way that you can 160 00:09:30,679 --> 00:09:35,000 Speaker 1: see by having the little character jump up in the air. Now, 161 00:09:35,040 --> 00:09:39,000 Speaker 1: the game's circuit board handled everything else in those old 162 00:09:39,040 --> 00:09:43,360 Speaker 1: machines besides that input output. The hardware was handling everything. 163 00:09:43,840 --> 00:09:46,200 Speaker 1: It was just programmed directly onto the circuit board that 164 00:09:46,280 --> 00:09:50,640 Speaker 1: include the game's sound, its graphics engine. It's logic if 165 00:09:50,640 --> 00:09:52,840 Speaker 1: you had an arcade cabinet and you wanted to switch 166 00:09:52,880 --> 00:09:55,920 Speaker 1: out games. Let's say you've got a Pacman cabinet and 167 00:09:56,000 --> 00:09:58,360 Speaker 1: you think, I'm gonna put Donkey Kong in this cabinet 168 00:09:58,360 --> 00:10:00,439 Speaker 1: and I'm gonna I want to switch out the games. 169 00:10:00,480 --> 00:10:02,520 Speaker 1: What you had to do was gut the machine. You 170 00:10:02,520 --> 00:10:06,559 Speaker 1: had to take all that circuitry and those connections out 171 00:10:06,679 --> 00:10:10,000 Speaker 1: of the machine, the pac Man machine, and replace them 172 00:10:10,040 --> 00:10:13,520 Speaker 1: with the ones from a Donkey Kong machine. You couldn't 173 00:10:13,559 --> 00:10:16,000 Speaker 1: just swap out a certain element. You had to do 174 00:10:16,080 --> 00:10:20,960 Speaker 1: pretty extensive surgery. Uh. It took some time, usually, you know, 175 00:10:20,960 --> 00:10:23,640 Speaker 1: a half hour an hour easy to to switch these 176 00:10:23,679 --> 00:10:27,200 Speaker 1: things out. Later on, it got a little simplified. First 177 00:10:27,240 --> 00:10:30,920 Speaker 1: it got simplified in the the adoption of some more 178 00:10:31,240 --> 00:10:35,360 Speaker 1: standardized connectors. So that meant that you could start to 179 00:10:35,400 --> 00:10:38,359 Speaker 1: disconnect a circuit board from the rest of a system, 180 00:10:38,440 --> 00:10:42,280 Speaker 1: and assuming that the control scheme is similar from the 181 00:10:42,280 --> 00:10:45,680 Speaker 1: old game to the new game, you could plug the 182 00:10:45,760 --> 00:10:48,640 Speaker 1: new circuit board into a cabinet and it would work 183 00:10:48,640 --> 00:10:51,559 Speaker 1: pretty well. Uh. Now, obviously that only works if your 184 00:10:51,559 --> 00:10:54,839 Speaker 1: control scheme is the same. So, for example, if you're 185 00:10:54,840 --> 00:10:57,920 Speaker 1: playing pac Man, there's no jump button, right, there's a 186 00:10:58,040 --> 00:11:00,680 Speaker 1: player one, a player two, and then there's the joystick 187 00:11:00,760 --> 00:11:04,840 Speaker 1: that has for motion control, and you just control the 188 00:11:04,840 --> 00:11:08,080 Speaker 1: the pac Man character that way. But let's say you 189 00:11:08,080 --> 00:11:11,240 Speaker 1: wanted to play Centipede. Centipede is a very different type 190 00:11:11,280 --> 00:11:14,160 Speaker 1: of game. Has a rollerball controller, so you have a 191 00:11:14,200 --> 00:11:17,320 Speaker 1: ball that you uh, you swipe and you can move 192 00:11:17,360 --> 00:11:19,920 Speaker 1: your character that way, and it has a fire button 193 00:11:20,000 --> 00:11:23,360 Speaker 1: where you shoot whenever you press the button. So if 194 00:11:23,400 --> 00:11:27,240 Speaker 1: you were to switch out the pac Man to the 195 00:11:27,320 --> 00:11:32,040 Speaker 1: Centipede boards, assuming that they had these universal connectors, you 196 00:11:32,120 --> 00:11:35,000 Speaker 1: still would have to switch out the control system as well, 197 00:11:35,200 --> 00:11:37,520 Speaker 1: or else you wouldn't really be able to control the 198 00:11:37,559 --> 00:11:39,880 Speaker 1: game Centipede the way it was meant to be played, 199 00:11:40,320 --> 00:11:42,960 Speaker 1: particularly since you wouldn't have a fire button, that would 200 00:11:43,000 --> 00:11:47,960 Speaker 1: be a problem. Later on, arcade manufacturers would create machines 201 00:11:48,000 --> 00:11:50,120 Speaker 1: that had the basic hardware set up so that different 202 00:11:50,160 --> 00:11:52,720 Speaker 1: games could be plugged into the system, more like a 203 00:11:52,800 --> 00:11:56,079 Speaker 1: video game console. So this was even simpler than the 204 00:11:56,160 --> 00:12:00,440 Speaker 1: universal kind of standardized controls UH. This was more about, 205 00:12:00,480 --> 00:12:05,280 Speaker 1: like uh, a set structure where you plug in a 206 00:12:05,400 --> 00:12:08,840 Speaker 1: chip essentially that has the game on it and everything 207 00:12:08,840 --> 00:12:11,439 Speaker 1: else remains the same, so kind of like a video 208 00:12:11,440 --> 00:12:13,960 Speaker 1: game console, where if you're playing a Nintendo and you 209 00:12:14,000 --> 00:12:20,160 Speaker 1: wanted to stop playing Super Mario Brothers instead play Gumshoe. 210 00:12:20,600 --> 00:12:24,040 Speaker 1: Then you could turn off the console, pull one cartrid, 211 00:12:24,080 --> 00:12:25,800 Speaker 1: shop put the other cartridge, and turn it on and 212 00:12:25,800 --> 00:12:27,959 Speaker 1: there you go. Same sort of thing with these old 213 00:12:28,040 --> 00:12:31,200 Speaker 1: arcade machines. Once they got to this level of sophistication, 214 00:12:32,480 --> 00:12:33,520 Speaker 1: it was still a bit of a pain in the 215 00:12:33,600 --> 00:12:35,880 Speaker 1: butt because he still had to open everything up and 216 00:12:35,880 --> 00:12:38,200 Speaker 1: and get in among all the wires and stuff. But 217 00:12:38,200 --> 00:12:41,440 Speaker 1: it was still way faster than the old days where 218 00:12:41,440 --> 00:12:45,880 Speaker 1: you had to replace everything. Essentially. Now the games themselves 219 00:12:46,080 --> 00:12:50,320 Speaker 1: are called ROMs r O M. S Now r O 220 00:12:50,559 --> 00:12:54,239 Speaker 1: M is an acronym. It stands for read only memory. 221 00:12:54,600 --> 00:12:57,920 Speaker 1: That meant the player or anyone else couldn't write anything 222 00:12:57,960 --> 00:13:01,040 Speaker 1: to the game. Now, they might have something on the 223 00:13:01,040 --> 00:13:04,680 Speaker 1: circuit board, some some temporary memory in the arcade machine 224 00:13:04,679 --> 00:13:07,000 Speaker 1: that would allow players to put in initials next to 225 00:13:07,080 --> 00:13:10,640 Speaker 1: high score, and that would be stored in that memory chup, 226 00:13:10,720 --> 00:13:13,679 Speaker 1: but the game itself was immutable. You could not change 227 00:13:13,800 --> 00:13:16,840 Speaker 1: the game. It was the computer equivalent of being set 228 00:13:16,880 --> 00:13:20,760 Speaker 1: in stone. So in the emulator world we generally refer 229 00:13:20,920 --> 00:13:24,960 Speaker 1: to game files as in the software that represents that 230 00:13:25,080 --> 00:13:29,040 Speaker 1: game as a ROM. If you've ever used an emulator, 231 00:13:29,400 --> 00:13:32,960 Speaker 1: you're probably familiar with ROMs. And there's a big legality 232 00:13:33,080 --> 00:13:36,200 Speaker 1: question people have when it comes to ROMs, and I'll 233 00:13:36,200 --> 00:13:38,240 Speaker 1: get to that later in the episode. At the end, 234 00:13:38,640 --> 00:13:42,000 Speaker 1: I'm gonna spend time talking about the legality of read 235 00:13:42,080 --> 00:13:45,640 Speaker 1: only memory files and whether or not it is legal 236 00:13:45,679 --> 00:13:48,320 Speaker 1: to download them, But for now, let's just focus on 237 00:13:48,360 --> 00:13:50,439 Speaker 1: the technical side of things. We'll get to the legal 238 00:13:50,480 --> 00:13:53,920 Speaker 1: stuff at the end. So you've got various types of games, 239 00:13:54,040 --> 00:13:57,480 Speaker 1: each designed to run on specific hardware. And there are 240 00:13:57,520 --> 00:13:59,959 Speaker 1: the standalone arcade machines that each had their own pecure, 241 00:14:00,160 --> 00:14:03,360 Speaker 1: your architecture. They're the later arcade machines that could accept 242 00:14:03,360 --> 00:14:06,160 Speaker 1: different chips, with each chip containing a different game. And 243 00:14:06,200 --> 00:14:08,960 Speaker 1: then there are the video game consoles and their proprietary 244 00:14:09,000 --> 00:14:12,480 Speaker 1: game technologies. You even got old computer games that were 245 00:14:12,520 --> 00:14:15,200 Speaker 1: designed to run on slower machines with much less computing 246 00:14:15,280 --> 00:14:18,839 Speaker 1: power than today's PCs. Uh. A lot of those are 247 00:14:18,880 --> 00:14:22,400 Speaker 1: impossible to play on on later machines because they just 248 00:14:22,520 --> 00:14:25,120 Speaker 1: they can't handle the fact that they've got access to 249 00:14:25,160 --> 00:14:27,640 Speaker 1: all that processing power. So you might even need an 250 00:14:27,640 --> 00:14:33,160 Speaker 1: emulator for a PC based game on a PC if 251 00:14:33,160 --> 00:14:35,560 Speaker 1: it's old enough. If it's an old game, you may 252 00:14:35,640 --> 00:14:37,960 Speaker 1: need an emulator in order to run it a virtual 253 00:14:38,000 --> 00:14:41,760 Speaker 1: machine of some sort. Emulators are what let you run 254 00:14:41,760 --> 00:14:44,600 Speaker 1: those games designed for those older or other devices on 255 00:14:44,640 --> 00:14:48,200 Speaker 1: a modern machine. So I've got more to say about this, 256 00:14:48,720 --> 00:14:51,560 Speaker 1: but before I get into it, let's take a quick 257 00:14:51,600 --> 00:15:04,240 Speaker 1: break to thank our sponsor. Alright, we're back now. There 258 00:15:04,240 --> 00:15:09,600 Speaker 1: are two big categories for emulators, and this doesn't depend 259 00:15:09,680 --> 00:15:12,720 Speaker 1: upon the type of console or game you're trying to emulate. 260 00:15:12,800 --> 00:15:16,160 Speaker 1: It's universal. These two big categories are universal no matter 261 00:15:16,200 --> 00:15:20,800 Speaker 1: what system you're trying to emulate. Um so all different systems, 262 00:15:20,840 --> 00:15:23,960 Speaker 1: all different arcade games. Emulators can fall into one of 263 00:15:24,000 --> 00:15:29,200 Speaker 1: two categories. There's low level emulation and there's high level emulation. 264 00:15:30,120 --> 00:15:33,520 Speaker 1: And it might be a little counterintuitive what these mean, 265 00:15:34,520 --> 00:15:38,120 Speaker 1: but with low level emulation, programmers are trying to create 266 00:15:38,160 --> 00:15:42,560 Speaker 1: software and or hardware that can pretend to be the 267 00:15:42,640 --> 00:15:47,440 Speaker 1: emulated hardware. In other words, you're trying to replicate the 268 00:15:47,520 --> 00:15:52,680 Speaker 1: actual mechanics, although it's not mechanical, it's electronic, but the 269 00:15:52,720 --> 00:15:58,040 Speaker 1: actual uh physical process. I guess physical process doesn't really 270 00:15:58,040 --> 00:16:01,880 Speaker 1: work either, right, The actual logical process of the original 271 00:16:02,200 --> 00:16:06,080 Speaker 1: game system or arcade machine. So you want your system 272 00:16:06,320 --> 00:16:10,400 Speaker 1: to look from a high level as close to that 273 00:16:10,480 --> 00:16:14,320 Speaker 1: original system as you possibly can get it. Sometimes that 274 00:16:14,360 --> 00:16:18,760 Speaker 1: actually means including original hardware from the target machine with 275 00:16:18,920 --> 00:16:21,960 Speaker 1: the emulator, so that means you're not just replicating the 276 00:16:21,960 --> 00:16:24,400 Speaker 1: target machine, you're using some of its actual parts. You're 277 00:16:24,440 --> 00:16:30,360 Speaker 1: you're in part rebuilding the actual original machine. In fact, 278 00:16:30,360 --> 00:16:33,360 Speaker 1: the first couple of models of the PlayStation three actually 279 00:16:33,360 --> 00:16:37,800 Speaker 1: contained elements of the PlayStation two inside it in order 280 00:16:37,840 --> 00:16:40,960 Speaker 1: to provide some backwards capability. So if you wanted to 281 00:16:40,960 --> 00:16:43,440 Speaker 1: play a PlayStation two game on one of those early 282 00:16:43,680 --> 00:16:47,480 Speaker 1: PS three models, instead of it using the typical PS 283 00:16:47,600 --> 00:16:50,880 Speaker 1: three equipment inside the console, it would actually hand that 284 00:16:51,000 --> 00:16:54,400 Speaker 1: off to the PS two elements. So it's almost like 285 00:16:54,480 --> 00:16:58,000 Speaker 1: having two different video game consoles in the same box. 286 00:16:58,880 --> 00:17:01,560 Speaker 1: You didn't know it as as a consumer, like, you 287 00:17:01,600 --> 00:17:04,320 Speaker 1: don't see any of that happening. It's all happening inside 288 00:17:04,359 --> 00:17:08,560 Speaker 1: the console. But it wasn't a p S three system 289 00:17:08,600 --> 00:17:11,679 Speaker 1: reading the information and then playing it on your screen. 290 00:17:11,720 --> 00:17:14,399 Speaker 1: It was actually a PS two system housed inside that 291 00:17:14,480 --> 00:17:20,240 Speaker 1: PS three um. So the p S three's core system 292 00:17:20,359 --> 00:17:23,679 Speaker 1: was acting as the emulator, but it was using PS 293 00:17:23,720 --> 00:17:28,800 Speaker 1: two hardware to actually read the information off of disks. Now, 294 00:17:28,840 --> 00:17:31,800 Speaker 1: if you're using something like a Nintendo sixty four emulator, 295 00:17:31,880 --> 00:17:34,479 Speaker 1: the emulators trying to replicate the way the in sixty 296 00:17:34,480 --> 00:17:37,680 Speaker 1: four is hardware worked, and the more sophisticated that target 297 00:17:37,720 --> 00:17:41,240 Speaker 1: system is, the more difficult this is to do so 298 00:17:41,359 --> 00:17:45,040 Speaker 1: with low level emulation, the amount of processing power you 299 00:17:45,080 --> 00:17:48,080 Speaker 1: need on your computer to run the emulator so that 300 00:17:48,160 --> 00:17:49,920 Speaker 1: you can play those games the way they were meant 301 00:17:49,960 --> 00:17:55,120 Speaker 1: to be played. That processing power demand increases as the 302 00:17:55,160 --> 00:17:59,760 Speaker 1: complexity of the video game system you're emulating increases, which 303 00:17:59,760 --> 00:18:03,119 Speaker 1: makes sense, right. The more complicated the system, the greater 304 00:18:03,200 --> 00:18:09,160 Speaker 1: the demands are in processing powers, particularly if the system 305 00:18:09,240 --> 00:18:14,480 Speaker 1: you're trying to emulate is remarkably different from PC architecture, 306 00:18:15,119 --> 00:18:19,080 Speaker 1: because your processors having to handle all of those differences 307 00:18:19,840 --> 00:18:22,600 Speaker 1: and it ends up creating a bigger drain on the 308 00:18:22,640 --> 00:18:27,240 Speaker 1: processors ability. So if you've ever played a video game 309 00:18:27,240 --> 00:18:30,040 Speaker 1: emulator and you've run a game and you're thinking this 310 00:18:30,160 --> 00:18:33,040 Speaker 1: thing is slow as molasses. I'm barely able to get 311 00:18:33,080 --> 00:18:37,240 Speaker 1: this character moving, it's probably because you're experiencing that problem 312 00:18:37,320 --> 00:18:42,000 Speaker 1: that the emulator is probably a low level emulator. It's 313 00:18:42,000 --> 00:18:45,120 Speaker 1: trying to replicate that original system as closely as possible, 314 00:18:46,080 --> 00:18:49,280 Speaker 1: and as a result, your processor is having to work 315 00:18:49,720 --> 00:18:52,440 Speaker 1: super hard to keep up, even though the game might 316 00:18:52,480 --> 00:18:55,800 Speaker 1: be fairly simple. It can be very frustrating because you 317 00:18:55,840 --> 00:18:58,840 Speaker 1: might be playing a game that came out in like 318 00:18:58,920 --> 00:19:02,399 Speaker 1: the late eighties, and you're thinking, it's twenty seventeen. My 319 00:19:02,480 --> 00:19:05,760 Speaker 1: computer should be able to run this with no problem. 320 00:19:05,760 --> 00:19:09,399 Speaker 1: But the truth is the processors trying to handle a 321 00:19:09,520 --> 00:19:14,440 Speaker 1: system so different from itself that that's what's causing the slowdown. 322 00:19:14,560 --> 00:19:18,359 Speaker 1: I experienced this with a friend who had uh A 323 00:19:18,760 --> 00:19:23,119 Speaker 1: a an arcade emulator, and he's had ghosts and goblins 324 00:19:23,280 --> 00:19:25,159 Speaker 1: on there. And I love that game. I loved it 325 00:19:25,160 --> 00:19:27,600 Speaker 1: when it came out, but as I started to play it, 326 00:19:27,920 --> 00:19:31,119 Speaker 1: I thought, this game is way slower than I remember it, 327 00:19:31,160 --> 00:19:34,320 Speaker 1: and I just remember getting incorrectly. Nope. Turned out it 328 00:19:34,359 --> 00:19:39,000 Speaker 1: was because the emulator was putting too great a demand 329 00:19:39,240 --> 00:19:43,280 Speaker 1: on his systems processor and as a result, the game 330 00:19:43,320 --> 00:19:45,159 Speaker 1: I was playing was much slower than what it was 331 00:19:45,200 --> 00:19:49,520 Speaker 1: supposed to be. And it's really hard to make low 332 00:19:49,600 --> 00:19:53,679 Speaker 1: level emulators efficient. Some games and game system systems require 333 00:19:53,760 --> 00:19:58,400 Speaker 1: multiple synchronization processes to make sure all the emulated components 334 00:19:58,440 --> 00:20:02,080 Speaker 1: are working together properly. So the more frequently that happens, 335 00:20:02,080 --> 00:20:04,639 Speaker 1: the more times an emulator has to say, hey, is 336 00:20:04,680 --> 00:20:07,600 Speaker 1: everything all right and send that message out to all 337 00:20:07,600 --> 00:20:10,600 Speaker 1: the different components and wait for a response, the more 338 00:20:10,640 --> 00:20:15,239 Speaker 1: demands it places on that processor. Uh So, if you 339 00:20:15,280 --> 00:20:18,199 Speaker 1: want to have a really good low level emulator, you 340 00:20:18,240 --> 00:20:22,720 Speaker 1: need a a computer with like a screaming fast processor. 341 00:20:23,760 --> 00:20:26,399 Speaker 1: And and that could be again a little counterintuitive. You 342 00:20:26,480 --> 00:20:29,640 Speaker 1: might think, well, this game can run the latest computer 343 00:20:29,800 --> 00:20:34,240 Speaker 1: games with no frame rate issues. Um at the highest 344 00:20:34,240 --> 00:20:37,040 Speaker 1: graphics setting, everything's awesome. But when I try to run 345 00:20:37,080 --> 00:20:40,400 Speaker 1: this emulated game, everything slows down. Why is that? It's 346 00:20:40,440 --> 00:20:44,600 Speaker 1: because of this. Now, then you have high level emulation. 347 00:20:44,840 --> 00:20:49,119 Speaker 1: This is very different. High level emulation simulates the functions 348 00:20:49,160 --> 00:20:53,919 Speaker 1: of hardware, but doesn't try to replicate those functions. So, 349 00:20:53,960 --> 00:20:56,320 Speaker 1: in other words, all it wants to do is get 350 00:20:56,359 --> 00:20:59,840 Speaker 1: to that end result. It doesn't care if it follows 351 00:20:59,880 --> 00:21:02,120 Speaker 1: the same path as the hardware. So this gets back 352 00:21:02,440 --> 00:21:05,280 Speaker 1: to that Josh and Chuck example I gave at the 353 00:21:05,280 --> 00:21:07,919 Speaker 1: top of the show. Both the vine and the bridge 354 00:21:07,920 --> 00:21:11,000 Speaker 1: will get Chuck and Josh across the pit, but they 355 00:21:11,000 --> 00:21:13,760 Speaker 1: do it in different ways. The end result is the same. 356 00:21:14,119 --> 00:21:17,760 Speaker 1: That's what high level emulation aims to do, so we 357 00:21:17,880 --> 00:21:23,040 Speaker 1: call this abstraction. We are able to create an environment 358 00:21:23,400 --> 00:21:25,560 Speaker 1: in which a game will work even if you're using 359 00:21:25,640 --> 00:21:30,880 Speaker 1: totally different hardware because of this level of abstraction. This 360 00:21:30,960 --> 00:21:35,000 Speaker 1: is particularly handy for game developers, not just people who 361 00:21:35,040 --> 00:21:37,880 Speaker 1: want to play games, but people who are making games, 362 00:21:38,600 --> 00:21:42,359 Speaker 1: because you can develop a game for a specific system 363 00:21:42,480 --> 00:21:47,040 Speaker 1: using a level of abstraction, and you can use whatever 364 00:21:47,040 --> 00:21:50,760 Speaker 1: system you prefer to develop on. So let's say you're 365 00:21:50,760 --> 00:21:55,240 Speaker 1: a developer and that you use a Mac as your computer, 366 00:21:55,720 --> 00:21:59,320 Speaker 1: but you're developing a game for the Xbox. A level 367 00:21:59,400 --> 00:22:02,240 Speaker 1: of abstract action allows you to do this on a 368 00:22:02,320 --> 00:22:06,040 Speaker 1: virtual level, so that you're developing an Xbox game in 369 00:22:06,119 --> 00:22:09,840 Speaker 1: a Mac environment and you don't have to have special 370 00:22:10,160 --> 00:22:13,280 Speaker 1: equipment or anything like that. You've abstracted all of the 371 00:22:13,320 --> 00:22:19,879 Speaker 1: elements into a virtual realm. So high level emulation uses 372 00:22:20,040 --> 00:22:24,959 Speaker 1: shorthand for basic operations instead of a specific pathway. So 373 00:22:25,040 --> 00:22:28,440 Speaker 1: a low level emulator would try to replicate the exact 374 00:22:28,520 --> 00:22:32,080 Speaker 1: way a game saves information. For example, a high level 375 00:22:32,080 --> 00:22:35,240 Speaker 1: emulator would just say save this data to the storage drive, 376 00:22:35,640 --> 00:22:40,720 Speaker 1: and firmware would actually handle the transaction. So the software 377 00:22:40,760 --> 00:22:42,679 Speaker 1: hands it off to the firmware that says, all right, 378 00:22:42,720 --> 00:22:45,480 Speaker 1: what's the most efficient way for me to do the 379 00:22:45,560 --> 00:22:48,280 Speaker 1: task I've been asked to do? That puts the least 380 00:22:48,320 --> 00:22:51,560 Speaker 1: demand on the processor. It's kind of like a voice 381 00:22:51,560 --> 00:22:54,760 Speaker 1: activated assistant in a way. As these systems get more robust, 382 00:22:54,880 --> 00:22:57,919 Speaker 1: you can ask for the same information in many different ways. 383 00:22:58,200 --> 00:23:00,359 Speaker 1: So for example, if I had an eye phone, I 384 00:23:00,400 --> 00:23:03,760 Speaker 1: could ask Siri what is the weather like outside? Or 385 00:23:04,280 --> 00:23:06,800 Speaker 1: I could ask Siri is it raining? Now? Both of 386 00:23:06,800 --> 00:23:09,919 Speaker 1: those questions will get me a weather answer from Siri 387 00:23:10,400 --> 00:23:13,159 Speaker 1: because the system can actually handle the different ways to 388 00:23:13,240 --> 00:23:17,879 Speaker 1: request essentially the same information. Hardware abstraction does something similar, 389 00:23:17,920 --> 00:23:20,440 Speaker 1: and it interprets a request and then it does the 390 00:23:20,520 --> 00:23:24,680 Speaker 1: leg work work to fulfill that request. Now, there are 391 00:23:24,720 --> 00:23:29,600 Speaker 1: three main ways that high level emulators simulate hardware functions. 392 00:23:30,240 --> 00:23:34,200 Speaker 1: The first is called interpreting. The emulator will go through 393 00:23:34,280 --> 00:23:38,240 Speaker 1: the code of the game line by line in chunks 394 00:23:38,320 --> 00:23:41,640 Speaker 1: and replicate what the instructions are supposed to do. So 395 00:23:42,000 --> 00:23:45,280 Speaker 1: interpreting makes sense right like you you It's kind of 396 00:23:45,320 --> 00:23:48,080 Speaker 1: like if you were to read a story and then 397 00:23:48,160 --> 00:23:51,360 Speaker 1: tell somebody what does the story say? Like, what are 398 00:23:51,400 --> 00:23:53,280 Speaker 1: the what are the basic points of the story. Or 399 00:23:53,280 --> 00:23:55,760 Speaker 1: you're trying to tell someone about a movie you've seen, 400 00:23:56,119 --> 00:23:59,480 Speaker 1: and you're giving them kind of a high level bullet 401 00:23:59,520 --> 00:24:03,720 Speaker 1: point rundown of what the plot was all about. That's 402 00:24:03,720 --> 00:24:07,480 Speaker 1: what interpreting does, except it does it with code. Next 403 00:24:08,160 --> 00:24:13,160 Speaker 1: is a strategy called dynamic recompiling. Now that method actually 404 00:24:13,160 --> 00:24:16,080 Speaker 1: looks at blocks of code, looks at the instructions that 405 00:24:16,320 --> 00:24:19,560 Speaker 1: are the processor is supposed to carry out according to 406 00:24:19,640 --> 00:24:22,440 Speaker 1: that code, and then it starts looking for a more 407 00:24:22,480 --> 00:24:26,480 Speaker 1: efficient or optimized way to run those same instructions on 408 00:24:26,560 --> 00:24:29,520 Speaker 1: the actual computer you are using. So, in other words, 409 00:24:29,560 --> 00:24:33,480 Speaker 1: it's recompiling the code for a different piece of hardware. 410 00:24:33,840 --> 00:24:36,720 Speaker 1: It's kind of like saying, all right, this was written 411 00:24:36,920 --> 00:24:40,840 Speaker 1: for an Atari twenty SID, I want to rewrite it 412 00:24:41,160 --> 00:24:44,200 Speaker 1: so that the same result will happen on the PC 413 00:24:44,720 --> 00:24:50,320 Speaker 1: that is running the software. UM very interesting that this 414 00:24:50,359 --> 00:24:55,000 Speaker 1: can be done on an abstract level. And finally, there's 415 00:24:55,040 --> 00:24:59,080 Speaker 1: a strategy called list interception. Now this is relevant for 416 00:24:59,119 --> 00:25:03,000 Speaker 1: computers that you coprocessors and for systems that you're trying 417 00:25:03,000 --> 00:25:07,600 Speaker 1: to emulate that also had coprocessors. Most PCs these days 418 00:25:07,640 --> 00:25:12,040 Speaker 1: have a coprocessor. The graphics processing unit is a coprocessor. Now, 419 00:25:12,040 --> 00:25:15,240 Speaker 1: those chips are meant to handle graphics, but they're also 420 00:25:15,280 --> 00:25:18,439 Speaker 1: really handy for parallel processing. You might have heard that 421 00:25:18,600 --> 00:25:21,560 Speaker 1: a lot of hackers use gp us in order to 422 00:25:21,560 --> 00:25:25,680 Speaker 1: do brute force attacks against secure systems. This is because 423 00:25:26,080 --> 00:25:30,040 Speaker 1: GPUs can process stuff in parallel, which means you can 424 00:25:30,080 --> 00:25:33,800 Speaker 1: have a bunch of parallel processors all tackling the same problem, 425 00:25:33,800 --> 00:25:36,960 Speaker 1: going through different potential solutions, and that cuts down on 426 00:25:37,000 --> 00:25:38,960 Speaker 1: the amount of time it takes for you to find 427 00:25:39,040 --> 00:25:44,440 Speaker 1: the real answer. So with list interception and emulator interrupts 428 00:25:44,480 --> 00:25:48,800 Speaker 1: a command list sent to the original devices coprocessor and 429 00:25:48,880 --> 00:25:54,040 Speaker 1: turns that into instructions that the actual host computers graphics 430 00:25:54,040 --> 00:25:57,200 Speaker 1: processing unit can handle. So it's kind of like translating 431 00:25:57,240 --> 00:26:00,000 Speaker 1: text from one language to another. It intercepts the message 432 00:26:00,000 --> 00:26:02,760 Speaker 1: which says, Okay, well, the GPU can't understand this the 433 00:26:02,760 --> 00:26:06,440 Speaker 1: way it's written, but I can take these instructions, rewrite 434 00:26:06,480 --> 00:26:09,320 Speaker 1: it in a way that the GPU understands, and send 435 00:26:09,359 --> 00:26:12,880 Speaker 1: it along. And that's how that works. The big advantage 436 00:26:12,880 --> 00:26:16,600 Speaker 1: of high level emulators over low level emulators is that 437 00:26:16,640 --> 00:26:20,399 Speaker 1: they require less processing power to run games. So a 438 00:26:20,400 --> 00:26:23,520 Speaker 1: well designed high level emulator can run titles smoothly on 439 00:26:23,560 --> 00:26:26,800 Speaker 1: a modest PC. You don't need to have a killer 440 00:26:26,880 --> 00:26:30,480 Speaker 1: gaming rig, but a low level emulator would require that 441 00:26:30,560 --> 00:26:34,600 Speaker 1: beefier processor to handle demands. Now, the flip side is 442 00:26:34,640 --> 00:26:37,360 Speaker 1: a low level emulator tends to be more accurate when 443 00:26:37,400 --> 00:26:40,679 Speaker 1: replicating a game, and a high level emulator might not 444 00:26:40,760 --> 00:26:44,320 Speaker 1: be able to replicate all the things the game does 445 00:26:45,040 --> 00:26:49,480 Speaker 1: because it's not as specific to that system, like, it's 446 00:26:49,480 --> 00:26:52,800 Speaker 1: not replicating the system as faithfully as a low level 447 00:26:52,800 --> 00:26:56,359 Speaker 1: emulator would. So their trade offs. So let's say you 448 00:26:56,359 --> 00:26:59,520 Speaker 1: want to invest in an emulator and some games, and 449 00:26:59,560 --> 00:27:01,760 Speaker 1: just for argument's sake, let's say that there's a legal 450 00:27:01,760 --> 00:27:03,600 Speaker 1: way for you to buy the games rather than just 451 00:27:03,800 --> 00:27:06,919 Speaker 1: download them willy nilly. Like I said before, I'm going 452 00:27:06,960 --> 00:27:09,320 Speaker 1: to talk more about the legality of all of this 453 00:27:09,400 --> 00:27:12,040 Speaker 1: at the end of the show. So what system should 454 00:27:12,200 --> 00:27:14,720 Speaker 1: you go for if you want an emulator? Well, that 455 00:27:14,760 --> 00:27:18,439 Speaker 1: really depends on several factors. For one, um, are you 456 00:27:18,480 --> 00:27:21,800 Speaker 1: missed their money bags or miss money bags? Because if 457 00:27:21,800 --> 00:27:23,919 Speaker 1: money is not an object, you might as well go 458 00:27:24,000 --> 00:27:27,760 Speaker 1: bonkers and trick out a nice low level emulator system 459 00:27:27,800 --> 00:27:32,160 Speaker 1: with a really really good gaming rig PC to get 460 00:27:32,200 --> 00:27:34,680 Speaker 1: the most authentic experience when you PLoP down to a 461 00:27:34,800 --> 00:27:39,440 Speaker 1: rousing game of Burger Time or Gauntlet. To low level emulators, 462 00:27:39,480 --> 00:27:44,000 Speaker 1: particularly ones that include actual hardware used by the system 463 00:27:44,000 --> 00:27:48,119 Speaker 1: you're trying to emulate, get pretty pricing. And remember you've 464 00:27:48,119 --> 00:27:50,920 Speaker 1: got to have that powerful processor to run those emulators. 465 00:27:51,440 --> 00:27:55,080 Speaker 1: And as opposed to the high level emulator types, high 466 00:27:55,160 --> 00:27:58,720 Speaker 1: level emulators don't require as much horsepower from the host computer, 467 00:27:59,040 --> 00:28:01,600 Speaker 1: which brings the cost down. You don't need to buy 468 00:28:01,960 --> 00:28:03,960 Speaker 1: a super fast computer. In fact, you may already have 469 00:28:04,000 --> 00:28:07,800 Speaker 1: a machine more than capable of running a high level 470 00:28:07,880 --> 00:28:10,840 Speaker 1: emulator program, so you won't have to spring for that 471 00:28:10,960 --> 00:28:15,480 Speaker 1: screaming gaming rig with you would like for a low 472 00:28:15,560 --> 00:28:19,760 Speaker 1: level emulator. But sometimes those high level emulators cannot perfectly 473 00:28:19,840 --> 00:28:24,560 Speaker 1: replicate whatever the target system is that the emulated system, 474 00:28:24,560 --> 00:28:26,240 Speaker 1: so you might find certain games don't have all the 475 00:28:26,240 --> 00:28:28,680 Speaker 1: bells and whistles that they should, and if you might 476 00:28:28,960 --> 00:28:32,359 Speaker 1: even be unplayable, Like you might get a title a 477 00:28:32,520 --> 00:28:35,840 Speaker 1: rom for a game you love, and you have an emulator, 478 00:28:35,920 --> 00:28:38,760 Speaker 1: a high level emulator for that system or for that machine, 479 00:28:38,960 --> 00:28:41,360 Speaker 1: and then you find out you still can't play the game. Well, 480 00:28:41,360 --> 00:28:43,960 Speaker 1: it might not be that the file you got is corrupt. 481 00:28:44,000 --> 00:28:46,479 Speaker 1: It may be that the emulator just isn't capable of 482 00:28:46,520 --> 00:28:50,920 Speaker 1: replicating that game the way it should. Now, mostly that 483 00:28:50,960 --> 00:28:53,959 Speaker 1: depends upon the way the original game developers programmed the 484 00:28:54,000 --> 00:28:56,800 Speaker 1: original game. If they used a lot of weird shortcuts 485 00:28:56,840 --> 00:28:59,440 Speaker 1: and hacks to create the game, that would work on 486 00:28:59,480 --> 00:29:04,880 Speaker 1: the target system, it may not work on an emulated system. So, 487 00:29:04,960 --> 00:29:08,080 Speaker 1: in other words, like let's say I've developed a game 488 00:29:08,160 --> 00:29:12,800 Speaker 1: for the original Nintendo, and the original Nintendo could totally 489 00:29:12,840 --> 00:29:19,040 Speaker 1: handle these sort of clergy hacked processes I've created because 490 00:29:19,080 --> 00:29:21,320 Speaker 1: I wanted to do it to make a bunch of shortcuts. 491 00:29:21,320 --> 00:29:23,960 Speaker 1: Like the code looks messy as heck. If you look 492 00:29:24,000 --> 00:29:27,720 Speaker 1: at the code, but the gameplay doesn't reflect that, it's 493 00:29:27,800 --> 00:29:30,280 Speaker 1: just fine. But then you pull it over onto an 494 00:29:30,280 --> 00:29:34,800 Speaker 1: emulated system that's more designed to handle games that are 495 00:29:34,800 --> 00:29:39,960 Speaker 1: written to the standard of Nintendo as opposed to just 496 00:29:40,520 --> 00:29:43,719 Speaker 1: getting it done, and you may find out that that 497 00:29:43,760 --> 00:29:46,960 Speaker 1: game isn't really playable on the emulated system. It's really 498 00:29:46,960 --> 00:29:51,200 Speaker 1: frustrating if in fact, that was your goal from the start. 499 00:29:52,960 --> 00:29:55,080 Speaker 1: So the more standard of games code is, the better 500 00:29:55,160 --> 00:29:57,640 Speaker 1: the chances are that a high level emulator will be 501 00:29:57,720 --> 00:30:01,520 Speaker 1: able to handle it. Now, arguably one of the most 502 00:30:01,560 --> 00:30:06,280 Speaker 1: popular types of emulators is the multiple Arcade Machine emulator 503 00:30:06,480 --> 00:30:11,120 Speaker 1: or MAIN. That's an open source emulator, and open source 504 00:30:11,200 --> 00:30:14,200 Speaker 1: essentially means the code is open for anyone to look at, 505 00:30:14,440 --> 00:30:18,280 Speaker 1: to alter, and even to re upload and distribute. So 506 00:30:18,320 --> 00:30:21,320 Speaker 1: that means as people find better ways to emulate a 507 00:30:21,320 --> 00:30:25,120 Speaker 1: particular machine, they can make adjustments to the code, and 508 00:30:25,160 --> 00:30:28,000 Speaker 1: a new version of the emulator can incorporate those changes. 509 00:30:28,720 --> 00:30:33,959 Speaker 1: So if it's a multiple arcade machine emulator, then you 510 00:30:34,040 --> 00:30:37,360 Speaker 1: may have a specific arcade cabinet that has not been 511 00:30:37,400 --> 00:30:40,080 Speaker 1: emulated yet. You might figure out how to do that, 512 00:30:40,280 --> 00:30:44,600 Speaker 1: and you add that code into a and already existing 513 00:30:44,840 --> 00:30:51,040 Speaker 1: MAIME emulator, which I understand is repetitive see also my 514 00:30:51,240 --> 00:30:55,480 Speaker 1: tirade about a t M machines and pen numbers. Uh. 515 00:30:55,720 --> 00:30:59,320 Speaker 1: But because you're able to actually take that code and 516 00:30:59,400 --> 00:31:02,960 Speaker 1: change it, and you can increase the functionality for the 517 00:31:02,960 --> 00:31:08,120 Speaker 1: community as a whole. Uh. Now, the stated purpose of 518 00:31:08,240 --> 00:31:14,480 Speaker 1: MAME is to preserve games as an historical effort because 519 00:31:14,480 --> 00:31:17,880 Speaker 1: these old arcade machines relied on physical hardware, and a 520 00:31:17,880 --> 00:31:20,200 Speaker 1: lot of them are no longer in production. In fact, 521 00:31:20,280 --> 00:31:24,560 Speaker 1: most of them aren't in production anymore. So creating the 522 00:31:24,640 --> 00:31:27,680 Speaker 1: software that could run those games is a way to 523 00:31:27,840 --> 00:31:31,920 Speaker 1: preserve the games indefinitely instead of just have them get 524 00:31:31,960 --> 00:31:34,560 Speaker 1: older and older and older and eventually they just don't 525 00:31:34,560 --> 00:31:36,960 Speaker 1: work anymore. They break down to the point where it 526 00:31:37,000 --> 00:31:40,440 Speaker 1: doesn't matter if you have an original arcade machine, the 527 00:31:40,520 --> 00:31:44,960 Speaker 1: circuit board just won't uh play the game. This way, 528 00:31:45,000 --> 00:31:49,080 Speaker 1: they could be preserved indefinitely. Now just so happens that 529 00:31:49,120 --> 00:31:51,680 Speaker 1: the software also allows you to play those games, because 530 00:31:51,720 --> 00:31:55,160 Speaker 1: that's how the game's work, right, Like if if the 531 00:31:55,200 --> 00:31:58,960 Speaker 1: software didn't allow the games to run, all you really 532 00:31:59,000 --> 00:32:00,440 Speaker 1: would need to do is why in a way to 533 00:32:00,520 --> 00:32:04,560 Speaker 1: preserve that random or or rather the read only memory 534 00:32:04,960 --> 00:32:09,120 Speaker 1: the ROMs. If you could just preserve the ROMs period, 535 00:32:09,240 --> 00:32:14,000 Speaker 1: you could have a library of unreadable files. It would 536 00:32:14,040 --> 00:32:17,560 Speaker 1: be pretty unusual to do that, Like, what's the point. 537 00:32:17,760 --> 00:32:21,280 Speaker 1: It would be kind of like going into a library 538 00:32:21,320 --> 00:32:24,040 Speaker 1: that is filled with books written in an ancient language 539 00:32:24,040 --> 00:32:28,960 Speaker 1: that no one understands anymore. So, yeah, they're historical, they 540 00:32:28,960 --> 00:32:32,400 Speaker 1: have some historical significance, but there's no way to understand 541 00:32:32,480 --> 00:32:35,440 Speaker 1: what is there, so you start asking the question does 542 00:32:35,480 --> 00:32:38,160 Speaker 1: it really make sense to keep them if there's no 543 00:32:38,240 --> 00:32:41,520 Speaker 1: way to read them. So Maine can read these files 544 00:32:41,520 --> 00:32:46,040 Speaker 1: that can play those games. But the stated purpose for 545 00:32:46,160 --> 00:32:50,680 Speaker 1: Main isn't to play the games, it's just to preserve them. 546 00:32:50,720 --> 00:32:54,160 Speaker 1: Now you might find that that purpose is a little 547 00:32:54,360 --> 00:32:57,680 Speaker 1: do not peek behind the curtain esque and that you 548 00:32:57,720 --> 00:33:00,360 Speaker 1: could easily imagine Maine's design is meant to of view 549 00:33:00,400 --> 00:33:02,880 Speaker 1: the chance to play those old games and not just 550 00:33:02,960 --> 00:33:06,480 Speaker 1: keep them for posterity. I mean, if you can't play 551 00:33:06,520 --> 00:33:10,240 Speaker 1: the video game, is it really worth keeping? But never 552 00:33:10,320 --> 00:33:14,320 Speaker 1: mind that it doesn't really matter for the purposes of 553 00:33:14,360 --> 00:33:18,560 Speaker 1: this discussion. I just find it amusing. So the Main 554 00:33:18,680 --> 00:33:22,040 Speaker 1: software evolves over time, and part of that is just 555 00:33:22,080 --> 00:33:25,800 Speaker 1: to keep up with technology. As operating systems evolve, we 556 00:33:25,840 --> 00:33:30,240 Speaker 1: have to adjust the software the main software to run 557 00:33:30,320 --> 00:33:34,440 Speaker 1: on new systems. So you know, if if Microsoft releases 558 00:33:34,560 --> 00:33:38,440 Speaker 1: a new version of Windows that's remarkably different from previous versions, 559 00:33:39,040 --> 00:33:42,520 Speaker 1: you may have to tweak the code for Main to 560 00:33:42,840 --> 00:33:46,520 Speaker 1: be able to run on the new Windows platform. So 561 00:33:47,160 --> 00:33:49,320 Speaker 1: it is necessary for this to be open source for 562 00:33:49,440 --> 00:33:53,400 Speaker 1: the software to remain relevant, and there are lots of 563 00:33:53,400 --> 00:33:57,080 Speaker 1: different versions of MAME on operating systems like Windows. On 564 00:33:57,280 --> 00:34:00,680 Speaker 1: Unix mac os, there are versions for both thirty two 565 00:34:00,680 --> 00:34:04,200 Speaker 1: bit and sixty four bit Windows versions. You could find 566 00:34:04,240 --> 00:34:09,120 Speaker 1: people selling main machines inside either classic arcade cabinets or 567 00:34:09,239 --> 00:34:13,000 Speaker 1: new cabinets designed to look like old ones, complete with 568 00:34:13,040 --> 00:34:16,800 Speaker 1: special controls. So if you wanted to, you could create 569 00:34:16,840 --> 00:34:19,720 Speaker 1: a computer like You could build a computer on your own, 570 00:34:20,120 --> 00:34:22,800 Speaker 1: a decent one, not not like again, not a super 571 00:34:22,840 --> 00:34:25,719 Speaker 1: fast one necessarily, but a decent computer with a lot 572 00:34:25,760 --> 00:34:30,239 Speaker 1: of storage. You could um mount a display inside a 573 00:34:30,320 --> 00:34:34,319 Speaker 1: cabinet to look like an arcade monitor. You could have 574 00:34:34,400 --> 00:34:38,120 Speaker 1: the computer inside the cabinet. That's essentially the case for 575 00:34:38,200 --> 00:34:44,200 Speaker 1: your computer, and you could hook up arcade controls, including 576 00:34:44,280 --> 00:34:48,840 Speaker 1: ones that are more unusual like the roller balls or 577 00:34:49,000 --> 00:34:52,720 Speaker 1: or some of the other um you know, yoke versions 578 00:34:52,760 --> 00:34:55,279 Speaker 1: for for flight games like the old Star Wars game 579 00:34:55,320 --> 00:34:57,040 Speaker 1: that kind of stuff. You could have all those sort 580 00:34:57,080 --> 00:35:00,800 Speaker 1: of controls available. You can even have ones that detach 581 00:35:01,120 --> 00:35:03,680 Speaker 1: from the system so that you can swap them out 582 00:35:03,719 --> 00:35:06,000 Speaker 1: whenever you need to for whatever game you want to play, 583 00:35:07,040 --> 00:35:09,799 Speaker 1: and you could have that in your house and you 584 00:35:09,800 --> 00:35:13,840 Speaker 1: would essentially have access to all the arcade games supported 585 00:35:13,960 --> 00:35:17,480 Speaker 1: by that emulator. That doesn't necessarily mean every arcade game 586 00:35:17,520 --> 00:35:20,480 Speaker 1: ever invented, but it could be hundreds and hundreds of 587 00:35:20,520 --> 00:35:24,040 Speaker 1: different titles. On the inside is just a PC running 588 00:35:24,080 --> 00:35:30,959 Speaker 1: that main software and a collection of ROMs. So it's 589 00:35:31,080 --> 00:35:34,279 Speaker 1: getting to time for me to talk about the legality 590 00:35:34,360 --> 00:35:37,000 Speaker 1: of this. Like, if you wanted to do this, if 591 00:35:37,040 --> 00:35:39,480 Speaker 1: you wanted to have a an emulator, whether it was 592 00:35:39,520 --> 00:35:43,000 Speaker 1: a main emulator or a video game console emulator or whatever, 593 00:35:44,320 --> 00:35:47,840 Speaker 1: what are the legal considerations you should make. I'm gonna 594 00:35:47,880 --> 00:35:49,719 Speaker 1: tell you more about that in just a second, but 595 00:35:49,840 --> 00:35:53,240 Speaker 1: first let's take another quick break to thank our sponsor. 596 00:36:01,480 --> 00:36:04,680 Speaker 1: All Right, we're back. So you can technically build or 597 00:36:04,760 --> 00:36:08,320 Speaker 1: buy a machine capable of providing an entire arcade's worth 598 00:36:08,440 --> 00:36:14,160 Speaker 1: of gaming on one device. But is that legal? So 599 00:36:14,200 --> 00:36:20,759 Speaker 1: this brings us to the legal discussion or law stuff done? Uh? Interesting? Note, 600 00:36:20,800 --> 00:36:23,759 Speaker 1: there are a lot of questions about rams and their legality. 601 00:36:24,320 --> 00:36:27,799 Speaker 1: So our wrong files illegal? Is it ever legal to 602 00:36:27,920 --> 00:36:33,760 Speaker 1: download one? Our emulators illegal? Uh? It's good to finally 603 00:36:34,000 --> 00:36:37,920 Speaker 1: kind of tackle these questions now. First, emulators in general 604 00:36:38,040 --> 00:36:42,680 Speaker 1: are legal. You can own an emulator. There's nothing inherently 605 00:36:42,800 --> 00:36:48,080 Speaker 1: illegal about emulators. Their software meant to emulate another technology, 606 00:36:48,840 --> 00:36:53,839 Speaker 1: but in general they don't contain any proprietary code. So 607 00:36:53,920 --> 00:36:57,960 Speaker 1: that means emulators, more often than not, don't have any 608 00:36:58,040 --> 00:37:02,719 Speaker 1: code in them that's tacted by copyright. Since there's no 609 00:37:02,840 --> 00:37:08,480 Speaker 1: copyright violation, there's no illegal nature to these emulators. That 610 00:37:08,800 --> 00:37:13,000 Speaker 1: developers haven't stolen any intellectual property from the companies that 611 00:37:13,080 --> 00:37:16,400 Speaker 1: made the original equipment. They're just creating new software to 612 00:37:16,520 --> 00:37:20,759 Speaker 1: run programs that relied on older original equipment. So it's 613 00:37:20,760 --> 00:37:25,600 Speaker 1: a fine line. But emulators on their own are totally legal. 614 00:37:26,800 --> 00:37:30,920 Speaker 1: As for ROMs, that's where it gets messy. For one thing, 615 00:37:30,960 --> 00:37:37,240 Speaker 1: we do not have global laws guiding our our choices 616 00:37:37,320 --> 00:37:41,800 Speaker 1: about legality or illegality when it comes to rom's, so 617 00:37:42,000 --> 00:37:45,560 Speaker 1: the rules in one country can be significantly different from 618 00:37:45,600 --> 00:37:49,279 Speaker 1: those of other countries. Now, I'm gonna be looking at 619 00:37:49,320 --> 00:37:51,720 Speaker 1: this from the viewpoint of someone in the United States 620 00:37:51,760 --> 00:37:55,160 Speaker 1: because that's where I live longtime listeners of tech stuff. No, 621 00:37:55,320 --> 00:37:57,840 Speaker 1: this is my m O. I will take a view 622 00:37:57,920 --> 00:38:01,080 Speaker 1: from the US because that's where I'm rom and it's 623 00:38:01,120 --> 00:38:03,560 Speaker 1: way easier for me to talk about this. But if 624 00:38:03,600 --> 00:38:06,839 Speaker 1: I wanted to tackle the legality from every country, i'd 625 00:38:06,840 --> 00:38:10,640 Speaker 1: have to do a whole series of podcasts because it's 626 00:38:10,920 --> 00:38:14,760 Speaker 1: different for different places. In fact, even just the length 627 00:38:14,960 --> 00:38:19,160 Speaker 1: of copyright protection is different in different countries. The US 628 00:38:19,200 --> 00:38:23,880 Speaker 1: has a lengthy period of copyright protection, Like we're talking 629 00:38:24,440 --> 00:38:27,960 Speaker 1: decades and decades of protection even after the death of 630 00:38:28,040 --> 00:38:33,960 Speaker 1: whomever held the copyright. So something to keep in mind. Alright, So, 631 00:38:34,040 --> 00:38:36,600 Speaker 1: downloading a ram of a game you do not own 632 00:38:37,280 --> 00:38:42,000 Speaker 1: is violating copyright and is illegal pretty much anywhere. So 633 00:38:42,520 --> 00:38:45,200 Speaker 1: if you wanted to get hold of a rom for 634 00:38:45,320 --> 00:38:48,000 Speaker 1: a game, but you don't own that game, you have 635 00:38:48,080 --> 00:38:52,400 Speaker 1: no legal copy of that game, Downloading it is against 636 00:38:52,440 --> 00:38:55,359 Speaker 1: the law. It's no different from downloading a song you 637 00:38:55,440 --> 00:38:57,799 Speaker 1: don't own, or a movie you don't own, or a 638 00:38:57,840 --> 00:39:01,239 Speaker 1: television show. If you do not own a copy, you're 639 00:39:01,320 --> 00:39:05,680 Speaker 1: essentially stealing. Now, in the case of arcade games, it's 640 00:39:05,719 --> 00:39:08,160 Speaker 1: pretty darn common for people to steal them. Not many 641 00:39:08,160 --> 00:39:12,759 Speaker 1: people actually own arcade machines. There are people who do, 642 00:39:12,840 --> 00:39:14,399 Speaker 1: there are a lot of them who do, but most 643 00:39:14,400 --> 00:39:17,400 Speaker 1: people do not. The average person does not own an 644 00:39:17,520 --> 00:39:20,239 Speaker 1: arcade machine in their home. So unless you own a 645 00:39:20,320 --> 00:39:24,799 Speaker 1: legit copy of an arcade machine, downloading the wrong for 646 00:39:24,840 --> 00:39:28,799 Speaker 1: that game is pretty much illegal. But let's say you 647 00:39:28,880 --> 00:39:31,840 Speaker 1: go to an auction right and you buy an old 648 00:39:31,840 --> 00:39:34,359 Speaker 1: Spy Hunter cabinet for your wreck room at home. First 649 00:39:34,360 --> 00:39:38,160 Speaker 1: of all, good Jobs by Hunter, awesome arcade game, one 650 00:39:38,200 --> 00:39:41,839 Speaker 1: of my favorites from the arcade era. You get the 651 00:39:42,040 --> 00:39:45,880 Speaker 1: machine home and you realize that the circuit board is 652 00:39:46,680 --> 00:39:49,360 Speaker 1: damaged a little bit. It's it's kind of fried, and 653 00:39:49,400 --> 00:39:52,759 Speaker 1: the game isn't really working properly. It's it's not it's 654 00:39:52,760 --> 00:39:55,160 Speaker 1: not stable, like you can get it running every now 655 00:39:55,160 --> 00:39:59,160 Speaker 1: and then, but it doesn't necessarily run flawlessly or it 656 00:39:59,239 --> 00:40:03,040 Speaker 1: might crash at random intervals. So the question is, could 657 00:40:03,080 --> 00:40:07,800 Speaker 1: you then download a ROM for Spy Hunter and replace 658 00:40:07,920 --> 00:40:10,920 Speaker 1: the guts of the cabinet you've bought with a PC 659 00:40:11,080 --> 00:40:14,440 Speaker 1: running an emulated copy of the game. So instead of 660 00:40:14,480 --> 00:40:18,799 Speaker 1: having the actual Spy Hunter elements inside this cabinet, you 661 00:40:18,840 --> 00:40:22,799 Speaker 1: remove those, you put a PC in there. The PC 662 00:40:23,000 --> 00:40:25,960 Speaker 1: is running name and the only ROM you have on 663 00:40:26,040 --> 00:40:29,560 Speaker 1: it Spy Hunter, because that's the game you bought. Would 664 00:40:29,560 --> 00:40:35,640 Speaker 1: that be legal? Well, if you were to rip the 665 00:40:35,680 --> 00:40:39,520 Speaker 1: game off the circuit board yourself, you could probably argue 666 00:40:39,560 --> 00:40:42,719 Speaker 1: that as being totally legit. So, in other words, you'd 667 00:40:42,719 --> 00:40:45,400 Speaker 1: have to make a digital copy of a hard coded game, 668 00:40:46,239 --> 00:40:49,440 Speaker 1: which isn't exactly easy for the average person to do, 669 00:40:49,880 --> 00:40:52,040 Speaker 1: but it would be a necessary step to use a 670 00:40:52,080 --> 00:40:56,440 Speaker 1: digital ROM on another type of device. In the United States, 671 00:40:56,480 --> 00:40:59,640 Speaker 1: this would likely be seen as making a legal backup 672 00:40:59,680 --> 00:41:03,680 Speaker 1: cop be as in a lawful it is perfectly fine 673 00:41:04,080 --> 00:41:07,080 Speaker 1: to make a backup copy of media you have purchased. 674 00:41:07,480 --> 00:41:11,279 Speaker 1: It's similar to making a backup of a CD or 675 00:41:11,840 --> 00:41:16,040 Speaker 1: cassette tape or or a vinyl album, either through putting 676 00:41:16,040 --> 00:41:18,520 Speaker 1: it onto another medium or ripping it and making it 677 00:41:18,560 --> 00:41:22,120 Speaker 1: an MP three as perfectly legal. As long as you're 678 00:41:22,120 --> 00:41:24,720 Speaker 1: doing it for your own personal use without the intent 679 00:41:24,800 --> 00:41:28,800 Speaker 1: to distribute, you're you're pretty much okay. You are legally 680 00:41:28,840 --> 00:41:33,960 Speaker 1: allowed to make backup copies of stuff you purchased, um 681 00:41:34,000 --> 00:41:37,040 Speaker 1: as long as it's for the purpose of a backup, 682 00:41:38,320 --> 00:41:41,759 Speaker 1: but one about downloading a ROM from another source rather 683 00:41:41,800 --> 00:41:44,120 Speaker 1: than ripping it from the circuit board you physically own. 684 00:41:44,200 --> 00:41:47,319 Speaker 1: Let's say that you don't have the equipment necessary to 685 00:41:47,440 --> 00:41:51,000 Speaker 1: pull the code off a hard coded circuit board and 686 00:41:51,040 --> 00:41:53,799 Speaker 1: convert it into something digital that a PC could read, 687 00:41:54,719 --> 00:41:57,359 Speaker 1: so instead, you're just going to download a copy from 688 00:41:57,400 --> 00:42:01,239 Speaker 1: the internet. Now, arguably you could say that downloading the 689 00:42:01,360 --> 00:42:03,879 Speaker 1: ROM in this instance is a case of fair use. 690 00:42:04,800 --> 00:42:06,800 Speaker 1: So the argument you would make is that you already 691 00:42:06,840 --> 00:42:10,200 Speaker 1: own the game. You purchased a legit copy of Spy Hunter, 692 00:42:11,120 --> 00:42:14,920 Speaker 1: and you're not distributing the ROM to anyone. You're not 693 00:42:15,800 --> 00:42:20,120 Speaker 1: trying to create a marketplace for the Spy Hunter game. 694 00:42:20,200 --> 00:42:21,880 Speaker 1: All you want to be able to do is play 695 00:42:21,920 --> 00:42:27,000 Speaker 1: the game you bought on the arcade console you you purchased. 696 00:42:27,920 --> 00:42:31,560 Speaker 1: So you could argue, I'm not causing harm to the market, right, 697 00:42:31,600 --> 00:42:34,839 Speaker 1: I'm not. I'm not denying a sale. I'm just trying 698 00:42:34,840 --> 00:42:38,680 Speaker 1: to get access to the thing I have already purchased. Well, 699 00:42:38,760 --> 00:42:41,040 Speaker 1: that could be a legit fair use argument, but you've 700 00:42:41,040 --> 00:42:43,520 Speaker 1: got to remember fair use is an argument you have 701 00:42:43,640 --> 00:42:46,279 Speaker 1: to make in a legal case. In other words, it 702 00:42:46,360 --> 00:42:51,239 Speaker 1: doesn't protect you from getting sued. You can't say at 703 00:42:51,239 --> 00:42:55,400 Speaker 1: the forefront, this is fair use, don't sue me. Instead, 704 00:42:55,680 --> 00:42:58,520 Speaker 1: fair use is an argument you make once you have 705 00:42:58,960 --> 00:43:03,279 Speaker 1: been sued, So fair use doesn't matter until you get 706 00:43:03,320 --> 00:43:06,279 Speaker 1: to court. Chances are, though no one would sue you 707 00:43:06,320 --> 00:43:09,640 Speaker 1: in the first place, unless you were distributing games, particularly 708 00:43:09,680 --> 00:43:11,719 Speaker 1: for some of these old ROMs, because in some of 709 00:43:11,760 --> 00:43:14,080 Speaker 1: these cases, the companies that made the games have been 710 00:43:14,120 --> 00:43:17,719 Speaker 1: out of business for years, or they were acquired and 711 00:43:17,840 --> 00:43:20,799 Speaker 1: sold and acquired so many times, then no one really 712 00:43:20,800 --> 00:43:23,840 Speaker 1: knows what the ownership rights are for some of these games. So, 713 00:43:23,880 --> 00:43:26,000 Speaker 1: in other words, there's no one to give your money 714 00:43:26,040 --> 00:43:29,640 Speaker 1: to because there's no one knows who owns the copyright. 715 00:43:30,239 --> 00:43:34,640 Speaker 1: And not only are no copies being sold, but there's 716 00:43:34,800 --> 00:43:38,839 Speaker 1: no one who's authorized to sell them, right, no one 717 00:43:38,920 --> 00:43:42,440 Speaker 1: knows who owns it. So in those cases, you're probably 718 00:43:42,480 --> 00:43:45,920 Speaker 1: okay to download the ROMs, not that it's legal, but 719 00:43:45,960 --> 00:43:48,680 Speaker 1: that you're probably not gonna get punished for it because 720 00:43:49,120 --> 00:43:52,440 Speaker 1: there's no one to lay a claim against you. That 721 00:43:53,000 --> 00:43:56,040 Speaker 1: doesn't stop companies from doing that even when they don't 722 00:43:56,080 --> 00:43:59,440 Speaker 1: necessarily have a legal claim to the content. If they 723 00:43:59,440 --> 00:44:01,360 Speaker 1: think they can away with it, they could totally go 724 00:44:01,440 --> 00:44:03,480 Speaker 1: that route. You would have to prove in a court 725 00:44:03,520 --> 00:44:06,759 Speaker 1: of law that the company suing you does not have 726 00:44:06,800 --> 00:44:11,440 Speaker 1: a legal claim to the property they are arguing is theirs. 727 00:44:12,160 --> 00:44:16,160 Speaker 1: So um, you know, if if video game company A says, hey, 728 00:44:16,200 --> 00:44:19,680 Speaker 1: you know back in we purchased video game company B, 729 00:44:19,880 --> 00:44:24,440 Speaker 1: which means we own the video game you have downloaded illegally. 730 00:44:25,400 --> 00:44:28,960 Speaker 1: Uh And you say, well no because of X, Y 731 00:44:28,960 --> 00:44:32,640 Speaker 1: and Z. Maybe it turns out you're perfectly fine, but 732 00:44:32,680 --> 00:44:34,759 Speaker 1: it means you have to go through the whole court experience, 733 00:44:35,080 --> 00:44:38,640 Speaker 1: which isn't great. Now. You may have also heard that 734 00:44:38,680 --> 00:44:41,239 Speaker 1: there's a special rule that allows you to download any 735 00:44:41,320 --> 00:44:43,800 Speaker 1: video game ROM and keep it for twenty four hours 736 00:44:44,200 --> 00:44:46,719 Speaker 1: without it being illegal, as long as you delete the 737 00:44:46,840 --> 00:44:51,480 Speaker 1: ROM after twenty four hours. Uh So generally people say, oh, yeah, 738 00:44:51,520 --> 00:44:53,360 Speaker 1: you can download the game, give it a whirl, and 739 00:44:53,400 --> 00:44:55,799 Speaker 1: delete it a day later, and there's no fear of 740 00:44:55,840 --> 00:44:58,719 Speaker 1: someone coming after you. I am here to tell you 741 00:44:58,800 --> 00:45:02,160 Speaker 1: that's not based on any actual legal grounding. From what 742 00:45:02,280 --> 00:45:07,120 Speaker 1: I can tell, there is no legal foundation for this argument. 743 00:45:07,960 --> 00:45:10,799 Speaker 1: It's probably just wishful thinking that's been passed along as 744 00:45:10,880 --> 00:45:14,359 Speaker 1: gospel among a lot of ROM sharing communities. The truth is, 745 00:45:14,760 --> 00:45:17,960 Speaker 1: if you're downloading something that doesn't belong to you and 746 00:45:18,000 --> 00:45:22,040 Speaker 1: you're not purchasing it, you're just downloading it, you are stealing. It. 747 00:45:22,080 --> 00:45:25,080 Speaker 1: Doesn't matter if you're keeping it forever or for twenty 748 00:45:25,080 --> 00:45:28,799 Speaker 1: four hours, it's still stolen. Now complicating matters in this 749 00:45:28,880 --> 00:45:32,359 Speaker 1: case is that we're talking about digital information, not a 750 00:45:32,360 --> 00:45:35,920 Speaker 1: physical copy of something. I mean, if I walked into 751 00:45:36,000 --> 00:45:38,360 Speaker 1: a video game store and I pocketed a copy of 752 00:45:38,360 --> 00:45:41,560 Speaker 1: an actual video game that was stored on physical media 753 00:45:41,680 --> 00:45:44,800 Speaker 1: like a CD or a DVD, there's no question that 754 00:45:44,880 --> 00:45:46,839 Speaker 1: I stole something. Right If I walk into a game 755 00:45:46,880 --> 00:45:50,360 Speaker 1: stop and I grab a box and I shove it 756 00:45:50,440 --> 00:45:53,439 Speaker 1: under my jacket and I walk out, I stole that. 757 00:45:54,160 --> 00:45:57,680 Speaker 1: There's a physical copy of the game that I have taken, 758 00:45:57,719 --> 00:46:01,239 Speaker 1: and that means the store can't sell that physical copy 759 00:46:01,280 --> 00:46:03,480 Speaker 1: because it's in my possession and I didn't buy it. 760 00:46:04,320 --> 00:46:09,319 Speaker 1: But downloading a file doesn't feel like stealing, right, because 761 00:46:09,320 --> 00:46:13,520 Speaker 1: the original file still exists on some server somewhere, So 762 00:46:13,560 --> 00:46:16,760 Speaker 1: you didn't You didn't take the one and only existing copy. 763 00:46:16,880 --> 00:46:19,560 Speaker 1: You made a copy of another file, and now you 764 00:46:19,680 --> 00:46:24,640 Speaker 1: have that copy, so other legitimate customers could still purchase 765 00:46:24,800 --> 00:46:27,560 Speaker 1: the game that you've taken, because it's not like it 766 00:46:27,600 --> 00:46:30,480 Speaker 1: doesn't exist anymore. And so because of this, a lot 767 00:46:30,480 --> 00:46:34,560 Speaker 1: of people justify their actions as being okay, because it's 768 00:46:34,600 --> 00:46:38,440 Speaker 1: not like they actually took something that physically exists, except 769 00:46:38,560 --> 00:46:42,200 Speaker 1: that at the end of the day, you are accessing 770 00:46:42,280 --> 00:46:45,920 Speaker 1: something without paying for it, when there's an entire business 771 00:46:46,000 --> 00:46:50,840 Speaker 1: based off of making games for money. If game developers 772 00:46:50,840 --> 00:46:55,040 Speaker 1: didn't make money, there wouldn't be games. No one would 773 00:46:55,040 --> 00:46:57,960 Speaker 1: make games, or at least not on the level that 774 00:46:58,000 --> 00:47:00,440 Speaker 1: we are used to. People might make games as an 775 00:47:00,480 --> 00:47:03,480 Speaker 1: expression of art and they're not trying to make any money, 776 00:47:03,520 --> 00:47:06,480 Speaker 1: but there wouldn't be a video game business if we 777 00:47:06,600 --> 00:47:09,120 Speaker 1: all just stole stuff, right, because there's no money in that, 778 00:47:09,280 --> 00:47:11,120 Speaker 1: you would spend your time doing something else where you 779 00:47:11,120 --> 00:47:15,319 Speaker 1: would actually be able to make a living. But we 780 00:47:15,400 --> 00:47:18,239 Speaker 1: get even more complicated because many of the games that 781 00:47:18,600 --> 00:47:22,319 Speaker 1: are in wrong form are now on obsolete systems which 782 00:47:22,360 --> 00:47:27,640 Speaker 1: you cannot purchase at least not from a a primary company, 783 00:47:27,840 --> 00:47:30,880 Speaker 1: Like you're not gonna be able to buy a classic 784 00:47:30,960 --> 00:47:34,600 Speaker 1: Nintendo system from Nintendo. You could buy the the little 785 00:47:34,880 --> 00:47:38,520 Speaker 1: ones that replicate, you know, a dozen or two dozen 786 00:47:38,560 --> 00:47:41,120 Speaker 1: games on one system, but you can't just go out 787 00:47:41,120 --> 00:47:43,640 Speaker 1: and buy in any s. They don't they don't make 788 00:47:43,640 --> 00:47:47,520 Speaker 1: them anymore, or some of those video game systems are 789 00:47:47,560 --> 00:47:50,160 Speaker 1: in limbo as far as ownership goes, and that also 790 00:47:50,200 --> 00:47:52,880 Speaker 1: makes it easier for people to justify downloading the files 791 00:47:52,920 --> 00:47:56,240 Speaker 1: but it doesn't make it anymore legal. Now, I'll admit 792 00:47:56,320 --> 00:47:59,200 Speaker 1: it's really frustrating to be in a position in which 793 00:47:59,239 --> 00:48:03,080 Speaker 1: you would happily pay for something if you could, but 794 00:48:03,200 --> 00:48:05,040 Speaker 1: you have no legal way to do it. That is 795 00:48:05,160 --> 00:48:08,600 Speaker 1: really frustrating. I found myself in that same position with 796 00:48:08,680 --> 00:48:11,520 Speaker 1: a lot of British television series that I love but 797 00:48:11,600 --> 00:48:15,240 Speaker 1: are not available for purchase in the United States. So 798 00:48:15,719 --> 00:48:21,319 Speaker 1: I do the legal, grown up lame thing, which is 799 00:48:21,360 --> 00:48:25,680 Speaker 1: that I don't I don't access it like I don't. 800 00:48:25,719 --> 00:48:28,600 Speaker 1: I don't get it means I don't pirate the stuff 801 00:48:28,640 --> 00:48:30,319 Speaker 1: I love in the hopes that one day I'll have 802 00:48:30,360 --> 00:48:34,480 Speaker 1: a legal means to access it. Instead. I'll, you know, 803 00:48:34,680 --> 00:48:38,320 Speaker 1: I'll post about it, I'll write to people, I'll ask questions, 804 00:48:38,400 --> 00:48:41,240 Speaker 1: but I'm I have to wait until there's a legal 805 00:48:41,280 --> 00:48:44,000 Speaker 1: way to purchase it. I do think this is a 806 00:48:44,040 --> 00:48:48,000 Speaker 1: muddy area. If a game exists and there's no way 807 00:48:48,000 --> 00:48:50,120 Speaker 1: to buy it and the company that made it doesn't 808 00:48:50,120 --> 00:48:53,200 Speaker 1: even exist anymore, are you really causing harm to the 809 00:48:53,239 --> 00:48:57,520 Speaker 1: market by downloading a ROM I'd say you're probably not, 810 00:48:58,120 --> 00:49:01,320 Speaker 1: because there's no way to purchase that legal. But someone 811 00:49:01,360 --> 00:49:04,680 Speaker 1: in court might say you undermined their attempt to make 812 00:49:04,719 --> 00:49:07,520 Speaker 1: a legitimate commercial copy of the game further down the road. 813 00:49:08,160 --> 00:49:10,480 Speaker 1: And because we can't see into the future and see 814 00:49:10,520 --> 00:49:12,960 Speaker 1: if someone is really telling the truth in those cases, 815 00:49:13,440 --> 00:49:17,040 Speaker 1: that's problematic. So if I download a bunch of ROMs 816 00:49:17,120 --> 00:49:21,719 Speaker 1: from a previous publisher that no longer exists, but their 817 00:49:21,760 --> 00:49:25,520 Speaker 1: intellectual property belongs to another company, and that other companies 818 00:49:25,520 --> 00:49:28,880 Speaker 1: says hey, and five years we're going to release a 819 00:49:29,040 --> 00:49:33,360 Speaker 1: best of compilation, UH little console that you can connect 820 00:49:33,400 --> 00:49:38,080 Speaker 1: to your TV. And if you distribute these ROMs, then 821 00:49:38,120 --> 00:49:41,160 Speaker 1: you devalue that system, even if they have no plan 822 00:49:41,239 --> 00:49:44,479 Speaker 1: of doing that. I don't know the case right, so 823 00:49:44,800 --> 00:49:48,200 Speaker 1: it's complicated. At the end of the day. It is 824 00:49:48,239 --> 00:49:51,480 Speaker 1: illegal to download ROMs for any games you do not own, 825 00:49:52,120 --> 00:49:55,680 Speaker 1: and you could technically get in trouble for it. And 826 00:49:55,719 --> 00:49:58,440 Speaker 1: as for games you do own, it's a gray area 827 00:49:58,680 --> 00:50:01,840 Speaker 1: and you could still technically get in trouble for it. 828 00:50:01,960 --> 00:50:05,240 Speaker 1: So tread carefully, and if there is a legal way 829 00:50:05,320 --> 00:50:07,680 Speaker 1: to buy or access the stuff you love, I urge 830 00:50:07,719 --> 00:50:10,719 Speaker 1: you to do that first. It helps cut down on 831 00:50:10,760 --> 00:50:15,120 Speaker 1: reactionary laws and digital rights management strategies, and it helps 832 00:50:15,360 --> 00:50:21,160 Speaker 1: prevent companies from making these these these uh new systems 833 00:50:21,160 --> 00:50:24,439 Speaker 1: that hurt everybody. So if there's a way to get 834 00:50:24,440 --> 00:50:29,400 Speaker 1: it legally, do that. Um. And if there's not, I 835 00:50:29,560 --> 00:50:32,840 Speaker 1: think really hard before you go down this pathway, because 836 00:50:33,120 --> 00:50:36,920 Speaker 1: you could be causing yourself more frustration in the long term. 837 00:50:37,000 --> 00:50:39,520 Speaker 1: And that's all I have on video game emulators. And 838 00:50:39,680 --> 00:50:42,120 Speaker 1: there's a lot more to talk about, Like I could 839 00:50:42,400 --> 00:50:45,920 Speaker 1: go into more detail about specific emulators, but there's so 840 00:50:45,960 --> 00:50:48,719 Speaker 1: many different kinds of them and so many different approaches 841 00:50:48,760 --> 00:50:51,239 Speaker 1: to emulation that I had to take a really high 842 00:50:51,360 --> 00:50:54,960 Speaker 1: level look at this topic. No two emulators, even for 843 00:50:55,080 --> 00:50:58,440 Speaker 1: the same system, are exactly alike, and some of them 844 00:50:58,480 --> 00:51:02,120 Speaker 1: are remarkably different from most others. So it'd be impossible 845 00:51:02,160 --> 00:51:04,920 Speaker 1: to cover them all in an episode or even a 846 00:51:05,000 --> 00:51:08,239 Speaker 1: series of them. But if you guys have suggestions for 847 00:51:08,360 --> 00:51:11,680 Speaker 1: future episodes of tech Stuff, please let me know about them. 848 00:51:11,760 --> 00:51:13,840 Speaker 1: You can write me an email. My address for the 849 00:51:13,880 --> 00:51:17,440 Speaker 1: show is tech Stuff at how stuff works dot com, 850 00:51:17,560 --> 00:51:20,240 Speaker 1: or you can send me a message on Facebook or Twitter. 851 00:51:20,360 --> 00:51:23,200 Speaker 1: The handle at both of those is text Stuff H 852 00:51:23,520 --> 00:51:26,719 Speaker 1: s W. And I'll talk to you again, hopefully with 853 00:51:26,760 --> 00:51:34,480 Speaker 1: a better voice, really soon for more on this and 854 00:51:34,560 --> 00:51:37,040 Speaker 1: thousands of other topics. Is it how stuff works? Dot 855 00:51:37,120 --> 00:51:47,120 Speaker 1: com