Comment by dale_glass
3 years ago
I didn't originally, I used MS-DOS, PC-DOS, DR-DOS and even I think PTS-DOS at some point. I liked trying weird stuff.
This is well past the point where any of this actually mattered. It's just plausible to me that there was more than one reason for it. Eg, that Windows poked in DOS brains and did weird stuff is a very convenient thing to the higher ups who wanted an excuse to have less competition, so both things can be true at the same time -- that Microsoft was unethical, but there was a technical reason as well.
Arguably of course all of that should have been documented and have a proper API for it
> It's just plausible to me that there was more than one reason for it.
The code that put up the fake error messages (in the Windows beta versions) when running drdos was xor encrypted in an apparent effort to obfuscate / hide the code. What possible reason would there be for MS to try to escape detection if there was any legitimate reason for the error messages?
These BS error messages have a more modern equivalent by MS-- MS added open document support to MS office natively, having already supported odt with a plugin in their earlier version in order to do business in places that mandated open data formats. The native odt support would convert all formulas in a spreadsheet to the static values they calculated to the first time the spreadsheet was opened by MS Office. Destroying people's work to annoy them to using their proprietary formats. The old plugin did not have this issue (so MS did know how to implement proper support, and had to expend effort re-writing existing code in order to get the 'destroy document' feature to work).
Not connected to the AARD code, but the abominations that MS did to boot floppies in Win9x with volume tracker (or IHC code) is worth a mention:
https://www.os2museum.com/wp/the-ihc-damage/
https://jeffpar.github.io/kbarchive/kb/148/Q148637/
jdebp touches the matter on the page on (previous) messing up with bootsectors by MS-DOS:
http://jdebp.info/FGA/volume-boot-block-oem-name-field.html
(but those DOS ones were only about not trusting the BPB fields, not about corrupting the OEM field)