FREEDOS - OS SOFTWARE 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 FreeDoin 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 >> Reprinted from Computer Shopper / Technoworld