---> DOS Hardware Guide <--- Like all computer software (including "portable" software such as Java), DOS programs are picky about the hardware they like to run on. Your choices will also depend on whether you want to run new DOS software, or ONLY old DOS software written during the 20th century. Here now are my observations and recommendations, based on personal experience with DOS in the early new millennium. Before we begin, you must understand that many DOS programs (especially games) only work properly when run on ISA-bus hardware that is no longer in manufacture. If acquiring used equipment is an issue, then it is best to -not- run DOS programs natively under the DOS OS, and instead use an emulator (such as DOSBox-X, which can provide hardware emulation directly under DOS running on a modern PC, or under some other OS such as Windows). Note: There are some modern tiny and efficient Operating Systems that you can choose instead of DOS which have recently become available (NO, -not- bloated Linux). One such OS is KolibriOS [https://www.kolibrios.org/en/]. One practical possibility that lets you "have your cake and eat it too" is to operate TWO separate PCs; a recent one to surf the Internet and run your "normal" software (with an appropriate modern OS), and an antique PC for just your DOS software. Both computers can share the same Keyboard, Monitor, and Mouse by using a KVM switch (thus saving desk space). ----- There are certain things that ALL PCs should include: 1) Always use Surge Protection! 2) A CPU heat-sink is MANDITORY, and between it and the processor should be a layer of thermal paste. A passive heat-sink is preferred -IF- you have sufficient airflow across the heat sink; as it creates a quieter computer, and more importantly, there is no fan to fail (and fail the fans ALWAYS do!). 3) Replace the Power Supply in any commercially manufactured computer with a premium grade, high wattage unit. You will garner imediate stability rewards, and mysterious glitches will vanish. Ideally you should use one of the new generation "Quiet Fan" power supplies. The power supply fan (with the possible exception of the hard drive) is the noisiest component in the computer. Quiet computing is a VERY important aspect of computing (as much as choosing a proper monitor or an ergonomic keyboard). Be careful though to make sure that the power supply is not just quiet, but also of Premium Grade (e.g., uses large capacitors, beefy components, and lots of heat-sinking, so it can effectively deliver a CLEAN high wattage output without strain). Preferably the unit should have a bottom-mounted 120mm fan (such as on the Nexus brand NX=3500), as such a design does a better job of cooling the computer case interior. 4) Never overclock an "ISA bus" over 8.33mhz. 5) Always make sure there is good airflow around a physically spinning hard drive to prevent premature drive failure. Keep space separation between the hard drive and any CD/Floppy drives. You may even want to add a heat sink to the drive case. - - - - - - - - - - Computer for running -ONLY- modern DOS software: If all you want to do is run DOS programs written since the turn of the century, then the hardware solution is easy. Just go down to your local computer store and acquire any new millennium computer that strikes your fancy (and that you have all the hardware drivers and connectors for). Erase the preloaded software, and install the latest version of your favorite flavor of DOS (or perhaps WARP or eComStation). FreeDOS [https://www.freedos.org] is an excellent choice, and costs nothing. Enjoy. - - - - - - - - - - Computer for running -ONLY- vintage DOS software: If all you want to do is run DOS programs written during the 20th century, then the ideal general duty computer processor to select is the IntelDX4 100mhz. Although pre-Pentium, this processor is fast enough that even modern multi-media software (such as MP3 players) will run satisfactoraly. The more common Intel 486DX/2 66mhz, or other Intel 486DX, 486DX/2, and IntelDX/4 processors of any speed, as well as the fabulous AMD 386DX 40mhz processor, are all acceptable alternatives. Ignore everything else. Note: If running very old DOS software (such as software written for the IBM PC XT), the 486 processor FSB can be hardware slowed via BIOS controls. The processors motherboard should support at least two 16-bit ISA peripheral slots (but a micro-channel motherboard without any ISA slots is Ok if you have all the necessary micro-channel peripherals). Make sure the processor has a large heat sink installed. For best thermal cooling, the surface of the heat sink should be smooth and free of paint (use 400grit oiled sandpaper to polish the contact surface of the heat sink if necessary). Always put a layer of thermal paste between the heat sink and the processor (use "Arctic Silver 5"). ===== Install a minimum of 16mb of motherboard Random Access Memory. 32mb is ideal, as that is the limit useable by most older DOS software. Install 64mb when possible, as this allows for a 32mb RAM drive option. Be aware that the maximum amount of memory DOS can access is 64mb (and you can not even use memory over 64mb for a RAM drive). It is suggested that you do -not- install MORE than 64mb of RAM in the computer (even if you can), because it may cause addressing errors in some poorly written programs. RAM should be rated at a speed of 60ns or faster (-NEVER- compromise in the area of RAM speed, or you WILL encounter bizarre computer errors). Do -NOT- mix speeds or types of RAM. Matched (same vendor and model) full sized RAM modules using a full complement of discreet chips are always preferable to low-profile or reduced-chip-count RAM. -ALWAYS- install RAM in pairs (even if the motherboard will let you install memory singularly). ===== The video -MUST- be SVGA (preferred) or at least VGA compatible (EGA, CGA, and monochrome modes can be emulated with such cards), and have a MINIMUM of 1mb of video ram. Be cognizant that video ram in excess of 2mb is not used by any 20th century DOS software. Video card may be of any bus type supported by the motherboard, including built-in. The chip -must- be able to support VESA 1.2 or higher, either natively or with a software driver. Ideally the chip should support VESA 2.0 natively. ISA, MCA, EISA and VLB bus video cards run at slower speeds that many older DOS games prefer (and thus excessive software slowdown compensation tricks are not required). AGP bus video cards have issues with DOS software and should not be used. PCI and PCI Express bus video cards operate too fast for many DOS games, so ideally should be substituted (PCI motherboards may have ISA slots), or if they must be used, be slowed down as much as possible on a hardware level by turning off any caching and adjusting settings in the BIOS. Be aware that 1mb video cards differ from brand to brand, and sometimes do not conform to SVGA modes used by a specific DOS program (pixelation under the mouse pointer is a common error symptom). Solutions include falling back to standard modes (such as normal VGA), choosing a VESA video mode, or selecting a different brand of video card (best choice). Don't worry about old performance ratings for various brands of old 1mb video cards. These ratings were only important if you were running Microsoft Windows 3.x, Autodesk Autocad, or certain very specialized software applications on a 386 or older processor motherboard. For all other software (including most games), performance differences were nearly indistinguishable between 1mb video card brands/chipsets (and will dissapear completely on a 486 or newer processor motherboard). If in doubt about brand, the Tseng ET4000 chip is a very compatible choice. Unless the computer will be dedicated to running ONLY one or two very specialized DOS programs (certain drafting or science programs), do -NOT- install a monochrome-only video card. ===== Computer should have at least one 1.44mb 3.5" floppy disk drive (along with at least one 1.44mb 3.5" floppy disk), even if you do not forsee using it. An excellent choice is the Teac model FD235HF. A rare 2.88mb 3.5" floppy disk drive can be directly substituted for the 1.44mb drive. Configure this 1.44mb floppy disk drive as drive letter A:, as this could then be used as your initial boot drive if necessary. ===== The PC -must- have a hard drive. This could be a physically spinning LOW NOISE drive, or a modern solid state drive. Physically spinning Parallel drives should be at least ATA/66 or ideally ATA/100, even though they require a special controller and ribbon cable (along with a DOS UDMA driver to take advantage of the higher transfer speed). Whatever drive you select choose one with the highest capacity hardware cache, as this will allow you to eliminate the need for memory wasting software caches. I would strongly advise NOT using anything smaller than 40mb ("mega" byte), and using only an MFM, ESDI, or ATA design for a physically spinning drive. DOS will recognize ONLY 8gb ("giga" byte) of fixed disk space on a SINGLE drive, but be cognizant that you can have multiple drives, up to the limit of your drive letters (C-Z). You CAN install a bigger hard drive, but with conventional 16-bit DOS you will not be able to fdisk any of that drive beyond the 8gb barrier. Note: With newer 32-bit versions of DOS (such as "FreeDOS-32"), the OS can recognize single drives up to 136gb in size, so it would be smart to initially install at least a 120gb ("giga" byte) drive for flexibility. Your Primary hard drive should be use the drive letter C:. To avoid major problems, do -not- use a SCSI drive as your -primary- drive. Also, avoid ever installing "HardCard" or "Bernoulli/Syquest" drives in the computer. ===== Computer should have a Parallel printer port configured as LPT1, IRQ5 (five). The default IRQ for the Parallel port is IRQ7, so this needs to be changed (the Sound Card needs to use IRQ7). Even if you do not forsee using a Parallel port printer or other device, having the physical port gives the flexibility of having a port for a physical hardware copy protection key. It also allows a way to connect physical DIY devices to the PC if needed. ===== Equip the computer with a 2-button Microsoft compatible mouse or trackball (a Logitech compatible mouse or trackball can be substituted). To avoid issues, -never- use a Genius or Mouse Systems mouse! The mouse can be either a PS/2 connector mouse (the preferred choice) or a Serial connector mouse (Serial mice should use COM1, IRQ4). A mouse wheel is not important, as almost no DOS programs can natively (i.e., without special utility software) take advantage of either a mouse wheel or a third button. Note: An USB mouse will -not- be recognized by DOS! You should have a physical Serial port (9-pin is fine) on the PC even if you have a PS/2 port, as this gives the PC flexibility for adding devices such as external modems (or possibly a pen device). Since this Serial port will not be connected to the mouse, it should be configured as Com2 (two), IRQ3 (three). ===== Naturally the computer will have a keyboard and monitor (or "CONsole" as they used to call it). It doesn't matter whether the keyboard uses the large DIN or PS/2 type plug (you can use a keyboard plug adapter if necessary). For most software you can even use a keyboard that has only 10 function keys. TIP: A "left-hand" keyboard (one with the keypad on the left of the alphanumeric keys) will produce less stress on your arm by allowing the mouse to be located closer to the alphanumeric keys. Note: An USB keyboard will -not- be recognized by DOS! Unless the PC is equipped with a color SVGA built-in display, the PC must be equipped with either a 15-pin SVGA or HDMI external monitor plug, even if it is equipped with some other type of external monitor plug. For flexibility, the PC should include a 15-pin color SVGA plug even if it is equipped with a HDMI plug. The external Monitor must be a SVGA color monitor. It can be a CRT (preferrably multi-sync) or a LED. Don't stress your eyes using an external monitor smaller than 16-inches diagonal. Tube monitors (which if properly configured give superior performance to LEDs) should not have a resolution courser than .28 dpi (it is ok to be .30 dpi on monitors over 17-inches). ===== EXTRAS: It is recommended that the PC be equipped with a USB 1.x compatible port, even if you choose to currently keep it invisible to the DOS OS (USB 2.0 and higher ports if installed instead -MUST- be -FULLY- backwards compatible to USB 1.x). Be aware that adding a PCMCIA Card or FireWire port (yes DOS can use them, but why bother) will -not- cause a conflict with this USB port. The USB port can be used by a USB (thumb) drive to provide hard drive service on drive letters D-Z (but the drive should only be physically attached/disconnected when DOS is not active). It is suggested that the computer be equipped with a CD-RW drive in order to extract data, although a removeable USB (thumb) drive is probably a smarter solution. The CD does however give the option of playing commercial music disks or reading data disks. 4x read speed is sufficient for nearly all DOS software (no DOS software -ever- requires anything faster than a 32X read CD drive or an 8X read DVD drive, and in fact slower drives run quieter and are far safer). NEC was a good choice for a CD drive brand. If you choose a DVD-RW instead of a CD-RW drive (the computer can be equipped with both a CD and DVD if you so choose), the drive needs to be able to play CD Music and write CD data disks trouble free. Avoid combo CD/DVD units (they are less reliable than having separate CD and DVD drives). Side mount drives, especially the low profile versions, can also be troublesome. If your CD uses PIO mode for data transfers (a typical situation), it is recommended that you install it on a separate controller channel from that used by any UDMA devices, such as your Hard Drive. ===== If you intend to play games, it is strongly urged that the computer be equipped with a -SINGLE- analog joystick port. If the computer has more than one port, the other ports -MUST- be disabled or trouble will ensue. Ideally you should disable -ALL- built-in joystick ports and install a dedicated high-performance IDE joystick port card (most PCI joystick cards are sub-par). An excellent high-performance IDE card is the CH Products model "Gamecard 3 Automatic". Choose your analog joystick carefully. Old DOS games can NOT take advantage of many of the features found on modern joysticks. A simple X/Y axis joystick with 2-buttons is sufficient for nearly all of the old DOS games. Whatever joystick you choose, make sure that it is equipped with "trim" controls (the little wheels/slides that allow joystick centering). Be aware that Wheels, Throttles, and Rudders were once available for DOS games, but that they only emulate joysticks or key presses. Note: An USB joystick (or gamepad) will -not- be recognized by DOS! ===== Most all but pre-386 games can use a sound card (older games use the PC speaker). The defacto Sound card is a "SoundBlaster 16" compatible. A genuine ISA SoundBlaster family card is the preferred choice (some games will not find the sound card if it is NOT installed on an ISA bus, because they use DMA, and DMA is not supported through PCMCIA or Parallel ports). Set the SoundBlaster settings to A220, I7, D1 (note that I7 is NOT the default on some cards, so it must be changed). Make sure that parallel ports are -NOT- using IRQ 7. To take full advantage of late '90s games, you should use a sound card that is also "SoundBlaster AWE32" compatible. Do not drive speakers directly from a sound card. Instead use the line-out and connect it to an external amplifier. Stereo headphones -can- be driven from the sound cards amplifer, and offer an excellent choice for general listening. Caution: The SoundBlaster 16 is backwards compatible to the "original SoundBlaster", but -NOT- the "SoundBlaster PRO"! If possible, avoid installing the "PRO" version, and don't bother with other sound alternatives like the Disney or TurtleBeach (the TurtleBeach was actually for MIDI, and the AWE32 provides as good a music output). Some PCI and built-in sound cards are not fully ISA SoundBlaster 16 compatible, and may not play (or even be detected) correctly with some DOS games. Unfortunately the manufacturers are Windows focused and won't provide compatability specifications. For these you will just have to take you chances or hope someone has written a driver. Note: Genuine SoundBlasters that are AWE32 compatible can playback General MIDI or Roland (MT-32) sequences through a TSR that re-maps the SoundBlaster sound banks. ===== If you desire remote connectivity to other computers or devices, then either a modem and/or network interface card should be considered. Modems, while fully supported by DOS, have become somewhat obsolete. If you plan to use an external modem, the Serial port in the PC -MUST- have a 16550 UART chip (otherwise you will never be able to achieve modem speeds over 24kbps). Your best modem choice is a 33.6kbps V.34bis modem (on COM2, IRQ3). In ideal situations your may get slightly better download speeds with a 56kbps V.92 modem, but the upload speeds are usually slower than with the 33.6kbps V.34bis modem. -NEVER- use a "Win-modem" (they are unable to work with DOS). Network interface cards are not well supported by DOS. The card most supported by DOS software is a "NE-2000" compatible. "3-Com Etherlink III" compatible network cards are the next most supported by DOS software. Most DOS networking software is focused on remote drive access, and -not- connecting to the Internet. The network card is one of the few cards that should be PCI or built-in if possible (for better throughput). ===== Optionally a printer should be considered, as some old '80s programs required them! Most software will print to an Epson LQ1500 compatible 24-pin dot-matrix continuous feed printer. Some software will also support a laser printer compatible with the Apple Laserwriter (such as most HP laser printers). A Parallel port scanner, which while even more optional, would make a nice complement to the printer. - - - - - - - - - - Computer for running -ANY- DOS software (new or old): A computer that works satisfactorily with both old and new century DOS programs is a difficult thing to design. You must carefully balance on the fence between Performance and Compatibility. The motherboard will probably have to have PCI slots (which means a motherboard designed after the introduction of the Pentium class of processors). Why? Because DOS can run virtually all new PHYSICAL hardware (when you write appropriate drivers), and since new peripheral cards are almost all PCI bus based, you need a motherboard with PCI slots if you would like to use any of these new peripheral cards. However, along with the PCI motherboard you will be getting an Intel Pentium (or AMD equivalant) processor, which is not the best choice for most DOS software. Why? Because of the integrated Cache. This often causes problems in several ways, the biggest being that much older DOS software expected the processor to be constantly looking for changes in the state of the hardware device or software instructions. When the processor only refers to old data in its cache, dynamic changes can not be implemented. Post Pentium software understands these new processors and sends special instructions to flush the processor cache. However classic DOS software does not issue these commands, and you will instead get errors such as sound synchronization issues, video updates not taking place, random program crashes, and slowdown software producing inconsistent slowing depending on what the program is currently doing. Experiments should be made as to whether an individual program will run better without the cache being active, and a batch file should be written to enable/disable the cache when the program is launched. ----- Another problem faced, and to which the Pentium processors play a major role, is that of computing speed. Much DOS software old and new is written using efficient low level coding languages. These languages produce small, fast programs that do not require high performance hardware to make them run effectively. Older DOS programmers were not expecting the onslaught of sloppy, bloated code that defines much of the non-DOS software written today. They had assumed (incorrectly) that persons writing such code would fall to the wayside because their programs would run very poorly on existing hardware. The did NOT anticipate that the hardware manufacturers would compensate for the programmers shortcomings by offering higher processing speeds (and as a side issue, bigger storage). Running above expected speed causes two major related problems. While good for some programs (such as Word Processors), it is terrible for Arcade Games that base their event timing against the typical processor speeds of the day. Adding hardware bottlenecks and using software slowdown trickery can help compensate for the game timing problems, but it does not solve the problem completely (and sometimes introduces its own problems such as audio glitches). Underclocking by adjusting the bus settings in the BIOS is superior to a software solution (and your computer will run cooler as a side benefit). The second speed problem is that a popular programming software written by Borland had a bug that causes software compiled by it to crash when run above about 200Mhz. Any such software must therefore be patched before it can be run on any computer of recent vintage. ----- Increases in storage space has been an advantage and a curse. The advantage is that DOS programs no longer have to consider bizarre and often unreliable techniques for storing large quantities of data (Drive Compression software, ability to write to tape drives, programs that slice files into smaller chunks, etcetera). The curse is that with all that storage space, DOS programmers are forgoing writing small, efficient code (e.g., they are using bloated programming languages like "C", rather than efficient programming languages like "Assembly"). Also, these new programmers are falling prey to "feature creep", and they are including lots of "extras" in their programs that eat up considerable amounts of storage space. DOS (being 16-bits) does have limits that are now being quickly reached by these programs (i.e., the 8gb drive limit). ----- Finally, the history of PC computing itself has forced issues into DOS programs. Many DOS programs were written during a period of great flux in the kinds of hardware available for DOS to operate on. As hardware standards changed, there was often little or no support for the older standards. Software vendors compensated by offering duplicate code inside their programs that allowed them to be run on the older hardware (that's why you often must first tell your programs what kind of Video card, Sound card, etcetera, is installed). However, older software is not "forward" compatible, so a program written to operate only on a CGA video card for example, may not work properly when all you have in the computer is a VGA video card. Hardware selection for an all-purpose DOS computer therefore becomes a careful balancing act of selecting parts that will work with -MOST- software. Post Script: You may be forced into using very modern computer hardware that is not ideal for older software. An inelegant but effective solution in that scenario is to run a DOS emulator (such as DOSBox-X) under native DOS, inside of which you run any older programs that are having problems.