Defacto2 - <cfif url.mode EQ "dos">Help for Running DOS Applications <cfelseif url.mode EQ "error">Deciphering Application Errors</cfif>
DOS (Disk Operating System) is the name given to the original type of operating systems used on early 16-bit PC computers. Similar to how the term Windows is used today to describe the modern based Microsoft operating systems. All 32-bit Intel and AMD CPU's sold even nowadays are still backwardly compatible with this base. If you were able to find an old floppy drive for your current PC you could probably boot your PC into one of these arcane operating systems.

MSDOS logo DOS based operating systems came in a number of different variants which were released by different companies. But the most well known DOS and the benchmark for what most software companies would target development towards was Microsoft's MS-DOS.

Interesting enough DOS itself was originally a quick clone of an earlier popular 8bit operating system known as CP/M that was first released by Digital Research back in 1974. A small company known as Seattle Computer Products created the original DOS, known as Q-DOS in 1980. Q-DOS had similar (though not as extensive) commands to CP/M but used Microsoft's QBasic FAT file system.

Microsoft had a contract with IBM to supply the operating system for their new and then secret project, the IBM PC. So Microsoft bought a non-exclusive licence to market Q-DOS and hired it's author to port it to the 8088 CPU that IBM were planning to use. This version of DOS was known as 86-DOS. In April 1981 Microsoft bought all the rights to DOS and changed it's name to MS-DOS. IBM then released the first public version of DOS, PC-DOS 1.0 that was used with it's first personal computer, the IBM 5150 PC.

DOS was the defacto operating system for all PC's up until 1995, when the popularization of Microsoft's Windows 95 eventuated. And even then, this and subsequent versions of Windows including 98 and ME all used DOS as their underline base. This is important to know because many applications coded by scene's up until the popularization of Windows XP (ie 2001) were programmed to run under DOS.

Unfortunately due to it's ancient legacy DOS does things very differently to modern processors and it can be extremely difficult to successfully get DOS applications to run on modern operating systems. DOS never had an application programming interface like Direct X for Windows. So software developers had to write their own drivers for any external hardware including sound cards, graphic cards and even mice and joysticks.

Because there were no uniformed system of communicating with the hardware, different software accessed the hardware in different ways depending on the developer. Often software developers would prefer to access the hardware directly because it was quicker and more efficient. But this creates problems with modern Windows (2000, XP, Vista) which don't operate with DOS anymore, and instead emulate it using shell commands. As modern Windows do not allow the hardware to be access directly. It is a security risk and can cause stability issues with badly programmed applications. So this can lead to problems with many DOS applications which are expecting full hardware access, causing them to run with limited capability or at worst crash abruptly before it has even loaded.

With this in mind we have created this help page to guide you through some solutions in a bid to get those old DOS applications working on your modern Windows machine.
DOSBox is a multi-platform DOS-emulator that is designed to run DOS games on modern operating systems. It has been ported to numerous OSes including Linux, Mac OS and works like a charm in Windows. By emulating the CPU it offers both 286 real mode and 386 protect mode as well as XMS/EMS memory configurations. This gives it great compatibility with older games as well as many old DOS scene productions. It also supports Tandy/Hercules/CGA/EGA/VGA/VESA graphic modes as well as both the Sound Blaster and Gravis Ultra Sound range of sound cards.

In our opinion DOSBox is the best way to run older DOS based scene productions on a modern computer.

DOSBox capture

Sometimes after you run a newly downloaded program it decides to crash while leaving you with only a cryptic error message to work with. So we have compiled a list of common error messages we have encountered while testing the many scene productions hosted on the site. And then we have provided solutions or work arounds to get these applications working.

Shinker.err Dispatcher initialization error

Shrinker error

This is a common error that occurs with Windows 95/98/ME applications that are compressed with earlier versions of the Shinker compression program. Fortunately there is an easy solution. You just need to decompress the application using either DeShrink 1.6 or UnShrinker. DeShrink is a standard Windows application while UnShrinker uses the command prompt.

Request for 'NPMOD32.DLL'

NPMOD32.DLL is a Windows development library file designed to play older module music files which used to be popular in the demo and music scenes. Sometimes coders would simply forget to include this file while packaging their application.

Fortunately we have a copy of the NPMOD32.DLL for download. To use simply copy the DLL file into the same directory as the application requesting it.

'Runtime error 200 at ...' error message

Runtime error 200

A runtime error 200 message usually occurs with old DOS applications written in Turbo Pascal. Turbo Pascal had a timing bug that would cause it's complied programs to crash when they were running on machines running at 200Mhz or faster. It is known as the CRT issue and can be fixed by applying a patch to the effected application. Otherwise you can run the application in DOSBox, which will artificially slow down the speed of the emulated DOS session.
If you wish to patch the application we have created a guide to help you through it. Though this is only recommended for people experienced with DOS or the Windows command prompt.

First download UNP 4.11 which is a Turbo Pascal decompression program and then download CTRFix 1.16 which as it's name says is a CTR bug patching program. Create a temporary directory and then unzip both downloaded packages into it.

Temporary directory capture

Copy the application effected by the CRT issue into the temporary directory. In our example we are going to patch DEFACTO.EXE which belongs to the early Defacto magazines that we once released.
Now run the UNP program to decompress the application.

Temporary directory capture

Once the decompression is complete, run the CTRFIX program to patch the application.

Temporary directory capture

That is all there is to it.