The AARD Code

Some programs and drivers in pre-release copies of Windows 3.10 include code that tests for execution on MS-DOS and displays a disingenuous error message if Windows is being run on some other type of DOS. Some of these same programs and drivers in the released version of Windows 3.10 include the code and the error message, and even execute the code, performing the same tests, but without acting on the result and without displaying the error message.

The code in question has become known widely as the AARD code, named after initials that are found within. Although the AARD code dates from the start of the 90s, it returned to controversy at the end of the 90s due to its appearance in a suit at law between Caldera and Microsoft.

It is not my intention here to comment on the rights or wrongs that I may or may not perceive in this code’s existence. However, I must declare a financial interest: in 1999 when this note was first published, I was engaged indirectly by Caldera to assist with their understanding of DOS and Windows software for the suit just mentioned.

What I do intend here is to put on the public record a few points of history.

Discovery and Publication

It is commonly said that the workings of the AARD code were discovered in 1993, as if discovery had not long preceded the article Unraveling the AARD Code, written by Andrew Schulman and published in Dr. Dobb’s Journal, September 1993. Since this dating would leave a year or even two from the release of Windows 3.10 to the full understanding by anyone outside Microsoft of what exactly the AARD code tests, it is potentially important to know that the code’s workings were known in detail outside Microsoft as early as mid-April 1992 and had been described in public by early June 1992.

Research Effort

It is also commonly said that the workings of the AARD code came to be understood only with great effort. I cannot speak for how others may have come to their respective understandings, but I do ask that commentators not exaggerate the complexity of the code or the effort involved in understanding exactly what it tests.

Unfortunately, I can find no certain record of which day or night was the one on which I studied the AARD code in 1992. The effort involved cannot have seemed substantial enough to prompt my keeping a record of it. Neither can the study have been the sort that lasts long enough to leave much of a trail. It seems to have been a very casual exercise.

What record does exist is in e-mail with Andrew Schulman. From this e-mail, it seems that I had not yet noticed the AARD code in HIMEM.SYS version 3.03 on the morning of 17th April 1992, but that I understood it well enough to offer a demonstration by the evening.