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