13 ms·
The AARD Code and DR DOS (2021)
- gavaw 3y agoThis article is about the AARD code, which was present in a beta release of Windows but was never shipped.
- iso1631 3y agoHowever it was present in the release shipped to reviewers, who wrote their reviews which including saying how windows worked better on ms-dos
- stevekemp 3y agoAs documented in the excellent book "Undocumented DOS", whose red cover I can still picture. (Noted in the article, but it was a good book that I still recall fondly.)
- JdeBP 3y agoI can touch my copy without moving from the chair that I am sitting in. (-:
- aflag 3y agoIs it now your monitor's support?
- JdeBP 3y agoNo. It's on the bookshelf next to Petzold, and below the other Petzold book, that I suspect far fewer have read, on the shelf above. On the other side of the Lower Petzold is Undocumented Windows. If you deduced from this that the shelves were divided into Windows and OS/2, the sad truth is that the lower shelf is slightly too high, and the books are divided by height differences that amount to millimetres in some cases. Lower Petzold fits; Upper Petzold does not. (-:
- mysterydip 3y agoThanks for the recommendation! Just bought a copy off eBay for $4 for my collection.
- duckqlz 3y agoActually it was shipped. “Microsoft disabled the AARD code for the final release of Windows 3.1, but did not remove it, so that it could have become reactivated later by the change of a single byte in an installed system.” [1] [1] Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Addison Wesley. ISBN 0-201-63287-X.
- gavaw 3y agoIs it shipped if it cannot execute under any conditions? Philosophical question I'm afraid.
- codnee 3y agoThe code? Yes The feature? No
- zorked 3y agoThe company that makes GTA was sued for content that was not accessible in the game.
- saagarjha 3y agoThey probably shouldn't have?
- brookst 3y agoAnybody can sue anyone for anything. I could sue Rockstar for not having enough nudity in GTA; that does not imply guilt or lawbreaking on their part. The suit you mentioned was settled out of court for a tiny amount, basically nuisance value, with no finding or admission of wrongdoing.
- jen20 3y ago> could have become reactivated later by the change of a single byte in an installed system. Is that not a condition under which it could be executed?
- sillystuff 3y agoIIRC, the author of "Undocumented DOS" discovered and disclosed this feature during the beta, before release. It seems at least plausible, if not probable, that Microsoft disabled the xor encrypted bogus error message generating code in the release version as a result of this disclosure.
- tored 3y agoThe idea of introducing bugs to users that doesn’t conform 100% to intended use of your software is not good idea, what will happen is that your software will be perceived as buggy in general.
- tourgen 3y ago[dead]
- i2cmaster 3y agoMost people will tolerate the bugs until they absolutely cannot use whatever software they're running though.
- ndespres 3y agoWhen they reach that unusability limit, most people will call their IT department and have the offending buggy software reinstalled as a fix. IT won’t remove your buggy copy of Microsoft Word and Teams and replace it with WordPerfect and Slack.
- i2cmaster 3y agoI should have said "people and organizations" because that's what I meant. The mechanism with organizations works like you said yes. They'll just develop processes to work around the bugs until it becomes completely impossible.
- quickthrower2 3y agoBut Word has competitors like GSuite so it cannot be completely complacent. People are making these buying decisions constantly.
- trelane 3y agoIt's had competitors forever. The lockin is from UI, file formats, compatibility generally (e.g. functions), scripting / existing infra around it, and its utter dominance in the market ("nobody got fired for buying Microsoft")
- dale_glass 3y agoI remember somebody at Microsoft arguing that AARD had a sort of legitimate purpose -- Windows reached deep into DOS in ways that in modern times would be anathema, and did stuff that one couldn't expect to necessarily work properly on a DOS clone, since it wasn't part of the public API. Still, that idea could have been better executed. Aha, here: https://learn.microsoft.com/en-us/archive/blogs/larryosterman/aardvarks-in-your-code https://learn.microsoft.com/en-us/archive/blogs/larryosterma... > As a simple example, when Windows started up, it increased the size of MS-DOS’s internal file table (the SFT, that’s the table that was created by the FILES= line in config.sys). It did that to allow more than 20 files to be opened on the windows system (a highly desirable goal for a multi-tasking operating system). But it did that by using an undocumented API call, which returned a pointer to a set of “interesting” pointers in MS-DOS. [...] > But the problem was that the MS-DOS 4.0 SFT was 2 bytes larger than the MS-DOS 3.1 SFT. In order to get Windows to work, I had to change the DOS loader to detect when win.com was being loaded, and if it was being loaded, I looked at the code at an offset relative to the base code segment, and if it was a “MOV” instruction, and the amount being moved was the old size of the SFT, I patched the instruction in memory to reflect the new size of the SFT! Yup, MS-DOS 4.0 patched the running windows binary to make sure Windows would still continue to work. So yeah, by modern standards the way old DOS software worked was all kinds of screwy.
- JdeBP 3y agoIt was later revealed exactly what the purpose was, when internal mail discussions came out in court. "What the guy is supposed to do is feel uncomfortable, and when he has bugs, suspect that the problem is dr-dos and then go out to buy ms-dos. or decide to not take the risk for the other machines he has to buy for in the office." -- Brad Silverberg, Microsoft, 1991, as quoted at https://www.theregister.com/1999/11/05/how_ms_played_the_incompatibility/ https://www.theregister.com/1999/11/05/how_ms_played_the_inc... and in many other reports of the court case that one can still find. That was the purpose.
- dale_glass 3y agoInteresting! I stand corrected, though I think the MS explanation does sound plausible for the times. Can this "Windows poked around in the guts of DOS" and "DOS 4.0 patched Windows" sort of mechanic be verified elsewhere?
- quitit 3y agoKeep in mind that this isn't an isolated case: Microsoft used this as a tactic with Quicktime amongst others. Their tactics were numerous, either bringing spurious error messages, stealing associations to bring error messages/dodge the invocation of the competitor software or simply altering windows code to produce legitimate errors in competitor software. That's on top of plain old threatening other companies if they dared use technology that they were trying to suffocate.
- inetknght 3y ago> stealing associations to bring error messages/dodge the invocation of the competitor software So... just like what they're doing with browsers these days then
- jmclnx 3y ago>Keep in mind that this isn't an isolated case True, this is one case that isn't mentioned much, but this gave Excel and Word its massive market share. When Windows 95 was being developed, MS kept telling Lotus (and maybe Word Perfect) that OS/2 was the real future, so Lotus was focusing on a GUI version of their main product for OS/2. And Notes was originally developed on OS/2. So Lotus had a nice version of 123 for OS/2 about to go, but the had to shift gears to Windows when W95 was released. Also there were rumors that MS was keeping some APIs secret to make it appear their products were faster than competitors. When W95 came out, by magic, MS had a GUI version of Excel and Word, thus eventually killing those companies. Lotus had to shift gears and may have lost a couple of years to MS.
- jojobas 3y agoGUI Excel 2.2 was released for Windows 2.0 in 1989, 3 major releases before Office for Windows 95. Essentially same for Word. WordPerfect had a perfectly working GUI version for Windows by 1994, it just couldn't compete with Word. Same for Lotus123, they were out of fashion long before Windows 95.
- mike_hearn 3y agoI used to work on Wine and don't recall encountering any APIs that made things magically faster. That was a popular rumour on Slashdot in the early 2000s because at the time, most devs were unaware of how IE could start so much faster than Mozilla, and how MS Office could start so much faster than OpenOffice. Cheating via pre-loading was assumed. It was eventually proven that this couldn't be the case when these apps started faster than their competitors even on Wine on Linux. The actual cause was that MS cared about and heavily optimized startup time. No magic. The OS/2 history isn't quite how I remember it. The fact there'd be a new version of Windows surprised nobody. Chicago development wasn't exactly a secret that caught anyone unawares. Also OS/2 Warp came out before Windows 95 did.
- shrubble 3y ago"DOS isn't done until Lotus won't run" ... not the first time for Microsoft
- wodow 3y agoProvenance of this reviewed at http://www.proudlyserving.com/archives/2005/08/dos_aint_done_t.html http://www.proudlyserving.com/archives/2005/08/dos_aint_done... (and last discussed here at https://news.ycombinator.com/item?id=10432608 https://news.ycombinator.com/item?id=10432608 )
- exabrial 3y agoSomeday this is going to be in an engineering ethics class. Microsoft literally broke every anti trust law, but the DOJ was too incompetent to prosecute them properly due to the lack of education. A lot of these decisions remind me of SV companies: if it’s not specifically, illegal it’s fine; Ex: Goog/Fb invasive Tracking users across the web, even if the user requests not to be. I hope every person that works for these companies is someday ashamed of their time there.
- zamnos 3y agoYes, incompetent, and not due to as of yet unknown payoffs to key officials. With that much money at stake, in a far less transparent world than we live in today, briefcases full of cash worked a lot better. How would you even deposit that today without some sort of money laundering scheme?
- bombcar 3y agoBriefcase cash is so gauche - you just hire them when they “retire” from public service. Much more proper and you don’t even need to explicitly offer - everyone knows how the bread is buttered.
- cabalamat 3y ago> you don’t even need to explicitly offer Which has the added benefit of plausible deniability.
- willcipriano 3y ago[flagged]
- mysterydip 3y agoDefense contractors seem to have this down to a science.
- javajosh 3y agoAlso, speaking fees are, funnily enough, not campaign contributions.
- dosman33 3y agoHeh, I remember finding shreds of these news groups threads and news letters posted to Geocities and such in the mid-90's when I was coming of age. "The MUF List" - Microsoft's Undocumented Features, etc. I still have my DOS programming books but I never really did much myself, other than some assembly programs written in debug. The list of dirty things MS did to other companies is extensive. The DriveSpace debacle was the one I remember most. If memory serves, they tricked the company that made a compressed filesystem driver for DOS/Windows to "license" the feature to MS, then MS just forgot to ever pay them. The company was so cash starved they couldn't outlast a lengthy lawsuit to recoup what they were legally owed. MS did every dirty trick they could. Bill Gates is one seriously dirty MFer.
- selcuka 3y ago> The company was so cash starved they couldn't outlast a lengthy lawsuit to recoup what they were legally owed. They were actually paid $120M by Microsoft [1]: > A Los Angeles jury Wednesday ordered Microsoft Corp. to pay $120 million for infringing a software patent held by Stac Electronics Co., a much smaller software firm based in Carlsbad, Calif. [1] https://www.latimes.com/archives/la-xpm-1994-02-24-fi-26671-story.html https://www.latimes.com/archives/la-xpm-1994-02-24-fi-26671-...
- devsda 3y agoJustice delayed is justice denied. I wonder if we can say the same for timely payments especially when maintaining proper cashflow is critical for small businesses.
- ballenf 3y agoSomehow it seems like "paid" is the wrong word when you're forced by a court to do it. Almost like stealing a car and then claiming you "donated" it to the true owner upon arrest.
- SteveGerencser 3y agoThe way I understood the story back then was that they wanted a license deal with MSFT just like MSFT had with the hardware companies. MSFT wanted to just buy them out. Lawsuits, court, and so on finally forced the sale of the company to MSFT for the amount in the settlement.
- stefantalpalaru 3y ago> In assessing Microsoft’s reaction to DR DOS, I must think what would be own reaction if I had designed and implemented something, and someone copied my design into a distinct implementation of their own. "MS-DOS was a renamed form of 86-DOS – owned by Seattle Computer Products, written by Tim Paterson." - https://en.wikipedia.org/wiki/MS-DOS?useskin=vector https://en.wikipedia.org/wiki/MS-DOS?useskin=vector
- NotYourLawyer 3y agoI mean yeah, but it’s not like they just copied it from him. > Microsoft, which needed an operating system for the IBM Personal Computer,[8][9] hired Tim Paterson in May 1981 and bought 86-DOS 1.10 for US$75,000 in July of the same year. Microsoft kept the version number, but renamed it MS-DOS.
- deleted 3y ago[deleted]
- weare138 3y agoTo Microsoft, by my reckoning, DR DOS was an imitator of MS-DOS. In assessing Microsoft’s reaction to DR DOS, I must think what would be own reaction if I had designed and implemented something, and someone copied my design into a distinct implementation of their own. I would have to accept that copyright law gives me no protection and I might console myself with the proverb about imitation being flattery, but I would think it outrageously unjust if some law would somehow have me owe anything to the imitator. I'm sorry I have to strongly disagree with this view. MS-DOS was developed in 6 weeks and was a clone of another popular OS of the era called CP/M created in 1974 by Digital Research. The same company that created DR-DOS. If there were laws regulating common and fundamental designs and implementations as we do copyrighted works Microsoft wouldn't exist. Digital Research would have sued Microsoft in '81 and that would have been the end of Microsoft.
- neilv 3y agoI believe you're correct about QDOS (which was bought to become MS-DOS) being a quick knockoff of DR's CP/M. So I didn't understand the author's comment about DR-DOS being the imitator, at least not without acknowledging the prior history.
- eesmith 3y agoThe section "Common Ancestry" acknowledges the prior history. Though it feels a bit odd. "MS-DOS is there said to be variously a copy or clone of an operating system named CP/M" seems to gloss over the details by sticking specifically to Caldera's Consolidated Statement of Facts, and not mentioning QDOS/86-DOS. But the author really assert that "DOS" is a very specific term: > To me, DOS meant MS-DOS and its licensed variants such as PC DOS. DR DOS was no more a brand of these than juices pressed from soy beans, almonds or cashews are brands of milk. This is not to say they have no merit—some of those juices are more enjoyable than is most American milk—but they’re not different brands of the same thing. To me, DR DOS could not even be a candidate for consideration as another brand if it would always, as seemed likely, need special accommodation in anyone’s DOS programming. so the idea of a "DOS market" doesn't make sense. Further, the author probably places you into this camp: > The preceding question seems to have got conflicted in the early 1990s—and may be still in the apparently growing community of retro-computing enthusiasts, some of whom are vigorously revising history, at least as recorded by Wikipedia, to favour DR DOS. The conflict I mean is that celebration of DR DOS as a compatible alternative to MS-DOS for running MS-DOS programs often coincided with requests that MS-DOS programmers should keep in mind what different writing may be needed for DR DOS.
- hk1337 3y agoWow, DR DOS. That's a memory I forgot I had.
- jeromeof 3y agoI remember testing a protocol called DDE back in the Windows 3.1 days, and we couldn't figure out what Excel behaved so much faster than Lotus 123. Then we dug into the code and found that Windows 3.1 would free up all available memory as it launched Excel. A sneaky trick which I guess meant that users would find Excel much more responsive that 123 and ultimately help Microsoft get Office domination that it has today.
- brookst 3y agoSomeone else in this thread who worked on Wine said there was no evidence for such a thing since the faster launch times also occurred in Wine. What forensics did you use to determine this?
- toast0 3y agoI don't believe the context of the Wine related comment was Win 3.1. OpenOffice wasn't around to compare launch times. Internet Explorer was around, a bit, but was competing with Netscape, not Mozilla.
- astrashe2 3y agoI think they still introduce small problems for people who run software they don't like. For example, if you run Linux on your desktop, and want to use a Windows VM for work, you can't run WSL2 or Hyper-V in the KVM/Qemu guest, even if nested virtualization is enabled and working with other operating systems. It used to work, but now it doesn't, and no know knows exactly why. These situations are murky. I don't know that they broke it deliberately. Maybe it broke on its own and the problem affects so few people that they just don't care about it. And you can't really demand that they spend their developer resources on things that they think won't help them. But on one hand, they wrote their own Wayland server for Windows 11, but on the other hand, they say, we can't make Teams work on Wayland. They do lots of odd stuff. It's pretty easy, and pleasant, to run a headless linux server on Hyper-V, but setting up a proper desktop system on your own is hard. They don't actually create a wall you can't get around, but they create obstacles that make it easier to do the things they want you to do. It's not fair or reasonable to get mad at them about this stuff. It's more that we should be clear about where they're coming from.
- wingmanjd 3y agoIf it helps, I'm currently running a Windows kvm guest that runs WSL2, but I had to change my processor type. Ubuntu 22.04 Host, virt-manager/ qemu/ kvm hypervisor Win10x64 Guest, CPU model is set to "Broadwell-noTSX-IBRS" It's definitely not as performant with this setting, but it gets the job done so I can run WSL2 and Docker Desktop in my Windows vm. YMMV.
- astrashe2 3y agoThanks, I'll definitely give that a try.
- Bran_son 3y ago> It's not fair or reasonable to get mad at them about this stuff. It's more that we should be clear about where they're coming from. You're describing a wild animal: "It's not fair to get mad at the wolf for biting you - that is its nature" Perhaps then we should also treat them as the wild, hostile animal they are.
- rob74 3y agoIn case you're wondering what AARD means (I did): "The name was derived from Microsoft programmer Aaron R. Reynolds (1955–2008), who used "AARD" to sign his work; "AARD" was found in the machine code of the installer" (from Wikipedia).
- EvanAnderson 3y agoIf the QDOS/86DOS angle interests you check out a talk that Tim Paterson, of Seattle Computer Products and later Microsoft, gave at VCF West 2019. He describes the history of 86-DOS (licensed to become PC-DOS and MS-DOS). API compatibility with CP/M, was the intention but no code was taken from CP/M. CP/M was an Intel 8080-based OS. The 8086 was mostly source compatible (but not binary compatible) with the 8080 (i.e. 8080 assembler programs could be assembled targeting the 8086 with only minor changes) and QDOS/86DOS supporting CP/M APIs was to help it fit into this re-assembly workflow. https://www.youtube.com/watch?v=R2Qh0O3Dt10 https://www.youtube.com/watch?v=R2Qh0O3Dt10
- stuaxo 3y agoHas anybody implemented this in the open source world ? It's far enough in the future, it would be good to see a reproducable demo of Win95 on DrDOS (or even freedos) - it seems like something someone on the virtuallyfun site might do eventually.
- hakfoo 3y agoApparently there was some work inside Caldera to do exactly that. https://news.ycombinator.com/item?id=28358828 https://news.ycombinator.com/item?id=28358828
- xenadu02 3y agoMicrosoft has done many questionable things but the AARD code was never enabled on a shipping version of DOS so it doesn't seem quite fair to blame them for that. I also find the whole argument silly because it was obvious even during the Windows 3.0 days that Windows was going to be the whole OS and no one would be buying two operating systems, one to use as a bootloader and compatibility layer for legacy apps and the other to be the GUI OS. The whole idea never made any sense and all the sturm & drang about Dr DOS proposes an impossible future where a niche for a paid text-mode PC DOS OS was going to continue existing period. It wasn't and it didn't. It's like complaining about Microsoft hijacking the market for TCP/IP drivers. Even if the conspiracy theory was true it was never going to matter.
- acdha 3y ago> Microsoft has done many questionable things but the AARD code was never enabled on a shipping version of DOS so it doesn't seem quite fair to blame them for that. Here’s how a Microsoft executive described it at the time: “What the guy is supposed to do is feel uncomfortable, and when he has bugs, suspect that the problem is DR-DOS and then go out to buy MS-DOS" https://www.wired.com/1999/05/caldera-ms-cheated-in-dos-war/ https://www.wired.com/1999/05/caldera-ms-cheated-in-dos-war/ It’s certainly true that DOS’s time was limited but people were still buying it for years after he said that in 1992. Far more importantly, however, you have to think about the situation with OEMs. Microsoft was absolutely cutthroat on licensing with PC manufacturers to prevent alternative operating systems – entire product lines had to be Microsoft-only, they demanded DOS & later Windows licenses be purchased even if the buyer didn’t want them, volume discounts depended on exclusivity or bundling other apps, etc. The hardware companies put up with that because they didn’t have much choice: there were too many business apps and games which their customers wanted to refuse Microsoft’s terms. DR-DOS offered a way out of that: everything ran, often better due to its superior memory management, and the last thing Microsoft wanted was someone doing something like selling systems with, say, OS/2 or GeoWorks Ensemble (a quite decent desktop app suite at the time) and relying on DR-DOS as the operating system choice for customers who wanted DOS compatibility to avoid Microsoft’s exclusivity requirements for that particular model. I don’t know that this would have fared better than, say, System 76 is doing now but they were keenly aware of just how much leverage they’d lose if an alternative got enough marketshare to let OEMs do more than acquiesce to Microsoft’s standard terms.
- reassembled 3y agoMemories of seeing my Dad’s boxed copy of “Doctor DOS” sitting on the bookshelf next to his 286 PC are forever burned into my brain. Using DR DOS and XTree on that computer was my first taste of PC usage. Prior to that I’d only been allowed to use the family Atari 800. Years later, when Wolf3D hit the scene, I finally managed to convince him to let me upgrade it to MS-DOS 6, install a VGA card, and upgrade to 4MB of RAM.