---> DOS Hardware Guide <--- Like all computer software (including Java software), 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 new millennium. Before we begin, you must understand that many DOS programs (especially games) only work properly when run on hardware that is no longer in manufacture. If acquiring used equipment is an issue, then it is best to -not- use DOS software, and settle instead for some alternative. Note that you can "have your cake and eat it too" if you own TWO computers; one for your "normal" software (Windows 2000 works good) and one for your DOS software. Both computers can share the same Keyboard, Monitor, and Mouse by using a KVM switch (thus saving desk space). ----- 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 favorite computer store and buy any computer that strikes your fancy (and that you have all the hardware drivers for). Erase the preloaded software, and install the latest version of your favorite flavor of DOS (or WARP or eComStation). 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 Intel 486DX/2 66mhz. Other Intel 486DX, 486DX/2, and 486DX/4 processors of any speed, as well as the fabulous AMD 386DX 40mhz processor, are acceptable alternatives. Ignore everything else. 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. 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 (do NOT compromise in the area of RAM speed, or you WILL encounter bizarre computer errors). Do -NOT- mix speeds or types of RAM. Full sized RAM modules using a full complement of discreet chips are 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 card (or onboard video) -MUST- be VGA compatible, and have a MINIMUM of 1mb video ram. Note however that video ram in excess of 2mb is not used by 20th century DOS software. Video card may be of any bus type supported by the motherboard (ISA, VLB, etcetera). 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. Note that video cards running at slower bus speeds (such as is typical with ISA video cards) will run old DOS games better, as you do not need to add excessive software slowdown tricks to compensate. 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. For everything else, performance differences were nearly indistinguishable between video card brands/chipsets. Unless the computer will be dedicated to running ONLY one or two very specialized DOS programs, do -NOT- install a monochrome video card. Computer must have at least one 1.44mb 3.5" floppy disk drive. An excellent choice is the Teac model FD235HF (still in production). Configure this drive as drive A:. This is your initial boot drive. Computer must have a hard drive. I would strongly advise NOT using anything smaller than 40mb. DOS will recognize ONLY 8gb of fixed disk space on a SINGLE drive (but note that you can connect multiple drives, up to the limit of your drive letters). You CAN install a bigger hard drive, but you will not be able to fdisk any of that drive beyond the 8gb barrier. Your primary hard drive should be configured as drive C:. Do NOT use a SCSI drive as your primary drive. Also, avoid using HardCard or Bernoulli/Syquest drives in the computer if possible. Computer must have a parallel printer port (configured as LPT1, IRQ5). Even if you don't have a printer, the port may be needed for hardware copy protection keys. Equip the computer with a 2-button Microsoft compatible mouse or trackball (a 3-button Logitech mouse or trackball is an acceptable alternative). Do NOT use a Genius or Mouse Systems mouse! The mouse can be either a PS/2 mouse (the preferred choice) or serial mouse (serial mice should use COM port 1, IRQ4). It doesn't matter if the mouse has a wheel or not. 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. The Monitor should be a SVGA color monitor (15-pin plug), and a multi-sync monitor is preferred. Don't stress your eyes using a monitor smaller than 16-inches diagonal or with a resolution courser than .28 dpi (.30 dpi on giant monitors). It is recommended that the computer be equipped with a CD-ROM drive. 4x speed is sufficient, as none of the older software required anything faster (and in fact, slower drives run quieter and safer). If you can, substitute the CD-ROM with a CD-RW drive. NEC is an excellent brand. If you intend to play games, the computer should be equipped with one joystick port. If the computer has more than one port, the other ports -MUST- be disabled. Ideally you should disable ALL the computers joystick ports and install a dedicated high-performance IDE joystick port card. An excellent high-performance card is the CH Products model "Gamecard 3 Automatic" (still in production). Choose your joystick carefully. Old DOS games can NOT take advantage of many of the features found on modern joysticks (and they will not work at all with joysticks attached to a USB port). A simple X/Y axis joystick with 2-buttons is sufficient for the majority of old DOS games. Whatever joystick you choose, make sure that it is equipped with "trim" controls (the little wheels that allow joystick centering). Games require a sound card (or onboard audio). Sound card MUST be 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). SoundBlaster settings should be A220, I7, D1 (note that I7 is NOT the default on some cards, so it must be changed). To take full advantage of late '90s games, you should use a sound card that is also SoundBlaster AWE32 compatible. Stereo headphones are an excellent choice for listening to sound card output. NOTE: The SoundBlaster 16 was backwards compatible to the "original" SoundBlaster, -NOT- the SoundBlaster "PRO"! Genuine SoundBlasters that are AWE32 compatible can often playback General MIDI or Roland (MT-32) sequences through a TSR that re-maps the SoundBlaster sound banks. Optionally a printer should be considered. Some old '80s programs even 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. If you desire remote connectivity to other computers/devices, then a modem and network interface card should be considered. A 33.6k modem (on COM2, IRQ4) is the most compatible. Modems from US-Robotics have the best reputation. -NEVER- use a "Win-modem". Network interface cards should be NE-2000 compatible. 3-Com Etherlink III compatible network interface cards are usually a suitable alternative. Your best choices for an operating system is either pure DOS (any manufacturer) compatible with MS-DOS version 5.0 (MS-DOS 6.22 is a very stable choice), or any version of IBM WARP (or the new eComStation). Stick with a 16-bit File Allocation Table (i.e., 8.3 file names) if you are using Pure DOS (WARP users can use any supported file system). According to some software historians, apparently the Microsoft Long File Name implementation was originally leveraged as a method to frustrate DOS users into migrating to Windows (a lot of old DOS file management software will function improperly when faced with Long File Names). If you like the idea of tagging files with descriptive comments, then I suggest you use one of the DOS compatible pre-LFN solutions such as the popular Norton Utilities "File Info". A memory manager that can move drivers into Upper Memory is required, because later software applications needed over 512k of base memory. You must also provide exPanded memory (a page frame), as a lot of applications require it to run. QEMM is an excellent memory manager. Caching software can cause problems with older DOS programs, so it is often better just to run lots of buffers (many old DOS programs are unintelligent in regards to disk caching, and will refuse to run unless you have a minimum amount of buffers anyway, even if you have a huge software disk cache running instead). Now that large fast access hard drives are available, the need for Disk Caching software or Disk Compression (-ALWAYS- shun disk compression) has been eliminated. ----- 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. Practical experience has shown what works and what does not. For this type of computer, it is best to use the specific parts (or equivalents) I will be suggesting in the following paragraphs. ISSUES: The motherboard will have to support the Pentium class of processors. Why? Because it was not until the pentium was released that the PCI Local Bus became available. A PCI bus is MANDATORY, because the newest hardware devices are not available in older Bus designs (and remember, DOS can run virtually all new PHYSICAL hardware standards just fine). However, the Pentium class of processors are 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 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 referres to old data in its cache, dynamic changes can not be implemented. New software understands the new processors and sends special instructions to flush the processor cache. However much DOS software cannot 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. The 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). There are two major speed related problems. Old DOS programs will often run way above their expected speeds (good for Word Processors, bad for Arcade Games). Adding hardware bottlenecks and using software slowdown trickery can help compensate. A worse problem is that some DOS software was written on a compiler that produced code that will crash when a processor reaches a certain speed (usually around 200mhz). The only solution for this problem is to either re-compile the software using a more modern compiler (often not possible due to the unavailability of the original uncompiled software code) or keep the processor speed under about 199mhz. Increases in storage space has been an advantage and a curse. The advantage is that DOS programs no longer have to consider bizarre 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, 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 being quickly reached (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. SOLUTIONS: The motherboard should have a minimum of two PCI Bus slots so you can add modern expansion cards. The motherboard should also have a minimum of two ISA Bus slots so you can add legacy expansion cards. Most likely IDE/PCI bus combos will only be found on used motherboards (such as the Intel AN430TX). Keep bus speeds low. The ISA bus should not be run faster than 8.33mhz, and the PCI bus should not be run faster than 33mhz (i.e., 66mhz FSB). Underclocking is encouraged, as not only does it put less stress on hardware, it graciously helps slowdown old games. TO BE CONTINUED... .