3 ms·
I still have a British-made 8086 almost-PC in the attic. It ran MS-DOS - but harddisks didn't work because the interrupt vector was different. That could be fix
by Tor3 4y ago
I still have a British-made 8086 almost-PC in the attic. It ran MS-DOS - but harddisks didn't work because the interrupt vector was different. That could be fixed - I burned a new EPROM and got it working. The company which imported the machine told me how - I called them and the guy who took the call explained in detail about interrupts and addresses and whatnot, and the next day I removed the PROM, brought it to work, copied it, patched it up, and burned a new EPROM. I'm still shaking my head at that memory. Try calling a company today and ask a technical question.
But the real problem with almost-clones was (as you said) that in practice applications more often than not bypassed the "ABI" and went directly to the hardware, and admittedly that's not MS-DOS fault per se. The result was anyway that lots of software wouldn't run on almost-clones, especially if they moved around too many of the assumed interrupts (e.g. 80186-based PCs - they had some of the peripherals of the 8088/8086 integrated, just not exactly in an IBM PC layout). One system I ran across was an "enhanced" PC-like semi-clone, probably using an 8086 or something better - the local health services had just started a huge campaign where they tried to get everyone to volunteer for a health checkup, and they were followed up with a new one some years later, and on and on (it still goes on, to this day). Anyway, for that early start, they used this MS-DOS computer to collect and print information. But the printer didn't work - the PC was nonstandard. I went to the hospital and figured out why, and patched things and got it working (I don't recall anything today about what or how or even why I could).
CP/M applications though - they didn't, for the most part, bypass anything - maybe that's because people writing the software knew that the hardware could vary wildly. Screen-oriented apps like WordStar usually needed a machine-specific patch for that, but otherwise CP/M software was way more portable than MS-DOS software. PC software though - vendors just thought "IBM PC hardware" and that was it, for the most part.