39

While for other platforms of that era (primarily, Amiga), putting a game on a bootable disk was quite a normal practice, this approach never taken off on IBM PC. Why not?

I do remember people having multiple menu-driven autoexec.bat and config.sys configurations because one would have to boot MS-DOS with only the bare minimum to satisfy the requirements of some memory-demanding games. Since MS-DOS was by and large a single-task operating system, wouldn't booting a game directly from disk be more efficient than going through all the hassle of finding a working configuration of HIMEM, EMM386 and whatever else?

Even when Windows took over, would there be benefits for a demanding game to have full control over the PC resources as opposed to competing with a multitude of random background processes potentially spoiling the smooth FPS?

I understand that games in such a scenario would have to include a minimalist operating system, but I guess a carefully tuned Linux kernel along with drivers for all the popular graphics cards would be enough? This is for the Windows era, that is - for MS-DOS, I guess all the essentials games of that time needed were available directly from BIOS (well, file system support could have been an issue but I recall Amiga games of that time used to read the game data directly from sectors on the disk).

  • 16
    Note hard disks (in various forms) spread relatively early in the PC world, much earlier than on other platforms. Hard disk based games would have ben a nightmare to handle without the OS and its drivers. – tofro Jul 8 at 13:50
  • 28
    en.m.wikipedia.org/wiki/List_of_PC_booter_games lists over 200, including at least one from as late as 1988. – Tommy Jul 8 at 14:58
  • 10
    Would you really want to reboot Windows just to play a game? The were a few games that you had to, and not just booters, but why would you think this would be something that gamers would want? DirectX was invented so games could have more or less direct access to the hardware, and in the Windows 95/98 days there weren't a multitude of random background processes like there are today. – Ross Ridge Jul 8 at 23:32
  • 4
    This question makes a false assertion: there were plenty of booter games for the PC. Of course they fell out of fashion with the advent of affordable hard disks and, later, Windows. – Aaron F Jul 9 at 8:19
  • 9
    but I guess a carefully tuned Linux kernel along with drivers for all the popular graphics cards would be enough? It's hard enough getting a Linux kernel with all of the drivers to work correctly in 2019, when there's only 3 major vendors of desktop GPUs, not to talk about sound drivers. I imagine this was next to impossible in 1995. – Pod Jul 9 at 15:31
4

There were two primary reasons:

  1. Space - PC games were at an awkward juncture in time where both the OS and the games had grown but floppy disks had not, so there was often too little space on the disk to include the OS, even for single-disk games, let alone multi-disk games.

  2. License - They couldn’t just throw a copy of DOS on the disk; that would be piracy. They'd have to have a license to include it but that would have increased the price of the games which were often already quite expensive.

  3. Variation

    Apologies if I was vague in my wording. Take Doom, Heretic or Hexen as an example. These games were using a so called "DOS extender" which, in a way, was a mini-kernel running in protected mode that didn't rely on MS-DOS for anything but probably accessing the file system. So, assuming that a game like this a) would be able to boot from CD by using only BIOS routines and b) would include a FAT driver for making "saves" on the HDD - such a game wouldn't need MS-DOS at all. Ideally it wouldn't even use BIOS since calling BIOS from protected mode was royal pain in the ... – DmytroL

    Games that required DOS extenders did come with them. It sounds like you’re asking why PC games didn't include their own (mini) OS as opposed to running on DOS at all. If so, I assume you’re referring to how some Amiga games had custom boot-blocks that bypassed Kickstart and didn’t use AmigaOS. That was because doing things like graphics, sound, and input was simple enough on the Amiga that they could do that. However, it was not a common practice, it was usually only done by “bedroom-coders” who enjoyed digging into the system and “hacking” things for themselves. Studio games rarely did that unless there was a pressing need like squeezing out every byte of disk space.

    On PCs, it was more of a pain to do low-level things manually, so it was rarely worth the effort (though it did occasionally happen; it's not a game, but even today, “DOS” copies of MemTest86+ come in a non-FAT disk image and boot directly into the program using a custom version of Linux, as does Clonezilla).

    A big reason for programming on PCs being harder than on Amigas, C64s, game consoles, etc. is that unlike original IBMs and other systems that had a defined specification, PCs (IBM clones) quickly became a morass of complexity with a wide variation of hardware. Therefore, it was a lot more work (especially before each standard was established) to accommodate differing hardware; it was easier to just let the installed operating system and drivers do that work. (This was still an issue even in Windows until Microsoft unified the programming experience with DirectX.)

  • It might be helpful to add why DOS was a necessity. – wizzwizz4 Jul 9 at 15:53
  • What? 😕 Why? 🤨 The question is asking why DOS games didn't usually come with DOS. The OP already knows why DOS is necessary; that doesn't need to be part of the answer. – Synetech Jul 10 at 17:31
  • The question uses phrases like "games" and "a game", but never says "DOS games". Some of the sentences in the question don't make much sense under the assumption that the OP is talking about DOS games, imo. – wizzwizz4 Jul 10 at 17:35
  • 1
    @wizzwizz4 Apologies if I was vague in my wording. Take Doom, Heretic or Hexen as an example. These games were using a so called "DOS extender" which, in a way, was a mini-kernel running in protected mode that didn't rely on MS-DOS for anything but probably accessing the file system. So, assuming that a game like this a) would be able to boot from CD by using only BIOS routines and b) would include a FAT driver for making "saves" on the HDD - such a game wouldn't need MS-DOS at all. Ideally it wouldn't even use BIOS since calling BIOS from protected mode was royal pain in the ... – DmytroL Jul 11 at 8:28
  • @wizzwizz4 > The question uses phrases like "games" and "a game", but never says "DOS games" Huh? 😕 It says IBM PC games and DOS was the main OS on IBMs (discussing alternative OSes in this context would be pedantry, especially for games). Also, even the very first revision mentioned DOS numerous times as well as DOS components like HIMEM and EMM386. Maybe you're looking at a different question? 🤔 – Synetech Jul 11 at 18:14
82

Bootable game disks do exist for the IBM PC. Conflict in Vietnam is an example of such a game. As can be seen on page 8 of the manual, the game boots directly without loading DOS first.

The main reason it wasn't common was for compatibility. A self booting game has to have its own drivers for all the hardware it wants to support. As PCs quickly diversified and software was used to provide compatibility with the original IBM hardware, it became much easier to use DOS drivers instead. In comparison the Amiga hardware was largely fixed and compatible through it's entire commercial lifespan under Commodore, and no clones ever gained significant market share.

  • 6
    I had quite a number of bootable game disks for my old PC XT clone. It was fairly common back in the day. – Brian Knoblauch Jul 8 at 16:41
  • 7
    There weren't really any DOS drivers for anything games typically used. The main disadvantage is that these games couldn't read or write from FAT formatted drives, which meant they couldn't be installed on hard disks and usually had a simple or non-existent save mechanism. – Ross Ridge Jul 8 at 23:25
  • 1
    @RossRidge: mouse? – R.. Jul 9 at 3:46
  • 3
    @RossRidge what about VESA/VBE (I needed univbe for some cards, For example S3 trio did not work without drivers any different than just basic VGA)?, Sound cards (only original SB 1.0 and COVOX DACs where without drivers all others needed init/emulation/drivers)? – Spektre Jul 9 at 7:06
  • 2
    @Spektre this was well before VGA, but you are on the right path. For example, machines with an EGA card might need DOS software to put the card in CGA emulation mode for CGA games. Some machines with joysticks used software to make the stick emulate key presses (Amstrad). – user Jul 9 at 8:34
23

Well there were some PC booter titles (MobyGames lists 249), but most of these were quite early games, even before hard drives, XMS or EMS even existed. These were almost always self contained single floppy games, that could run on the very specific hardware that existed. All they used was BIOS for disk access. Also DOS was not the only operating system, so it sort of made sense to have a simple booter game that could be booted from a single floppy, without a specific OS. As the game itself does not require DOS for anything, it would have taken too much floppy space to include DOS just for the purpose of loading a game.

When games became larger and hard drives mainstream, and in practice the consumer OS had settled to DOS, it was much simpler to boot the PC to DOS as usual and then run the game executables either from floppy directly or from the hard drive. Also games that have multiple files like graphics and sound files can just very easily read those files under DOS, without understanding anything about the actual file system structures.

Even later, with 386 and 32-bit protected mode games, DOS was just used as the platform that was able to execute the DOS extender and load the 32-bit game executable into memory for the purpose of running it.

  • 1
    If it helps for perspective, I think there are even a couple of booters for the original Macintosh — not just titles with an appropriate version of the System already on the disk, but that don't use the RAM-resident parts of Mac OS at all. My point being: some people will ship a booter no matter how unsuitable the idea is for the platform. – Tommy Jul 8 at 14:54
  • Because otherwise YOUR SOUND CARD WILL NOT WORK PERFECTLY. – Mazura Jul 9 at 23:14
  • @Justme "games that have multiple files like graphics and sound files can just very easily read those files under DOS, without understanding anything about the actual file system structures" - so do I get it right that on the Amiga, booters used Amiga DOS routines from Kickstart ROM for this purpose? Well, maybe games did, but I am pretty sure I've heard of Amiga bootable disk demos (think demoscene) using very custom disk formats for storing their data. – DmytroL Jul 11 at 8:34
  • @DmytroL I haven't said anything how Amiga works and what it has in ROM, but whether Amiga or PC, it may or may not use what is provided by system ROM/BIOS and PC provides bare sector access, no file system without DOS. – Justme Jul 11 at 14:52
  • @Justme Right. What I was trying to say was "There were Amiga games and demos that were only using bare sector access routines from the system ROM" - so given that having only raw sector access was definitely not a roadblock on the Amiga, I am trying to understand why would it have been a roadblock on the PC. – DmytroL Jul 12 at 16:38
20

The IBM PC was NOT a Game Machine

Plenty of people played plenty of games on IBM & compatible computers. But the IBM PC was designed as a business machine, not a game machine.

This is most obvious with audio capabilities. Where Atari 400/800, VIC-20, Commodore 64, Amiga and many other machines of the era included some (for the time) serious sound capabilities, the IBM PC did not. As a result, within a short amount of time, there were a number of different sound cards available, each of which needed a driver or specific application programming to work.

Video was not quite as bad, but even there, the original PC had a choice of two very different video cards (MDA & CGA) and soon EGA and others came along, each with their own video modes (bit depth, resolution, memory-mapped video RAM location, etc.), while many of the other popular machines had video, often with better support for games (e.g., sprites), built in to the motherboard.

Due to the sheer size of the market, there were many games available for the IBM PC. But due to design issues, many of these games needed either extra hardware (e.g., sound card) or extra software (to support different sound, video, extended/expanded memory), all of which was a lot easier to support by booting into MS/PC-DOS first. In addition, hard drives were quite common with the IBM PC (at least after the introduction of the XT), so installation of a game onto the hard drive, sometimes with insertion of the original floppy at the beginning of the game for copy protection, made a lot more sense than trying to cram everything into one or two bootable floppy disks.

  • 5
    Confusingly enough, one of the PC’s launch titles was a game, Microsoft Adventure (which also happens to be a booter). So while the PC wasn’t designed as a games machine, IBM did intend people to play (some) games on it... – Stephen Kitt Jul 8 at 15:36
  • 1
    @StephenKitt No question they wanted the PC to be used for games, as well as business. But this was also a text based game, which didn't have the issues of video, audio, etc. which became much bigger issues as the game software market evolved. Plus no hard drives on that first day. Etc. – manassehkatz Jul 8 at 15:41
  • 4
    I’m not disagreeing with your answer (although comparing booter-period PCs to the Amiga is anachronistic; and sound cards only appeared in 1987), I’m just saying that the messaging was confusing right from the outset. – Stephen Kitt Jul 8 at 15:50
  • 2
    Yes, many home micros had better graphics and sound than the PC ;-). 8-bit Ataris for example... – Stephen Kitt Jul 8 at 16:02
  • 1
    @caf Most sound cards didn't, though even those sometimes benefited from configuration in autoexec.bat or config.sys. A better example would be EMS/XMS, HDD, mice, CD-ROM, and some "specialised" hardware like SCSI or some network hardware. The main thing is in the trade-offs - you get a bit of extra compatibility for free, and in return... you're easier to use. The only real drawback was some systems might lack conventional memory due to other drivers/residents. There wasn't much reason to build a booter - you got just as direct access to the hardware from DOS wherever you needed it. – Luaan Jul 9 at 8:20
12

Games that were designed to be run from floppy were usually self-booting, and often could only be run by booting from floppy. In many cases, the game code could be stored in ways that would not be understood by MS-DOS (using things like non-standard sector sizes), and booting into a game would be faster than booting MS-DOS and then booting the game. The big problem was that a self-booting game would be generally be able to access anything that required any sort of loadable device driver, nor--in most cases--any information that was stored on a normal MS-DOS disk. If one wanted to save one's progress in Zork I or Wizardry, one would have to format a disk specifically for that purpose, as opposed to merely being able to store a file on an existing MS-DOS volume [I think Wizardry used disks formatted to the UCSD P-system standard, and its save files might have been able to co-exist with files for other P-system applications, but Wizardry is the only one I know of].

Note that if a game knows that it will need to use a certain specific set of files, it can simply have a list of files and their locations built into the game's code. If a game were using MS-DOS and wanted to read foo.dat, it would need to read one or more sectors of directory information, then one or more sectors of the FAT, before finally being able to read the data for the file of interest. If instead the game code is hard-coded table that says file #23 is stored from sectors 293 to 299, the code can simply read those sectors directly, thus offering faster performance than if the game were using DOS to read the information from floppy (though probably slower than using DOS to read from a hard drive).

  • 1
    I've got a copy of the original 1987 PC version of Pirates! and its copy protection and save game system was exactly this. I'm glad that the disks never became unreadable when I owned computers that were slow enough to play the game! It did boot very quickly however. – ErikF Jul 8 at 22:24
  • Wizardry was special as it was written in UCSD-Pascal, which made it portable, and the runtime did not use or require DOS. It is debatable if that alone made it a booter or as-such copy protection - if I recall correctly there was also an uncopyable bit of the disk (played the first one quite a bit back then). – Thorbjørn Ravn Andersen Jul 9 at 17:02
  • @ThorbjørnRavnAndersen: Do you know of any P-system-based programs other than Wizardry that were ever popular on the PC? – supercat Jul 9 at 17:06
  • No but that is just me being ignorant. – Thorbjørn Ravn Andersen Jul 9 at 17:19
  • @supercat "one would have to format a disk specifically for that purpose, as opposed to merely being able to store a file on an existing MS-DOS volume" - but how hard would it be to include a FAT filesystem driver directly into the game code? Linux had one as of 1996 at least, so licensing didn't seem to be an issue. – DmytroL Jul 11 at 8:31
11

Your question is backwards, the Amiga and Atari ST were really the only computers that had mainly bootable games on floppy, pretty much every other disk-based PC required you to boot into the OS first, then boot your game. There are a very small number of exceptions on the PC, but they are rare.

The simple answer is that the Amiga and ST had part of their OS stored on ROM, for the Amiga this was named a "Kickstart" ROM and this could be updated or flashed with new versions. This was effectively "DOS" for the Amiga, and it was built into every machine. You could load the more fleshed-out "Workbench" from floppy or HDD, but Kickstart was always loaded when the machine turned on.

If a game wanted to be self-booting on the Amiga, all they needed to do was issue a few Kickstart commands and you would be ready to go.

If a game wanted to be self-booting on the PC, there was no built-in OS, just some very high-level BIOS commands as standard. The game would have to have an entire kernel and OS included, and you couldn't just distribute DOS with your game. So unless you wanted to code an entire IBM PC kernel and OS (which was far more possible in the early days when there was only three types of CPU, two types of graphics adapter and one type of sound hardware), then you would have to rely on the user to already have DOS.

New contributor
John Eddowes is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • 3
    "high-level BIOS commands" - did you mean "low level" ? – DaveInCaz Jul 10 at 20:29
  • 2
    Apple II machines booted games from floppies; self-booting games were the rule rather than the exception, pretty much. Commodore 64's almost booted game disks by themselves: LOAD “*”,8,1., (sigh). – Kaz Jul 10 at 21:55
  • 2
    You didn't need an "entire kernel and OS" for running a bootable game on a PC. The BIOS and I/O system already provided enough functionality and accessing them wasn't any different than when running a DOS game. You just lacked the DOS API (software interrupts) so if you could without these you were fine. DOS didn't provide graphics or sound APIs so each game had to include these themselves anyway. I had quite a bunch of bootable games on my 8088. – DarkDust Jul 11 at 7:01
  • 1
    PC booter games weren’t rare in the early days of the PC. According to MobyGames, in 1981 10 DOS games were released for 1 PC booter, in 1982 100 for 22, in 1983 98 for 62, and in 1984 107 for 65; at their height in 1984, PC booter games represented a third of all games available for PCs. There were many other home computers which would boot games from disks; comparing with the ST and Amiga is anachronistic. – Stephen Kitt Jul 11 at 7:40
  • 1
    This is completely wrong. For a start, PCs had the BIOS that provided similar services to Kickstart, at least in terms of what games used. Most games didn't use AmigaDOS, they had custom disk formats the same as bootable PC games. All the same limitations applied, e.g. lack of HDD support, only supporting the standard base hardware. – user Jul 11 at 8:29
5

I'd like to question the premise, here.

I understand that games in such a scenario would have to include a minimalistic operating system, but I guess a carefully tuned Linux kernel along with drivers for all the popular graphics cards would be enough?

Space is an issue, so it would be beneficial if it were possible to have the kernels separately, or else have multiple different copies of the game with different sets of drivers. The "separate kernel" model seems more efficient, and what is DOS if not this?

Now, even when Windows took over, would there be benefits for a demanding game to have full control over the PC resources as opposed to competing with a multitude of random background processes potentially spoiling the smooth FPS?

There is a convenience in being able to start your games quickly, and to Alt-Tab, and to use the network you've already configured your computer to use, etcetera. And computers powerful enough to run Windows were often powerful enough to run most games without stuttering, especially since Windows gave priority to the programs the user was interacting with.

Nevertheless, many games on my Arcade ClassiX CD-ROM required me to boot into single-process (MS-DOS) mode in order to run properly; it appears that such games existed. It wouldn't surprise me if such bootable disks as you describe in your question also existed. But such launch systems reduce the target audience with very little benefit, so I wouldn't expect many to exist.

  • 1
    The benefits did outweigh the negatives for a little while: Early PC hardware was extremely limited in power, and speed was an issue. early MS-DOS disk read routines for example were inefficient, and also prioritised error correction and filesystem integrity checks over reading data. You could make your game load much faster by booting into your own custom OS which had optimised disk access routines. Similar with graphics, you could access the hardware in ways that DOS couldn't, and speed up framerates etc. These benefits only really lasted until MS updated DOS. – John Eddowes Jul 12 at 12:15
-1
  1. Floppy disks were extremely unreliable. As a consumer, if I knew a game would only be usable by booting from it's own floppy disk, I'd be immediately turned off on buying that game because I know that sooner or later, that floppy disk is going to be rubbed raw by the floppy drive's read heads and turned into rubbish. Then I'll be out of my money and without my game. Even if the bootable game didn't employ copy protection schemes (which most bootable games did), I'd still be out the cost of a replacement floppy disk.

    Hard drives, while still a bit unreliable back then, were significantly better.

  2. Self booting means you don't have access to any of the FAT filesystem code in DOS. That means you can't safely access the hard disk. In fact, you couldn't even use many of the standard C library routines. You'd have to make BIOS calls yourself and try accessing the raw disk directly, which is pretty impractical. Tiny games could be contained within the size limitations of a floppy so that using raw BIOS reads (without a filesystem) might be manageable, but beyond that it was so much more reasonable to just simply require DOS.

  3. Booting was really slow in the old days. Many BIOS's would do a Power On Self Test procedure that would take way too long. Imagine trying to develop a game where you had to reboot to test each iteration of your code? Pretty impractical. So, most programs were developed under DOS where you could switch back and forth between testing your code and running your development environment pretty quickly. Your game was by default already DOS compatible at this point, so making it into a self-booting image meant you had to do MORE development before you could release. Waste of time for most people, other than those bent on implementing copy protection schemes.

  4. Incompatibility. The IBM PC was largely popular because there were so many competing vendors producing different, yet still mostly compatible clones of each other's hardware, driving down costs of computers. The problem is, you often needed software to, at the very least, initialize the hardware into a state of compatibility at boot time. Or in the case of Mice and CD-ROM drives, you needed a terminate and stay resident driver that knew how to talk the proprietary hardware protocols, while providing a generic API for applications. Making a self booting game meant that your game very likely would have compatibility problems for many of your otherwise potential users.

New contributor
K9spud is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • Re #1, I really wonder how was this - I totally agree, very real - problem addressed on Amiga / Atari ST? – DmytroL Jul 11 at 8:12
  • Re #3, I wonder if the slow boot was an IBM PC-specific problem? And if it was, I recall one could turn POST off in BIOS settings? I have never owned an Amiga or Atari, so unfortunately don't have first-hand experience with those platforms. Still, from what I can recall from visiting my university buddy who did own an Amiga, the boot process wasn't blazing fast either. Although I agree that POST could have been a hindrance as the Amiga didn't seem to have anything like that. – DmytroL Jul 11 at 8:16
  • Re #4, the case with CD-ROM is an interesting one. I somehow implicitly assumed that BIOS routines could work with CD drives as well (after all, CD drives had the same IDE interface as usual HDD drives, hadn't they?). Now, as other users have correctly pointed out that floppy disks would be too small to keep all the code and data of any decent game of that time, I was thinking of a game bootable from a CD-ROM drive - but if accessing a CD would require a loadable driver, that would nullify the whole idea. – DmytroL Jul 11 at 8:19
  • Re #2, I'm having a real hard time imagining a game on the IBM that would be worth playing and could fit within the few hundred bytes available to the bootloader. – a CVn Jul 11 at 15:55
  • @DmytroL The Amiga booted tolerably quickly (I at one point had an A500), and pretty much all of that boot time was to get the OS to a usable state. As for BIOS settings, that really wasn't much of a thing until the 1990s; the BIOS setup might offer a way to configure the type of floppy disk drives and hard disk installed, set the system clock and a few other odds and ends, but BIOSes were still rather limited in what they did, and the POST served a real purpose in not just getting the machine running, but also making sure it wasn't somehow broken. The time wasn't spent in wait loops. – a CVn Jul 11 at 15:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.