FreeDOS Blog

❮ Back

May, 2018

Tutorial: Basic navigation on FreeDOS

New users often ask "I installed FreeDOS, but how do I use it?" If you haven't used DOS before, the blinking C:\> FreeDOS prompt can seem a little unfriendly. And maybe scary. So I wanted to write a gentle introduction to FreeDOS, to get you started. This article introduces just the basics: how to get around, and how to look at files.

The DOS prompt

First, let's look at the empty C:\> prompt and see what it means:

DOS is a "disk operating system" and was created during a time when personal computers ran from floppy disks. Even when computers supported hard drives, it was not uncommon in the 1980s and 1990s to frequently switch between the different drives. For example, you might make a backup copy of your most important files to a floppy disk.

FreeDOS references each drive by a letter. Early PC's could only have two floppy drives, which were assigned as the A: and B: drives. The first partition on the first hard drive was the C: drive. And so on for other drive letters. So the C: in the prompt means you are using the first partition on the first hard drive.

DOS also supports directories and subdirectories, delimited by \. Putting that together with the drive letter, the C:\ in the prompt means you are in the top directory, or "root" directory, of the C: drive.

And the > is the literal prompt where you type your DOS commands. The part before the > tells you the current working directory, and you type commands at the > prompt.

Finding your way around in DOS

The basics of navigating through directories in FreeDOS are pretty simple. You need to remember only a few commands:

Displaying a directory

When you want to see the contents of the current directory, use the DIR command. Since FreeDOS commands are case-insensitive, you could also type dir. By default, FreeDOS displays the details of every file and subdirectory, including the name, extension, size, and last modified date and time.

If you don't want the extra details about individual file sizes, you can display a "wide" directory by using the /w option with the DIR command. Note that FreeDOS uses the slash character (/) to start options.

You can look inside a specific subdirectory by passing the path name as a parameter to DIR. DOS names are case-insensitive. FreeDOS will usually display files and directories in all uppercase, but you can equally reference them in lowercase.

Changing the working directory

Once you can see the contents of a directory, you can "move into" any other directory. On FreeDOS, you change your working directory with the CHDIR command, also abbreviated as CD. You can change into a subdirectory with a command like CD CHOICE or into a new path with CD \FDOS\DOC\CHOICE.

FreeDOS uses . to represent the current directory, and .. for the parent directory (one level "up" from the current directory). You can combine these. For example, CD .. changes to the parent directory, and CD ..\.. moves you two levels "up" from the current directory.

FreeDOS also supports CD - to jump back to your previous working directory. That makes it handy when you changed into a new path to do one thing, and want to go back to your previous work.

Changing the working drive

Remember that FreeDOS assigns the first partition on the first hard drive as the C: drive, and so on for other drive letters. On modern systems, people rarely divide a hard drive with multiple DOS partitions, and simply use the whole disk—or as much of it as they can assign to DOS. So C: is usually the first hard drive, and D: is usually another hard drive or the CD-ROM drive. Other network drives can be mapped to other letters, such as E: or Z:, or however you want to organize them.

Changing between drives is easy enough under FreeDOS. Just type the drive letter followed by a colon (:) on the command line, and FreeDOS will change to that working drive. For example, I keep a D: drive where I store installers for various DOS applications and games that I want to test.

Be careful that you don't try to change to a drive that doesn't exist. FreeDOS may set the working drive, but if you try to do anything there, you'll get the somewhat infamous "Abort, Retry, Fail" DOS error message.

Other things to try

With the CD and DIR commands, you have the basics of FreeDOS navigation. These commands allow you to find your way around DOS directories, and see what other subdirectories and files exist. Once you are comfortable with basic navigation, you might also try these other basic FreeDOS commands:

  • MKDIR or MD to create new directories
  • RMDIR or RD to remove directories
  • TREE to view a list of directories and subdirectories in a tree-like format
  • TYPE and MORE to display file contents
  • RENAME or REN to rename files
  • DEL or ERASE to delete files
  • EDIT to edit files
  • CLS to clear the screen

In FreeDOS, you can use the /? parameter to get brief instructions to use each command. For example, EDIT /? will show you the usage and options for the editor. Or you can type HELP to use an interactive help system.

Like any DOS, FreeDOS is meant to be a simple operating system. The DOS file system is pretty simple to navigate with only a few basic commands. So I encourage you to install FreeDOS and experiment with the DOS command line. Maybe now it won't seem so scary.

Running Quattro Pro on FreeDOS

In the 1990s, my spreadsheet of choice was first the venerable Lotus 1-2-3 spreadsheet, then the shareware As-Easy-As spreadsheet. As an undergraduate physics student at university, I lived by my spreadsheet. I was always analyzing data from some lab.

I was first exposed to the Lotus 1-2-3 spreadsheet when I was still in high school, and my dad brought home a copy of the DOS spreadsheet from his office, so he could do work from home. My dad's office eventually migrated from Lotus 1-2-3 to Borland's Quattro Pro. And I sometimes experimented with that, too.

Quattro Pro was the first DOS program I encountered that used a WYSIWYG interface ("what you see is what you get"). Even though Quattro Pro was a DOS application, the program actually ran in graphics mode. This allowed the application to render numbers and text using fonts, lending a modern feel to the spreadsheet. Even today, the DOS version of Quattro Pro looks similar to today's spreadsheets with the sans-serif proportionally-spaced black-on-white text, and clickable row and column headers rendered as buttons.

The graphics mode also allowed Quattro Pro to fit in more text on the screen without it feeling crowded. In other DOS spreadsheets, you really only have room for about 20 spreadsheet rows on screen. That's because a DOS text console runs at 80×25 columns and lines (standard) and with a cell data line, column headers, horizontal scroll bar, status line, and help line, you've already taken five lines from the screen (leaving 20 for data). But Quattro Pro runs in graphical mode, so can display text at various sizes. Quattro Pro manages to squeeze in a menu bar, quick-reference action bar, cell data line, column headers, horizontal scroll bar, and status line—and still have room for 20 spreadsheet rows:

As an experiment, I entered some sample download data from our website into a sample spreadsheet. Like other spreadsheets at the time, Quattro Pro used the same data entry rules as Lotus 1-2-3, using .. to specify ranges of data (modern spreadsheets use :), + or @ to start calculations (today's spreadsheets use =), and other rules.

An advantage to running the spreadsheet in graphics mode all the time is generating a chart seems to run faster. The program doesn't need to flip the display into graphics mode; it just erases the display and draws a chart. Here's a sample chart based on the data I entered:

A common function needed by many professionals (and physics students) was the ability to fit a line to x,y data. To test this feature, I generated a simple line y=x+0. Because a straight line isn't very interesting, I added some randomness to the data using the @RAND function. This generates a random value between 0 and 1, so I centered the randomness using the cell function +x+@RAND-0.5.

As you can see, Quattro Pro fit a straight line of slope 1.03 ± 0.03, and y intercept -0.3 ± 0.3. That's the y=x+0 line that you'd expect:

And charting the data is just as easy. I added the straight line by defining a second y series that was the same as a the x series. You can adjust line types in Quattro Pro, like other spreadsheets, so I adjusted the data to be a red line with dots, and the line to be dotted green without points:

Running VisiCalc on FreeDOS

I've demonstrated Borland's Quattro Pro spreadsheet and the shareware As-Easy-As spreadsheet, so I thought I should show the progenitor of DOS spreadsheets: VisiCalc.

You thought I was going to say "Lotus 1-2-3," didn't you? While Lotus 1-2-3 was an important spreadsheet program for DOS, and arguably the "killer app" for MS-DOS, it was not the first spreadsheet for personal computers. That honor belongs to VisiCalc.

You can download a free version of VisiCalc from the VisiCalc website, and access other free resources including a cheat sheet. From the website:

This web site,, includes lots of information about VisiCalc, the first computer spreadsheet program as we know them today. It has material directly from Dan Bricklin and Bob Frankston, the co-creators of VisiCalc, including scans of original photographs from VisiCalc's development days, a working copy of the program, and other things from Software Arts, Inc., Dan and Bob's company. Additional material is constantly being added, so researchers, computer historians, and teachers should check back periodically.

Dan Bricklin first developed VisiCalc for the Apple II home computer, and later ported to MS-DOS. As the first spreadsheet, it was no-frills. Basically, VisiCalc presented a grid with letters for columns and numbers for rows, and you could enter data in each cell.

VisiCalc lacked certain functions that we find common today. For example, VisiCalc did not have the @RAND function that I used in my As-Easy-As and Quattro Pro examples. So for this simple demonstration, I entered a list of numbers, and used the @SUM function to automatically calculate the list's total value.

Performing these calculations so effortlessly on sets of data immediately set VisiCalc as the "must-have" application for businesses. With a computer-based spreadsheet, workers could perform dependent calculations much more quickly than the same calculations by hand on a paper spreadsheet.

Note the use of ... to specify a range, such as A1...A10. This differed in later DOS spreadsheets, which used .. to indicate a range. Modern spreadsheets use :.

Like other DOS spreadsheets that followed it, VisiCalc used / to access the program's menu. The spreadsheet's commands were represented by single letters, such as B to blank the values from a cell, or M to move a row or column. While this may seem unfriendly at first, frequent users found they learned the keystrokes very quickly.

To exit the program, tap the / key, then S to bring up the storage menu:

…then select the Q (quit) action:

…and finally, confirm the action:

(screenshots are QEMU, resized to 533×400)

Tutorial: How to install FreeDOS

Need some help installing FreeDOS 1.2 on your computer? Here is a step-by-step guide to install FreeDOS. This how-to guide is adapted from Installing FreeDOS 1.2 on the FreeDOS wiki. You can find lots more information at our wiki, but I'm posting this guide to the blog so new users can find it with the other FreeDOS tutorials I'm writing here.

Installing FreeDOS uses the same process whether you install FreeDOS in a PC emulator or on actual hardware. Note that if you install in a PC emulator, you will probably need to set your system to boot from CDROM before the hard drive, so the FreeDOS install CDROM will boot first. We recommend the CDROM installer for most users. The “standard” CDROM image should work on most computers and PC emulators. Older computers may need the “legacy” CDROM image instead.

Booting the CDROM installer gives you a menu. You can choose to install FreeDOS, or boot from the system harddisk or from a diskette:

The installer supports different languages, which you can choose. The default is English:

Welcome to the FreeDOS 1.2 install program. We provide a standard warning here. For new users, we recommend installing FreeDOS in a PC emulator or “virtual machine.” If you install FreeDOS on a computer directly, without using a PC emulator, you may overwrite the operating system you have now (for example, Windows.) That's why we include a brief message about that in the FreeDOS distribution:

If your C: drive isn't partitioned for DOS, the installer detects that. To partition your hard drive, the installer will use the FDISK program:

Just follow the prompts. Select 1 to create the DOS partition. This will be your C: drive. Follow the other prompts to create the primary DOS partition. Note that if you don't use all free space to create your FreeDOS partition, you may need to mark the new partition as the Active partition, so FreeDOS can boot from it:

After you partition your hard drive, you need to reboot for FreeDOS to see the changes. Press ESC to exit FDISK. The FDISK program and the installer will warn you that you need to reboot your computer for the changes to take effect. The FreeDOS installer has an option to reboot your computer for you, so just use that:

After rebooting, the installer starts up again automatically. If your C: drive isn't formatted for DOS, the installer automatically detects that and can format it for you:

Your preferred language might not match your keyboard language, so we let you select your keyboard layout separately:

The FreeDOS 1.2 installer has two default install modes: install only those packages that reproduce the functionality of classic DOS (“Base”) or install everything (“Full”). Because FreeDOS is open source software, we give you the option to install source code, too:

Then just sit back and let the installer do its thing. The installer will let you know it has finished installing FreeDOS. Depending on what you chose to install and the speed of your system, the install usually takes a few minutes:

That's it! Reboot your system to begin using FreeDOS:

Want to see a video demo of the FreeDOS installation? We recorded a short video to walk you through installing FreeDOS 1.2 on GNOME Boxes (a free PC emulator for Linux) but the steps are the same for any PC emulator.

Tutorial: Installing extra software with FDIMPLES

The FreeDOS software distribution originally started as a set of programs to replace the functionality of MS-DOS. We surpassed that goal a long time ago, and only our "Base" install distribution replaces the original DOS. If you install the "Full" distribution, you get everything in "Base" plus a bunch of other useful FreeDOS programs that we find useful.

Programs in the FreeDOS distribution are included as "packages" that can be easily installed by the FreeDOS install program. Really, these are just standard zip files with a predictable directory layout, such as BIN for executable programs, HELP for any help files, SOURCE for original source code, and so on.

For the FreeDOS 1.2 distribution, we include the usual "Base" and "Full" packages, which you can install automatically as part of the FreeDOS 1.2 installer. But we also include a bunch of extra programs. These other programs are helpful programs that maybe not everyone will want to install, but we wanted to make available to you as part of the FreeDOS 1.2 distribution.

To install these packages, you use the FDIMPLES program. FDIMPLES is a derivative of the FreeDOS installer, and stands for FreeDOS Install - My Package List Editor Software. Make sure you have the FreeDOS 1.2 installation CD in your CDROM drive, then type FDIMPLES to start the program.

Installing a program

Let's walk through a simple case of installing a program. Maybe this is one of the extra software packages, or maybe you installed just the "Base" software set and want to install other packages later on. I like the game WING, so I'll demonstrate with that.

After you start FDIMPLES, you'll see a list of package sets on the left, and a list of packages from that set on the right. As you navigate through each package, you'll see the full package information below:

To install WING, navigate down to the Games package set, and press Tab to get to the list of packages. Scroll down to the WING package, and press the Space bar to mark it with an X. This selects the package for installation:

You can select other packages, including packages from other package sets. When you're done, select OK at the bottom of the screen. FDIMPLES automatically installs the package or packages for you:

Removing a program

The steps to remove a program using FDIMPLES are basically the same as installing a program with FDIMPLES. To demonstrate, let's remove the WING game we just installed.

Again, when you start FDIMPLES, you'll see a list of package sets and packages:

Navigate down to the Games package set, and press Tab to jump to the list of packages. Scroll down to WING, and press the Space bar to remove the X. This tells FDIMPLES to remove it:

You can select other packages to remove, but for this demonstration, I'll leave it with just the one package. Select OK at the bottom of the screen, and FDIMPLES automatically removes the package for you: