MSDos is a distant
memory for many PC users. Those who have entered the PC world
within the past five years might never have heard of the
product. However, Dos was powering PCs a long time before
Windows was even on the Microsoft drawing board. Linux has a
dramatically higher learning curve than Dos ever had, and it's
far from guaranteed that all your peripherals will work with
it. Dos may have been unfriendly and it may have lacked
central driver support for peripherals, but it was lean and
fast. Anyone who thought Dos was unreliable was in for a real
shock when Windows came along.Microsoft knew that things
had to be improved if more people were to use PCs. Dos
applications had to be learnt from scratch. This was difficult
because most tasks were based on function keys and control
codes. These changed between applications, although the Common
User Access standard helped to bring some commonality. The
first two versions of Windows were hardly success stories, and
Microsoft had virtually abandoned the project in favour of
working with IBM on OS/2.
However, a physics professor
called Murray Sargent was working at Microsoft in the summer
of 1988. He bumped into Windows programmer Dave Weise and they
began talking about the problems with Windows 2 - which were
performance, memory and functionality. Weise spent the next
couple of weeks recoding parts of Windows.
Big Cheese
Triangle
A meeting was then called with some of Microsoft's
managers, including Bill Gates. Weise told the meeting that it
was essential for Windows to run in protected mode. 'And by
the way,' he added, 'I have it running downstairs.' This
meeting changed the course of computing history. A further 21
months of work was needed before Windows 3 made its debut on
22nd May 1990. Microsoft soon fell out with IBM and it bet the
future on Windows. Its value trebled over the next year and a
half.
Dos was still needed to power Windows at this point -
Windows was effectively an application running on Dos. By this
time, Digital Research was doing well with its rival operating
system, DRDos, and IBM was selling its own PCDos. There was
controversy when the much-anticipated Windows 3.1 failed to
work with the new DRDos 6. Digital Research had to hurry out a
service pack to rectify the problem.
The next version of
DRDos was released after Novell bought Digital Research, as
Novell Dos 7. The company wasn't integrated into Novell at
first - but after it was discovered that Digital Research's
name was getting more press coverage than Novell's, a rapid
reorganisation ended with Digital Research being retitled as
the Novell Desktop Systems Group. Most of Novell's purchases
around this time turned out to be mistakes, and the separate
products were sold off. Dos was one of the last things to be
sold, and the buyer was Caldera. DRDos made an appearance as
Caldera OpenDos before being called DRDos 7 and targeted at
the embedded market (see Network Shopper, Shopper 145).
When
it came to the successor to Windows 3.1, Microsoft wanted to
shut out the rival forms of Dos. This was the first version of
desktop Windows not to require Dos. But rather than being
engineered not to need a Dos loader, Windows 95 was merely a
self-loading copy of Windows running on top of MSDos 7. This
was plain for all to see at the command line. It was this
deception that killed off the market for Dos. PC users quickly
embraced Windows 95 after Microsoft's biggest ever launch
campaign.
FreeDos
So is Dos no more? Not quite. At the end
of 1993, someone called Jim Hall installed his first copy of
Linux. With the Windows 95 hype already beginning, Jim was
aware that Dos would no longer be sold by Microsoft. He also
realised that IBM and Digital Research could not be relied on
to offer Dos forever. This gave him the idea of creating a
project to produce a free version of Dos. A manifesto was
produced and PD-Dos was released in July 1994. This woud then
go on to become FreeDos.
The software was originally
downloadable from the FTP service at Sunsite.unc.edu. Regular
discussions also took place on the Comp.os.msdos.misc
newsgroup. These days, FreeDos has its own Web site at
www.freedos.org. You can join a mailing list when you visit
the site. This is where most of the FreeDos discussions now
take place.
FreeDos is not based on any Microsoft
code. Instead, the developers have based the operating system
on the MSDos functionality documented by Microsoft. It should
run on all PCs - there are no minimum requirements. There is
currently no multitasking or protected memory support, but
features such as these might be added in the future.
The
majority of Dos applications can be run on FreeDos, although
the developers do not recommend running Windows on the
operating system, even if some users have got certain versions
working.
As its name suggests, FreeDos is completely
free. Most of its utilities have been released under the GNU
General Publish Licence. This means the source code is
available for the kernel, Command.com and most of the
utilities. The FreeDos Web site lists all the components of
the operating system, their version numbers, who maintains
them and the type of licence they are released
under. Developers are encouraged to volunteer their services
and a to-do list is maintained on the Web site.
Be
prepared
FreeDos is downloaded directly from the main Web
site, as well as from a number of mirrors. Entering the
download section, you will be offered a copy of Unzip.exe, the
release notes, installation instructions and an erratum. You
then choose between the mini or full installation. The mini
edition requires two floppy disks and the full edition needs
five disks. For the mini edition, the image of the boot floppy
disk is downloaded, along with the Rawrite.exe utility for
copying the image to disk. A Zip file also has to be
downloaded. This needs to be decompressed on to the other
disk. The full edition is much the same, apart from the three
extra Zip files to decompress on to another three floppy
disks.
As you can see, a certain amount of preparation is
required before installation can begin. This includes
formatting the correct number of disks and then populating
them with the appropriate files. It's worth labelling the
disks with their main names - full or mini and then base,
edit, language and utility. With preparation complete, the PC
needs to be restarted with the mini or full boot disk. This
will leave you at the FreeDos command line.
The installation
routine is then run, and you'll be prompted to change disks as
required. With the full edition of FreeDos, some of the
packages are optional, and you'll need to be on hand to answer
any questions that pop up. Installation can take half an hour
or more. Although this will depend on the speed of the PC,
floppy disk access in FreeDos is known to be quite slow.
The
two hidden system files with Dos are normally Io.sys and
Msdos.sys, or Ibmbio.sys and Ibmdos.sys. FreeDos combines
these into a single file called Kernel.sys, and its
installation routine does not make the destination disk
bootable. You therefore have to run the Sys command to make
sure the C drive boots up into FreeDos. I also copied over the
supplied Config.sys and Command.com (actually referred to as
FreeCom).
Starting Line
Following a reboot, my test PC
started to run FreeDos. When the operating system starts up,
it allows you to press F5 to ignore Autoexec.bat and F8 to
activate the diagnostic mode. Then, as you would expect, you
are left at a command line that looks much like any
other.
Typing a question mark displays the basic FreeDos
help screen for the built-in commands. This indicates the many
familiar instructions that can be run. The directory commands
Cd, Md and Rd are here, as well as the optional Chdir, Mkdir
and Rmdir. Classic batch file commands Break, Call, Echo,
Exit, For, Goto, If, Pause, Prompt, Rem, Set and Shift are
present, and disk and file commands Copy, Del, Dir, Ren, Type
and Vol are supported, along with the optional Erase and
Rename.
Memory commands Loadfix, Loadhigh and Lh are
available, along with the standard Cls, Date, Doskey, Path,
Time, Ver, Verify and the rarely used Truename. This leaves
three new commands of Alias, Beep and History. Beep, as you
might expect, sounds a single tone. This is normally achieved
with Ctrl-G or holding down Alt and typing 007 on the numeric
keypad.
Alias and History provide functions that are
normally combined with Doskey. Alias is used to set up new
keywords to perform certain Dos functions. For example, a new
command called Dirwide could be set up to perform a wide
directory listing with 'Dir /W'. The format of the command is
simply Alias, followed by the new word, an equals sign and the
Dos command to be performed. If Alias is used on its own, a
list of the current aliases will be displayed.
The History
command displays a figure that indicates how many bytes of
memory are being used to store the command-line history. This
defaults to 256 bytes, and the figure can be changed by
entering a new number after the command. Altering this value
will reset the current history record.
All of this seems
reasonably familiar. However, even those with a good knowledge
of Dos might find FreeDos rather quirky to use. Some of the
commands we have mentioned don't seem to be that mature. For
example, the Dos Copy command can normally be run without a
destination. This means the file will simply be placed in the
current directory. The FreeDos Copy command requires the
statement to be fully completed. There is also currently a
known limitation where file specifications cannot end with a
slash. I found I could only copy to a floppy disk if I used a
subdirectory on the destination disk. Both A: and A: gave an
error of 'Path not found'.
You might also expect a command
such as 'Dir shop*' to list all the files starting with
'shop'. This is not the case - the full 'shop*.*' has to be
used. Searching directories with FreeDos' implementation of
the classic Dos commands is also troublesome. The 'Dir /S'
command does not seem to find files in sub-directories. Before
MSDos introduced this switch with version 5, 'Attrib /S' could
be used to locate files. Unfortunately, the FreeDos Attrib
command does not support this switch.
However, FreeDos does
provide its own Locate command. This takes a filename
parameter and numerous switches, and it scans the PC looking
for occurrences of the specified file. The default is to look
for folders and files, but you tell the utility to search for
either. Windows long filenames are supported with the /L
switch, and /H searches for hidden and system files. /D and /T
can be used to specify start and end dates and times. There
are switches for empty files, deleting the files and listing
only a specified number of files.
Text of Kin
FreeDos
provides its own text editor. Fortunately, it's modelled on
the MSDos Edit command and not its Edlin forerunner. Anyone
used to the MSDos version shouldn't have too many problems
with this version. It's a bit quirky, perhaps - especially
when selecting files for editing - but it does have some
interesting functions. The File menu includes an option to
shell out to Dos. This is really quite useful in the
non-multitasking environment. You will be able to leave the
editor to check something in Dos, and return back to the
editing session with the Exit command.
Unlike Notepad in
Windows 98, the FreeDos Edit command has both search and
replace functions, and it has a single-step undelete
function. If, like me, you never have a calendar to hand, the
Utility menu could be worth a visit. This looks like it will
contain a variety of functions in the future. For now, it
contains the single option of Calendar, which provides a handy
view of the current month in standard calendar format.
The
editor can also be customised to a certain extent. You have a
choice of a 25-, 43- or 50-line display. The screen can be
colour, monochrome or reverse, and you can enable or disable
the title, border, status bar and texture. There are options
to set basic tabs, and the editor can be set to insert mode
and word wrap. Overall, this is a reasonable editor. However,
a little time will be required in order for you to understand
it fully.
FreeDos also comes supplied with the Ted
editor. Although this is more basic than Edit, it somehow
seems easier to use. It provides all the main actions on a
series of function keys which are shown at the bottom of the
screen. These include mark, cut, copy, paste and exit. In
addition to this, the documentation also lists other control
sequences that can be used with the function keys.
Basic
training
We've already covered quite a few commands, but
there are plenty more still to discover. The majority of
external commands are held in the FreeDosin folder. This
also includes commands that seasoned Dos users will recognise,
as well as quite a few new ones. MSDos used to come supplied
with the GW Basic interpreter. I always assumed the initials
came from the reversed initials of William Gates. This went on
to be replaced by QBasic, a cut-down form of Microsoft's
QuickBasic.
FreeDos upholds the tradition and comes supplied
with the BW Basic interpreter (make up your own jokes
here). Some help text is provided for this and many of the
other FreeDos facilities. However, I found the help system was
expecting its data files to be in a top-level directory. I
therefore had to relocate the files before being able to read
them. I later discovered an environment variable that could be
set to get around this problem.
If you're into Unix, then
you might notice a few familiar commands in FreeDos - over and
above the standard Dos commands that were taken from Unix. The
Cal (calendar) command is here. When run on its own, you get a
standard calendar display for the current month. The utility
can also be run with a month/year parameter to display a
particular month, and a one-year parameter which gives a
12-month display spread across two screens.
The Tail command
is used to examine the end of a text file. This is useful for
very large files that would otherwise consume a lot of
memory. Tail is generally run on log files. Used with just a
filename as a parameter, the last screen's worth of data will
be displayed. A minus sign and figure can be used immediately
after the command to indicate the number of lines to
display. There are also options to cope with growing files,
multiple files and files in subdirectories. Tail's options can
be set as environment variables when FreeDos starts up. This
will ensure it's ready-configured.
The Tee command is also
found in Unix. This has one input and two outputs, allowing
the output data to be saved and processed. As an example, the
command 'Sort text.txt |tee output.txt |more' would sort the
specified text file and then send the result to a new file,
displaying that file in the process.
Roger Deltree
There
are two Deltree commands supplied with FreeDos. They both
include switches for reporting totals and displaying debug
information, and they both support the DRDos-style file
lists. Deltree2 seems to be a safer bet, though, because it
omits the /Y parameter for trashing directory structures
without any further reference.
Fin is a utility for display
file information. Used on its own, it simply lists files in
the current folder. With the addition of the -A switch, the
file's attributes are displayed - hidden, read only and so
on. The -D switch shows size, date and time, and files may be
shown in terms of clusters. Several types of checksum can also
be calculated. Fin can deal with files in subdirectories with
-R.
Another group of simple utilities is Touch, Reboot and
Uptime. The Touch command is used to change the date and time
attributes of a file. You can either specify the date and time
or the utility can take these details from a specified
file. The time can also be set to a file's version number, as
can be seen on some of Microsoft's system files in MSDos and
Windows. Reboot restarts the PC, the /V switch causes the
utility to prompt before rebooting, and the /W and /C switches
specify whether the reboot will be cold or warm - with or
without the memory test.
The Uptime utility gives a figure
in minutes or hours for the length of the current session. It
also reports the boot time and the current time. You can
choose which individual items of information are
displayed. The options can also be set through environment
variables.
Verdict
FreeDos has been put together by
enthusiasts for anyone who may want to use it. Whether it's
for personal use or inclusion on an embedded system, FreeDos
could be the solution. Anyone who is thinking about
downloading the product should make sure they read all the
online guides. There's a great deal of information available
that will ultimately save a lot of time when it comes to
installing and using the product. Despite its age, FreeDos is
still considered beta software.
By definition, FreeDos is
not going to be as functional and polished as a commercial
release - yet. It's undoubtedly a little rough around the
edges; features you may remember from your Dos days are not
guaranteed to be included, but FreeDos is a great idea and
with the enthusiastic support of Internet users, it will be
around for a long time to come.
Reviewed Issue 150, Page 477
Contact www.freedos.org
Price Free