{"video_id":"NZmlfmK619g","title":"Why Do You Need DOSBox?","channel":"Techquickie","show":"Techquickie","published_at":"2020-05-05T14:58:16Z","duration_s":331,"segments":[{"start_s":0.0,"end_s":4.5600000000000005,"text":"When you think of an emulator, you probably think of something that allows you to play copies of games","speaker":null,"is_sponsor":0},{"start_s":4.5600000000000005,"end_s":8.8,"text":"that you, of course, acquired in a totally legit way on a different system.","speaker":null,"is_sponsor":0},{"start_s":8.8,"end_s":14.4,"text":"So think a Game Boy emulator for your smartphone, or an N64 emulator for your desktop PC.","speaker":null,"is_sponsor":0},{"start_s":14.4,"end_s":18.64,"text":"And the fact that you need a special program to run these games makes intuitive sense, right?","speaker":null,"is_sponsor":0},{"start_s":18.64,"end_s":21.76,"text":"You're trying to run a game designed for a completely different piece of hardware.","speaker":null,"is_sponsor":0},{"start_s":21.76,"end_s":26.48,"text":"But hold on, because you need emulators for some of your old PC games too,","speaker":null,"is_sponsor":0},{"start_s":26.48,"end_s":34.32,"text":"even if you're trying to play them on another PC. I mean, sure, modern hardware is quite a bit faster than whatever you were using 20 years ago,","speaker":null,"is_sponsor":0},{"start_s":34.32,"end_s":41.68,"text":"but it still should be more or less compatible, shouldn't it? So why do you still need a program like, say, DOSBox to run your old game?","speaker":null,"is_sponsor":0},{"start_s":41.68,"end_s":47.92,"text":"Well, yes, we did give an overview of various reasons why new PCs often cannot run old games","speaker":null,"is_sponsor":0},{"start_s":47.92,"end_s":53.76,"text":"in this video. Right now, let's dig a little bit deeper and talk about why ostensibly compatible hardware","speaker":null,"is_sponsor":0},{"start_s":53.76,"end_s":58.8,"text":"can still require emulators. You see, back in the day, most computers used 16-bit architectures,","speaker":null,"is_sponsor":0},{"start_s":58.8,"end_s":67.68,"text":"both for their CPUs and operating systems, meaning that they handled data in 16-bit chunks and could address 2 to the 16th bytes of memory,","speaker":null,"is_sponsor":0},{"start_s":67.68,"end_s":74.4,"text":"so 64 kilobytes. This obviously wasn't very much, so later on, processors like the Intel 386","speaker":null,"is_sponsor":0},{"start_s":74.4,"end_s":78.96,"text":"introduced 32-bit computing, where systems could handle up to 4 gigabytes of memory.","speaker":null,"is_sponsor":0},{"start_s":78.96,"end_s":83.04,"text":"However, running old 16-bit software required a bit more work,","speaker":null,"is_sponsor":0},{"start_s":83.12,"end_s":88.96,"text":"as the transition to the 32-bit era introduced a couple of significant problems for older programs.","speaker":null,"is_sponsor":0},{"start_s":88.96,"end_s":93.12,"text":"One was that programs written for one architecture can't natively run on another.","speaker":null,"is_sponsor":0},{"start_s":93.12,"end_s":98.32,"text":"That is, a program written for a 16-bit system can't run on a 32-bit system without some tweaking.","speaker":null,"is_sponsor":0},{"start_s":98.32,"end_s":103.28,"text":"The other was that many 16-bit DOS applications ran in a processor mode called","speaker":null,"is_sponsor":0},{"start_s":103.28,"end_s":108.08,"text":"real mode, which allowed any program to access any portion of memory space,","speaker":null,"is_sponsor":0},{"start_s":108.08,"end_s":111.6,"text":"including portions of memory being used by other programs.","speaker":null,"is_sponsor":0},{"start_s":111.6,"end_s":116.56,"text":"This obviously meant that real mode had real security and stability issues,","speaker":null,"is_sponsor":0},{"start_s":116.56,"end_s":120.64,"text":"as there were no checks in place to make sure that a malicious or misbehaving program","speaker":null,"is_sponsor":0},{"start_s":120.64,"end_s":124.96,"text":"wouldn't get into other parts of the memory and threaten data or take down the system.","speaker":null,"is_sponsor":0},{"start_s":124.96,"end_s":129.92,"text":"So a new processor mode called protected mode became the norm in the mid-1980s,","speaker":null,"is_sponsor":0},{"start_s":129.92,"end_s":134.4,"text":"which isolated memory spaces from each other and gave programs different privileged levels","speaker":null,"is_sponsor":0},{"start_s":134.4,"end_s":138.24,"text":"to prevent programs that weren't device drivers or the operating system","speaker":null,"is_sponsor":0},{"start_s":138.24,"end_s":145.44,"text":"from executing certain instructions. However, lots of older programs could only operate in real mode.","speaker":null,"is_sponsor":0},{"start_s":145.44,"end_s":150.48,"text":"So combined with the 16- to 32-bit transition, 16-bit real mode had to be","speaker":null,"is_sponsor":0},{"start_s":150.48,"end_s":156.88,"text":"virtualized to a special mode called virtual 8086 mode that set up a virtual real mode.","speaker":null,"is_sponsor":0},{"start_s":157.44,"end_s":164.88,"text":"And yes, that's definitely an oxymoron. It's set it up by emulating an entire old-school 8086 processor.","speaker":null,"is_sponsor":0},{"start_s":164.88,"end_s":168.8,"text":"For a long time, having this capability was viewed as essential","speaker":null,"is_sponsor":0},{"start_s":168.8,"end_s":176.48,"text":"due to how common 16-bit programs were. Even in versions of Windows based on Windows NT, which didn't run on top of DOS,","speaker":null,"is_sponsor":0},{"start_s":176.48,"end_s":181.6,"text":"a built-in emulator called NTVDM allowed old-school DOS programs to run.","speaker":null,"is_sponsor":0},{"start_s":182.16,"end_s":188.4,"text":"NTVDM is present or can at least be installed in every 32-bit version of Windows NT,","speaker":null,"is_sponsor":0},{"start_s":188.4,"end_s":195.68,"text":"including Windows 10. However, NTVDM has its own issues such as low refresh rates, poor audio support,","speaker":null,"is_sponsor":0},{"start_s":195.68,"end_s":201.76,"text":"and an inability to slow down modern CPUs, which can make games run way too fast.","speaker":null,"is_sponsor":0},{"start_s":201.76,"end_s":209.04,"text":"But this still doesn't explain why old-school DOS games often won't run at all on new systems.","speaker":null,"is_sponsor":0},{"start_s":209.04,"end_s":214.0,"text":"The issue is that nowadays, most systems are shipping with 64-bit operating systems rather","speaker":null,"is_sponsor":0},{"start_s":214.0,"end_s":218.48,"text":"than 32-bit, primarily because they can support more than 4 gigabytes of memory.","speaker":null,"is_sponsor":0},{"start_s":218.48,"end_s":224.64,"text":"However, running a 64-bit OS requires an entirely new processing mode called long mode,","speaker":null,"is_sponsor":0},{"start_s":225.12,"end_s":229.68,"text":"which would have required Microsoft to build a whole new piece of software to virtualize a","speaker":null,"is_sponsor":0},{"start_s":229.68,"end_s":232.8,"text":"16-bit environment for running really old programs.","speaker":null,"is_sponsor":0},{"start_s":232.8,"end_s":238.4,"text":"And while 16-bit programs were still important when 32-bit computing became popular back when","speaker":null,"is_sponsor":0},{"start_s":238.4,"end_s":243.68,"text":"we were all using operating systems like Windows 95, they're basically considered obsolete in the","speaker":null,"is_sponsor":0},{"start_s":243.68,"end_s":250.08,"text":"modern era, so Microsoft simply did not bother re-engineering a built-in emulator.","speaker":null,"is_sponsor":0},{"start_s":250.16,"end_s":256.16,"text":"Therefore, 64-bit versions of Windows simply cannot run old DOS programs natively.","speaker":null,"is_sponsor":0},{"start_s":256.16,"end_s":261.44,"text":"So this is why, if you want to play old DOS games on your fancy new PC, you'll probably","speaker":null,"is_sponsor":0},{"start_s":261.44,"end_s":265.6,"text":"need a third-party emulator like DOSbox, that's had a lot more work put into it,","speaker":null,"is_sponsor":0},{"start_s":265.6,"end_s":271.12,"text":"with game support being a particular focus, making it a superior solution to NTVDM.","speaker":null,"is_sponsor":0},{"start_s":271.12,"end_s":278.4,"text":"And what's more, it's free. It's amazing how resourceful the gaming community can be when they're really determined to do","speaker":null,"is_sponsor":0},{"start_s":278.96,"end_s":283.2,"text":"Now if you'll excuse me, I've got a copy of the original Doom that's calling my name.","speaker":null,"is_sponsor":0},{"start_s":283.2,"end_s":287.12,"text":"So thanks for watching guys, like, subscribe, and be sure to hit us up in the comments with","speaker":null,"is_sponsor":0},{"start_s":287.12,"end_s":290.4,"text":"your own suggestions for what videos we should cover in the future.","speaker":null,"is_sponsor":1}],"full_text":"When you think of an emulator, you probably think of something that allows you to play copies of games that you, of course, acquired in a totally legit way on a different system. So think a Game Boy emulator for your smartphone, or an N64 emulator for your desktop PC. And the fact that you need a special program to run these games makes intuitive sense, right? You're trying to run a game designed for a completely different piece of hardware. But hold on, because you need emulators for some of your old PC games too, even if you're trying to play them on another PC. I mean, sure, modern hardware is quite a bit faster than whatever you were using 20 years ago, but it still should be more or less compatible, shouldn't it? So why do you still need a program like, say, DOSBox to run your old game? Well, yes, we did give an overview of various reasons why new PCs often cannot run old games in this video. Right now, let's dig a little bit deeper and talk about why ostensibly compatible hardware can still require emulators. You see, back in the day, most computers used 16-bit architectures, both for their CPUs and operating systems, meaning that they handled data in 16-bit chunks and could address 2 to the 16th bytes of memory, so 64 kilobytes. This obviously wasn't very much, so later on, processors like the Intel 386 introduced 32-bit computing, where systems could handle up to 4 gigabytes of memory. However, running old 16-bit software required a bit more work, as the transition to the 32-bit era introduced a couple of significant problems for older programs. One was that programs written for one architecture can't natively run on another. That is, a program written for a 16-bit system can't run on a 32-bit system without some tweaking. The other was that many 16-bit DOS applications ran in a processor mode called real mode, which allowed any program to access any portion of memory space, including portions of memory being used by other programs. This obviously meant that real mode had real security and stability issues, as there were no checks in place to make sure that a malicious or misbehaving program wouldn't get into other parts of the memory and threaten data or take down the system. So a new processor mode called protected mode became the norm in the mid-1980s, which isolated memory spaces from each other and gave programs different privileged levels to prevent programs that weren't device drivers or the operating system from executing certain instructions. However, lots of older programs could only operate in real mode. So combined with the 16- to 32-bit transition, 16-bit real mode had to be virtualized to a special mode called virtual 8086 mode that set up a virtual real mode. And yes, that's definitely an oxymoron. It's set it up by emulating an entire old-school 8086 processor. For a long time, having this capability was viewed as essential due to how common 16-bit programs were. Even in versions of Windows based on Windows NT, which didn't run on top of DOS, a built-in emulator called NTVDM allowed old-school DOS programs to run. NTVDM is present or can at least be installed in every 32-bit version of Windows NT, including Windows 10. However, NTVDM has its own issues such as low refresh rates, poor audio support, and an inability to slow down modern CPUs, which can make games run way too fast. But this still doesn't explain why old-school DOS games often won't run at all on new systems. The issue is that nowadays, most systems are shipping with 64-bit operating systems rather than 32-bit, primarily because they can support more than 4 gigabytes of memory. However, running a 64-bit OS requires an entirely new processing mode called long mode, which would have required Microsoft to build a whole new piece of software to virtualize a 16-bit environment for running really old programs. And while 16-bit programs were still important when 32-bit computing became popular back when we were all using operating systems like Windows 95, they're basically considered obsolete in the modern era, so Microsoft simply did not bother re-engineering a built-in emulator. Therefore, 64-bit versions of Windows simply cannot run old DOS programs natively. So this is why, if you want to play old DOS games on your fancy new PC, you'll probably need a third-party emulator like DOSbox, that's had a lot more work put into it, with game support being a particular focus, making it a superior solution to NTVDM. And what's more, it's free. It's amazing how resourceful the gaming community can be when they're really determined to do Now if you'll excuse me, I've got a copy of the original Doom that's calling my name. So thanks for watching guys, like, subscribe, and be sure to hit us up in the comments with your own suggestions for what videos we should cover in the future."}