Record of AARD Research


E-mail with Andrew Schulman in late March and early April 1992 occasionally dealt with the HIMEM.SYS driver and its Extended Memory Services (XMS) interface in connection with my writing of DOS Internals (with Andrew as editor) and his writing of Undocumented Windows.

The HIMEM.SYS to be included with Windows 3.10 was said to support a new version of the XMS interface, namely XMS 3.0. On 9th December 1991, I sent Andrew a list of interface changes as I had come to understand them from inspecting a HIMEM version 3.00 for changes from the HIMEM version 2.77 that was distributed with MS-DOS 5.0.

On 16th April 1992 I sent Andrew my documentation of the XMS 2.0 implementation in HIMEM 2.77, as I proposed it for DOS Internals. Updating for the new HIMEM versions and their implementations of XMS 3.0 was important—and, of course, Andrew said so the very next day.


In e-mail that I saved for sending at 04:06 on 17th April 1992, I noted that for the purposes of documenting an XMS 3.0 implementation, “I have only looked through HIMEM 3.00 not 3.03, though I do have a copy of the latter.”

In e-mail that I saved for sending at 19:57 on 17th April, I reported that I had “looked more closely” at HIMEM 3.03 and seen “a large amount of really stupid code (lots wasted, some encrypted with XOR),” and I attached a device driver that prepares an FCB-SFT block at a non-zero offset to trigger “a message in HIMEM about contacting Windows 3.1 beta support.”

It’s possible that I worked on the AARD code for all the 16 hours (approximately) between those two e-mails. However, records show me as having sent or received e-mails at approximately 8pm and 10pm the night before and at 3am that morning, and then again at approximately 11:30 that night. Surely I slept some time that day!

In the early morning, apparently being still awake from a late night, I seem not to have known of the AARD code’s existence in HIMEM 3.03. By the evening, it is clear that I not only knew the AARD code’s encrypted tests but had written a demonstration to show them at work on a true MS-DOS. It’s just not credible that “unravelling the AARD code” can have been much more than a few hours of work.