Both CP&#x2F;M and MS-DOS enabled portable code that runs on various hardware, but devs wrote software that required PC-compatible hardware anyway because sometimes it was a lot faster to bypass the OS.<p>MS got market share by being cheaper, and once the network effect was in their favor they kept it by threatening OEMs who dared sell anything else to willing customers.