Skip navigation

Tag Archives: compact flash


I’ve said it before but for those that did not grow up using a command line interface operating system MS-DOS can come off as being quite intimidating. For me I grew up on the Amiga and C64 and my first PC was running Win95 so when I first became interested in DOS I was quite intimidated. Sure I played on PC’s that friends had prior that ran DOS but it almost seemed like computer sorcery as a kid to remember all those commands and navigate the maze of text commands and directories. The reality of the fact though is DOS is very easy to learn and game on once you get the basics. The scope of this article though is taking those first steps, as in installing and doing your initial optimization of the memory since that seems to be the aspect that trouble many new users of the OS. I’m not going to get to into drivers or hardware to much, with the exception of hard drives since they form an important aspect of installing the OS. This guide is also specifically for MS-DOS 6.22 since that is the OS that a majority of DOS users are going to be running on an older machine. There are also a number of DOS alternatives like PC-DOS and FreeDOS that I know about and have varying degrees of compatibility. I’m completely aware of these alternatives and am also aware that some of them work very well and have some advantages. If your interested in them do a Google search but this article will focus on installing and optimizing MS-DOS for a highly compatible DOS experience. I’m also not going to go into any super exotic hardware options I’m just going to keep it simple with the hardware I feel a large majority of people referring to this guide will and or should be using.

First off for DOS 6.22 I would defiantly recommend a 386 based PC or above. A 386 to a Pentium 1 233mhz would be the ideal range of computers to run it on but it can be installed without issues on faster computers though games and applications may have speed issues with the CPU and hardware issues may arise depending. For anything slower then a 386 like a 286 or 8088 I would recommend dos 3 for those CPU’s as from what Ive read DOS 6 will run on a 286 and lower but I believe it uses some aspects of 386 and above CPU’s so you won’t be getting its full potential and there may be some conflicts that occur (just speculation on my part but I’m assuming its possible).

So first off were going to take a look at our hard drive and connection options since this is where were going to be installing the OS. Also I’m going to assume you have a 1.44mb floppy drive installed since this is the only format I’ve ever seen DOS 6.22 come on. I’m pretty sure there’s 1.2mb floppy and 720k floppy versions out there but I’m going to assume that the vast majority here will be installing from a 1.44mb floppy. From what I know there was never a CD release of the OS but I have heard of a way some people have found of burning and setting it up on a CD in a manner that it can boot and install from it. I’ve never gotten this method to work nor have actually seen it work.


If you have the most common 1.44mb floppy version you should have 3 disks minimum to install. There may be a forth disk with optional extras and tools. If there is I’ve never utilized it.

So now that we have our OS and disks ready we need to choose and setup our hard drive. There are a variety of hard drive types to choose from so I’m going to cover the most common.

MFM drive


If your hard drive your planning to use is kinda big and has the same connector as your 5 1/4 floppy drive (if you’ve ever used one) its a MFM drive. These are old and generally very small in data capacity size, 10 to a few hundred megabytes. These are how very early PC’s interfaced with hard drives. They are comparatively slow, small in space available and unreliable. Unless its the only thing you have around I would not recommend using one. You will almost defiantly need a 8 or 16 bit ISA controller card that can specifically handle these types of drives. If the computer your using has one of these pre installed its probably vintage enough that your probability better off installing DOS 3 anyways.

SATA drive


SATA is the newest type of hard drive connection that really starting appearing in mass in the mid 2000’s. Successor to IDE it is fast and the cables are nice and small. Unfortunately what I can find on the subject is a little unclear. If your using a new motherboard with SATA ports or have a older (say socket 7) motherboard with PCI slots you can get a PCI SATA card but from what I can find DOS may or may not detect and install. Those that have gotten it to work report that like SCSI that I’ll talk about in a moment it does overcome the BIOS hard drive size limitation. I found that certain CD-ROM drivers will work in DOS to detect and use SATA CD based drives but information on the hard drive aspect seems pretty sketchy. On these grounds I would just avoid using SATA. Its extra work, IDE or SCSI drives are far cheaper and although it probably can be made to work DOS isn’t going to be able to utilize that 500GB drive space anyways. This also obviously not an option if your working with most 486 era motherboards and earlier since they lack PCI slots.

Compact Flash


The next option would be to use a compact flash card and a CFtoIDE device. CF is basically IDE so It won’t give you to many issues. You can find the adapters for a few dollars on eBay and a 512mb CF card for a few more. The upsides of these cards is they are completely silent, run cooler, use very little power and are very fast since there are no moving parts. Its basically a small solid state hard drive. One issue that you may run into is that not all IDE connectors on motherboards or IDE controller cards and CF cards get along. I had an older 486 that would not detect or boot from a CF card and I had to buy a separate IDE controller that ate one of my ISA slots to get it to work. Some cards require being initialized as hard drive mode as well. I do know people that use them in their every day heavy use vintage machines under DOS and have recorded very little to no issues but they do have a finite read/write ability. Personally I stick to more tried and true conventional drives in my systems but I will use CF drives in lesser used or special purpose systems. There are also “Micro drives” which are CF sized conventional hard drives. This Wikipedia article directly compares them to CF drives here.


now will go over the two most likely drives you’ll be using and there pros and cons. First is IDE or “Integrated Drive Electronics” or “Intelligent Drive Electronics”. This is by far the most common way hard drives were interfaced with household PC’s throughout the 90’s and into the 2000’s. Most motherboards starting in the Pentium era of the 90’s had two IDE controllers integrated into the board and a large number of 486 and even some 386 boards features one IDE interface. SCSI or “Small Computer System Interface” rarely had interfaces on the motherboard of PC’s and usually required a controller card. SCSI was largely favored by Macintosh and Amiga computers.

so for the pros and cons



  • easily and cheaply available
  • most motherboards already have interfaces built in saving you a expansion card slot
  • less hassle setting up


  • considered slower and less reliable then SCSI
  • limited to two IDE devices per cable, one device acts as a slave and the other a master
  • usually a Bios imposed partition size limit of 504MB under DOS without extra modifications or adjustments
  • older drives/interface cards may require a older style IDE cable (connector is exactly the same but older style cable has larger ribbons in it)



  • considered to be faster, has own controller thus taking burden off CPU and freeing CPU power.
  • generally considered more reliable then IDE (usually the choice for 24/7 running server machines)
  • 7 to 15 devices depending on a single controller
  • not hampered by BIOS size limits in older machines. easier to have up to 2GB drive partitions in DOS


  • generally harder to come by and more expensive then IDE
  • can be harder to set up and be booted from (last drive or connector on chain requires a terminator)
  • in general drives may be louder then IDE drives
  • several revisions and version of the SCSI interface that may be confusing
  • will most likely require an SCSI controller add-on card taking up an expansion slot

So in short SCSI is usually the way to go if you have a little more money and time to spend and the patience to set things up properly where IDE is good for a cheap drive that usually “just works” with minimum surprises. Not that SCSI is generally hard to get up and running but depending on the machine, controller card and drive you may have to spend a little more time setting it up. Also keep in mind that although SCSI is considered in general a little faster and more reliable then IDE a good quality IDE drive is going to be faster and more reliable then a low quality SCSI drive.

IDE to SCSI adaptor

I wanted to briefly go over one other option that for a price gets you the best of both worlds, this is the IDE to SCSI adapter. Basically what these little adapters do is allow IDE devices to be used by an SCSI controller. so with one of these you could get a cheap easy to find IDE hard drive and connect it to your SCSI controller and benefit from the SCSI controller handling things and not the CPU. One popular option is to pair a IDE to SCSI adapter with a compact flash card and adapter creating an extremely fast solid state drive option. Unfortunately unlike the IDE to CF adapters the IDE to SCSI cards are rather expensive. A few years ago I picked one up for about $45 and that seemed to be the average price but recently (2013) they seem to be going for well over $100 on average.


Above are three drives. They all look very similar but they are two SCSI drives of the 50 pin and 68 pin variety and a IDE drive. Ironically the IDE drive is the Apple branded drive. Its ironic because Apple tended to use SCSI drives in most of its computers.


Here are those same drives with Interfaces up so we can see the difference. They all use the same type of 4 pin molex power connector. The IDE drive on the bottom has a jumper to select “slave”, “master” or “cable select”. I never use cable select. Generally you want to have your hard drive set as master and your CD-rom drive set as slave. You can see the drive above that is the 50 pin SCSI. The 50 Pin standard is the older style connector for SCSI you will find on the older drives as well as most SCSI CD drives. Its slightly larger then the IDE connector. Also notice no jumper next it since slave/master settings are not necessary on SCSI. Finally we have the 68 pin SCSI which is a newer and faster standard. The connector is very different looking from IDE or 50 pin and much more compact. 68 pin drives can be connected to a 50 pin controller card and cable via a 68 pin to 50 pin adapter but this will cut its speed.

If you go with an IDE hard drive there’s a almost guaranteed chance that you already have two interfaces on your motherboard if its socket 7 or later and a fair chance you have at least one if its a 486 board. It should look like this though on mostly older boards if it is present it may not have the plastic guide around it and just be pins.


If your board does not have a built in connector or if your using SCSI your going to need to add a controller card. The faster the slot the better with PCI being the best followed by EISA and VLB and finally ISA. Here are two typical examples of 16 bit ISA controller cards.


You generally do not need to do anything but insert them in the slot and hook up the drives. You may need to set or adjust some jumpers but other then that they should load their own BIOS’s on boot up. If your running SCSI remember that that last device on the chain needs to have its jumper set to terminate (check your drives manual, most can still be found online), if there is no device on the final connection on your SCSI cable you may need a terminator. The terminator pictured below is actually for an external SCSI chain but the internal ones are similar.


Also if you’ve gone the IDE route and are having trouble getting the IDE drive detected try switching the Slave/Master setting if you have a second drive or CD drive present as some drives and setups are just oddly picky about that. Also try swapping between the two styles of IDE cables if you have them. Especially if its an older motherboard.


The newer style cable is on the left. As you can see there are much more ribbons then the older style cable on the right. Keep in mind that you need to be using the newer style 80 pin ribbon (on left) if you want to take advantage of higher speeds if you are using a ATA-33 through ATA-133 drive and controller otherwise it will still work but you will be limited in speed.

You may also come across some oddball types or full  height drives. As far as I know these drives are basically functionally identical but different sized.


The IDE “Bigfoot” drives were popular with Compaq in the earlier Pentium days. There very large but thin and are in general slow. you would probably have a hard time fitting these in a standard tower setup and I’ve only come across them in OEM cases. The SCSI is a full height drive which is an older style and is taller then a more common 3.5″ drive.


Newer SCSI drives may use a combined connector that combines the power and data cable. These are usually pretty fast drives (15,000 RPM’s) that come from servers and are pretty overkill for a vintage system. If you do want to use one though you’ll need a adapter that changes the single connector to a 68pin SCSI and molex connector.


Okay now hopefully BIOS is detecting your hard drive on boot so we can get to the business of installing DOS. If your CMOS battery is dead or you also just installed a 1.44mb floppy drive you may need to enter the BIOS and setup the drive. Its also useful to know how to access the BIOS to set boot order in case you want to use a 3rd party CD disk partitioner. Generally you can access the BIOS during boot my pressing Delete or F2. Usually your boot screen will tell you this information in the lower section of the screen. BIOS screens and options vary wildly between systems so mine may not be representative of yours but most of them are similar in key respects.


Here is my initial BIOS screen. Selecting BIOS features setup lets me change boot order in case I want to boot from a CD drive before the hard drive. Under Standard CMOS settings I can set my 1.44mb floppy drive as drive A:.

You can also use a 3rd party disk partitioner at this point if you want to reformat your hard drive and set up separate partitions on a single disc if you want. The MS-DOS floppies will reformat the hard drive for you and will give you that option booting to them but a 3rd party partitioner may offer more options. I use Super Fdisk myself available here.

If formatting from the DOS disks your fine but if your using a third party formatting program make sure you format the drive to FAT 16 since that what DOS can “see”. DOS 7 can use FAT 32 but as were are assuming DOS 6.22 is being installed that’s irrelevant. Keep in Mind most old BIOS’s can only detect up to 504mb of hard drive space for DOS on an IDE drive and 2GB on SCSI. There are ways around the 512mb limit and if you want you can always create several partitions. I know a lot of people opt for 4gb SCSI drives and then create two 2gb partition as dive C and D. you may need to set some jumpers on your SCSI card though to enable large hard drive sizes. Here’s a link if you want to learn more about hard drive size barriers.

So if the hard drive was detected and the installer feels it needs formatted you’ll get this option.


Excellent. your hard drive is being detected and you’ve formatted so that’s one thing out of the way. After formatting the PC should restart and then your ready to install DOS.


C: is going to be your boot drive and C:\DOS is the directory that DOS is going to be installed to. It is default and do not change it. I suppose you could but I’m not sure why you would need to or what issues may arise from it. Just hit Enter here.


If there are no errors on the hard drive or disks DOS should install with little difficulty. The three disks should install fairly quickly but stay in the room since you’ll be prompted to swap disks. Once installation is complete remove all floppies from the disk drive and restart. If everything went smooth you should now be booting from your hard drive into DOS.

Okay now that your in a clean install of DOS we need to focus on everyone’s favorite MS-DOS activity, memory management. This is the aspect of DOS that tends to get new users. This activity can get very technical and in-depth. basically in DOS there are several types of memory working and the “conventional memory” or your first 640kb of memory is really what matters most. It doesn’t matter if you have 8mb of ram or 256mb DOS is going to be the same as far as that first 640 and how you can mess with it. basically the amount of free conventional memory or that first 640kb of memory is what matters, its where DOS is and where all the programs or TSR’s (Terminate and Stay Resident programs) that make your mouse and CD drive run goes. unfortunately DOS games also need a certain amount of it available, it varies by games but the more the better and you really want at least around 580-600 for most games to be able to play (though some require even more). So what about the rest of your RAM? well it ends up being seen as XMS which we don’t need to worry about. You can also convert some of that XMS memory to EMS memory which some games need to run BUT converting some of that memory to EMS uses precious conventional memory. The challenge is configuring it in such a way as to have the most free memory since all the other stuff goes there as well. It can be a game of moving around what programs load first and finding the smallest drivers to run your mouse and drives. See there’s also a place called “upper memory” where using a memory managing program we can shift some of those programs from conventional memory to upper memory. Confused yet? Don’t worry, just know that the 640kb called conventional memory needs to be as free as possible.

When your into DOS and at the command prompt which should be C:\ there are two commands you can use that are very helpful in seeing the amount of memory you have available. the first is MEM which displays the amount of conventional memory you have free as well as XMS and EMS. The other command is MEM /C /P which will also display what programs are currently residing in conventional memory. So at the prompt after a clean install type “mem” hit enter and you should get this.


As you can see we have no EMS memory and of the 640kb of conventional memory we are already using 47kb leaving us with 593 which is enough to play a large amount of games. Typing in “mem /c /p” gives us.


This screen breaks down whats eating up that conventional memory as well as what we have moved into upper memory using a memory manager. As you can see here nothing is in upper memory since we have yet to run a memory manager. The first few things “MSDOS, HIMEM, COMMAND” cannot be moved into upper memory (for the most part, I’ll touch on that later). SETVER is mostly useless and can be deleted but it takes so little memory why bother? A few very old games may require it though if that’s a consideration. SMARTDRV is a caching program. A lot of people will tell you that you don’t need SMARTDRV and they are correct. I personally always try to keep it since a few games will install very slowly if it is not running and it is helpful to increase loading times. It MAY cause stuttering on a few games on older CD drives though from the information I’ve found. I would advise keeping it running and rest of the article assumes you do but disabling it will free up the 28kb of memory.

Now if you want any kind of functionality were going to need to load drivers or “TSR’s” to run various things like our CD drives and mouse. There are various drivers for DOS that can be found. You want to find the ones that are most compatible and smallest in size. For reasons of demonstration were just going to assume you want a basic setup with mouse and CD support. which will be what most starting DOS gamers will be mostly concerned about. I’ll also assume a Sound Blaster 16 is being used since it is the most common sound card used in these setups. It fortunately does not require a driver running in memory so we don’t need to worry about that although I have ran a few clone sound cards in the past that did use a small TSR.

CD-ROM – A lot of DOS user’s tend to use the OAKCDROM driver for DOS but I find it to large. I use the GSCDROM driver available for free here. I’ve never had an issue with it detecting a CD drive or reading a CD.

MOUSE – for a mouse the only real option is the CUTEMOUSE driver available for download here. This driver works with all mice I ever tested either serial or ps/2 and the size is a tiny 3kb of memory

If your having trouble figuring out how to install the drivers I can suggest this site. Its focused on creating a DOS PC for the sole purpose of playing the old Space Quest games but it has a pretty good guide on installing drivers and setting them up. He does use different but self installing (and larger) mouse drivers though.

Also keep in mind if your using a SCSI CD drive your going to need different drivers specifically for SCSI. If your using the common Adaptec controller card most of the drivers are still available on their site but you may have to do some digging for specific models.

So assuming were running a basic setup with an IDE drive and basic drivers (mouse, CD-rom) and running a sound blaster 16 for sound. We get all the drivers loaded restart, run MEM command and….


Ouch! and were not even assuming you want to install a network card, have a zip drive always available or run some sort of VESA video utility like UNIVBE. 530kb is a very low amount of memory available if you want to play DOS games and at this point many will not run and give a “not enough conventional memory” error. Investigating further with the MEM /C /P command.


As we can see the added drivers are eating up a lot of available conventional memory. Ctmouse the mouse driver is only eating a measly 3kb of mem but the CD driver (GSCDROM) and MSCDEX the program DOS uses to interface with the CD driver are eating a combined 57kb of memory. At this point I will point out that like the mouse driver there are smaller alternatives. As for compatibility though you may start to have issues. FreeDOS has a much smaller MSCDEX replacement called SHSUCDX though as I mentioned it is not 100% compatible and several games will not work with it, Fade to Black and the CD version of Gunship 2000 being two examples I have found through researching.

Its at this point a lot of questions come up about how to free up memory for games and at the same time still load all the drivers you need to. The simplest solution at this point is to run DOS’s built in memory manager program EMM386 aka memmaker. This the official memory manager and the only one I’ll be covering here. Its compatible with most games with a few exceptions like Ultima VII which no memory manager will work with. There are alternatives such as JEMM and QEMM and so forth that from what I’ve read can free even more memory at the sake of slight compatibility. As the scope of this article is freeing the most memory using official tools it is beyond our scope but if officiality isn’t a concern and you feel you want to try them out, do so.

At the command prompt simply type in memmaker, hit ENTER and the program should start. The first thing it will ask you is if you plan on playing games that use EMS memory. If you choose yes the program will create EMS memory from XMS memory making EMS requiring games available but this will cost us more conventional memory. If you choose no you’ll likely get over 600kb of conventional memory but for our purposes of having the most options will assume “yes” is chosen for the article.

The setup will also ask if you want the “Express” or “Advanced” option. Choose advanced and you should get this screen.


I usually select yes for “scan the upper memory aggressively” and also choose yes for “use monochrome region”. Microsoft actually recommends this to free up memory. It frees up a block that is reserved for a monochrome (black & white) displays. So unless your planning on hooking your machine up to a monochrome display which is pretty unlikely, enable this option.

After you choose the options and go through the process memmaker should restart and ask you if everything seemed to load up fine. Hopefully it did (I personally have never had it not) and you should now have a good number of those pesky TSR’s transferred to upper memory. One more quick thing you can try and not have to be a command line wiz is adjust the “LASTDRV” line in your CONFIG.SYS file to something more reasonable. at the command prompt type EDIT and hit enter and you’ll go to something like this.


select “file” from up top and select “open”. Search for “.sys” and select “config.sys”. your CONFIG file should look something like this (if you’ve already run memmaker).


See where it says LASTDRIVE=Z? just change Z to something like H and it should free an additional 2-3kb of  memory. Unless you plan on having more then 8 drives but you can set it to whatever letter you want but the closer to Z the less mem it frees up. Assuming everything went well and you ran memmaker with the settings suggested and changed your LASTDRIVE value your mem should now look something like this.


So  short of 1kb we are back where we initially were. This would be considered an acceptable amount of conventional memory and most games should run fine. Some games like Elder Scrolls: Arena that require 603kb of conventional memory can be an issue but you can always disable EMS by running memmaker again or type REM before the SMARTDRV command line using EDIT in your AUTOEXEC.BAT file to disable that.


we can see here via the mem /c /p command that much space was freed because the whole CD-ROM driver system (MSCDEX and GSCDROM) were placed in upper memory. At this point we have a highly functional system of 592kb of conventional memory using all highly compatible programs. We have EMS enabled for those games that want it. A sound card for sound, SMARTDRV for fast loading and highly compatible mouse and CD-ROM drivers. This should be sufficient for light DOS users or those just getting into DOS gaming.

Of course much more can be done to free up more memory. The mem /f command is useful for looking at available upper memory space and there are a vast amounts of DOS memory optimization sites available. One of the best is MDGx Max Speed which is an awesome site but slightly disorganized as well as confusing and can be overwhelming for users new to the DOS environment.

Slightly more advanced DOS memory optimization

I do have a 133mhz Pentium DOS machine that I have toyed with a little to try to get the most conventional memory available and still using official MS DOS drivers and no memory management other then EMM386 and I’ll share what I did a little here.


With this setup I was able to achieve 624kb of free memory with EMS enabled along with UNIVBE, SMARTDRV ,CD-ROM drivers and mouse drivers. I achieved this using a much smaller CD-ROM driver, UIDE (5kb) and a program called DOSMAX which moves a few parts of DOS into upper memory that usually wouldn’t go there. As far as I can tell DOSMAX shouldn’t cause any issues with compatibility but its always possible. UIDE works okay for the most part but I’ve had other DOS machines that it just will not load on and I’ve had a few games that had issues running with it though that may be attributed to other things. All in all the system runs very acceptably.


Here you can see it all running as well as the parts of DOS that got placed in upper memory. See apparently upper memory is like an elite clubhouse that only TSR’s can go to and DOS and any of its parts just isn’t allowed.


DOSMAX is like a shady lawyer that sees an opportunity for a discrimination suite but is only half successful in letting some of MS-DOS’s parts inside.


Was that analogy really necessary? Not at all but I wanted to make hasty and badly edited pictures.

Here is my AUTOEXEC and CONFIG files for anyone interested. You can probably use them to help set up a system in a similar fashion and get similar results or base your own memory management off of.




A place for the pc collector

I ❤ Old Games!

Probabilmente il miglior blog bilingue al mondo*

Waltorious Writes About Games

Game-related ramblings.

NekoJonez's Gaming Blog

My Gaming Timeline

Evelynn Star

Lynn talks about video games, records and books ...

Retro Megabit

Sharing My Retro Video Game Collection.

133MHz's Junk Box

Random electronics and gaming crap


Chronogaming project featuring reviews, screenshots, and videos of the entire Super Nintendo library in release order.

Retrocosm's Vintage Computing, Tech & Scale RC Blog

Random mutterings on retro computing, old technology, some new, plus radio controlled scale modelling.

The PewPew Diaries.

Work(s) in Progress!


1001 video games and beyond

retro computing and gaming plus a little more


retro computers and stuff


Stay Jispy!

%d bloggers like this: