[ Wednesday, 2 July 2008, Raptou ]
We are already familiar with DOS, and its emulator DosBOX. The time has come to make DosBOX communicate in a more user-friendly way.
Among many advantages, DOS has one serious disadvantage — it is not user-friendly. This is especially true for novice computer users. Precise knowledge of commands and options is a must. They have to be typed in carefully with special attention paid to the spelling. In practice, users need to be constantly working with DOS to keep those skills at a good level. Early DOS programs were mainly text-based. Those programs were really rough, and standard keyboard input was the only graphics that appeared in them. It is worth mentioning that apart from standard symbols, which could be typed in on the keyboard, there were additional symbols available. One could obtain such a symbol by using the left alt key, and typing in its code. Those additional symbols were used to create simple graphical elements such as, frames and tables. The basic keyboard layout contained Latin characters only. Moreover, localization standards were non-existent at the time. It was up to the software developer to allow for language specific input, which in turn lead to proliferation of minor standards, and often caused problems with programs display. In Poland alone, nearly each institution developed its own encoding standard i.e., Latin2, Mazowia, CHS, Mazowia-modified etc. The situation has improved after the introduction of ANSI (i.e., ASCII augemented with additional symbols, of which each could be displayed in 16 colours).
After 10 years, DOS still relied solely on command line input, and hadn’t changed much since the original CP/M system. Its development could not be called innovative, as it was limited bugfixes and addition of new commands. Graphical user interface, invented by Xerox and widely introduced by Apple, was not a commodity. Moreover, it is amazing how software developers stuck to the text-mode paradigm even when hardware allowed for sophisticated graphics. As mentioned earlier, this intimidated ordinary users. The 8bit GEOS (form Berkeley Softworks), inspired by the interface of Macintosh computers, was a notable exception.
Eventually graphical front-ends for DOS programs started to appear. Their appearance in some ways resembled that of painting programs (but one might notice that some elements became standard). Mouse, as a pointing device for PC computers, was not common, and it served as a helper device. Most of the program functionalities were still accessible without it. The key difference was that, the user did not have to memorize commands. He could simply point to them on the screen (using arrow keys or mouse as a pointer).
A graphical front-end is not the same thing as a graphical user interface (the latter is a coherent part of a given system). In graphical front-ends for DOS, clicking on an icon (it was called “pictogram” those days) simply evoked a DOS command with specific options. It was still DOS, but easier to use due to a nice graphical tool. As a side effect, the system slowed down. At nearly every action it had to do the following:
- pick a function,
- perform a DOS command (including options),
- perform a task in machine code (in a graphical user interface, each click is translated to machine code at a glance, so it is much faster).
At the time many operating systems with a graphical user interface, and graphical front-ends for operating systems, appeared (i.e., Mac OS, GEOS, TOS, Workbench). This process coincided with the introduction of PC computers.
At the same time GEM was released. It was not an operating system, but graphical front-end for DOS. There were others, like WinDOS, Microsoft DosShell, but it was GEM that gained popularity. It had the appearance of the system used in Atari ST. TOS (Tramiel Operating System or The Operating System) is exactly an operating system with GEM as user’s interface.
GEM was not the best or the prettiest graphical front-end for DOS, but it was a compromise between ease of use and speed. It is worth mentioning that DOS and GEM are still developed by Open Source community. They are a great combination, especially for those users who don’t remember the times, when you had to remember a whole book of commands to use a computer.
It is suprising that GEM, GEOS or DosShell (attached to MS DOS 6 and higher by default) never became popular in Poland. Instead people used Norton Commander and DOS Navigator. Those programs were harder to use and required good knowledge of DOS commands. Intuitively, Mac OS-like interfaces were the simplest to use (easy as drawing with a crayon on a piece of paper), yet it was Norton Commander that was the most popular front end for DOS (what is more, it was still in the text mode based).
GEM’s development ended when Microsoft Windows 3 appeared on the market. Until then, it was the standard graphical user interface for the TOS operating system of Atari ST/TT/Falcon, and it was shipped with MS DOS, PC DOS, DR DOS, as an OEM add-on. It was brought back to life by a group of enthusiasts, and now it is developed under GNU licence (under the name OpenGEM). The main reason for great come back of GEM, was the need for a light and easy to use file manager for FreeDOS. FreeDOS appeared when Microsoft ended MS DOS development. FreeDOS is still developed, and its authors assure that it is 100% compatible with MS DOS 6.22.Unfortunately I cannot say that it is true. The reason for the incompatibility might come from the difference in handling UMB, EMS and XMS memory. Another reason might be that FreeDOS is very modern (as for DOS systems). It supports FAT32, long files names, UMDA disk technology and USB devices.
GEM (and GEOS) work perfectly on DosBOX. This combination makes up a quite user friendly operating system (at least more friendly than DOS with Norton Commander). It allows to use a mouse to interact with the system, just like in other modern operating systems such as, Linux or Windows. Users knowing DOS only from fairy tales may now configure their own DOS under DosBOX, or try an excellent FreeDOS with GEM using Qemu emulator, maybe even use it a separate partition on hard disc.
GEM on Mac OS X (Intel)
For Mac OS X users I’ve prepared a DMG package. The package contains DosBOX emulator and a slightly modified OpenGem5 (all preconfigured). Feel free to copy your own DOS games and programs to the “c” directory. Our comfortable emulator with DOS and mouse support is ready.
The package might be download from here.
Notice that this is not a package for PowerPC Macs. To run Gem4Mac on PowerPC machines your should use the PowerPC DosBOX file instead of the file included in the downloaded DMG package.
GEM on MS Windows
For MS Windows users I’ve prepared a ZIP archive. The archive contains DosBOX and a slightly modified OpenGem5 (all preconfigured).
Just download the archive, unzip it and run start.bat file. The archive can be downloaded from here.
GEM on Linux
- Install DosBOX (if it is possible choose the one in your system’s repository).
- Download OpenGem (alternative source) and extract it.
dosbox.conffrom opengem-linux to your DosBOX directory (typically /home/user/).
- Copy (or move)
opengem-linuxto the place you like (e.g. /home/user/).
Autoexecsection of the
dosbox.conffile (not in opengem-linux!).
In our example this section will look something like this:
[autoexec] # Lines in this section will be # run at startup. mount c /home/user/opengem-linux/c set blaster=a220 i5 d1 t4 c: gem exit
Now you can enjoy DOS in graphical mode. You should place all DOS programs to the directory acting as C drive for DOS (in our example it is /home/user/opengem-linux/c.
Warning: include_once(/sites/polishlinux.org/wp-content/themes/jakilinuxorg/google_article_inside.php): failed to open stream: No such file or directory in /sites/polishlinux.org/wp-content/themes/jakilinuxorg/single.php on line 48
Warning: include_once(): Failed opening '/sites/polishlinux.org/wp-content/themes/jakilinuxorg/google_article_inside.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /sites/polishlinux.org/wp-content/themes/jakilinuxorg/single.php on line 48
Subscribe to RSS feed for this article!