Storied Windows developer Raymond Chen has shared some insight only he could, into the development of Microsoft’s first hardware product, circa 1980. Around 45 years ago, Microsoft released its Z-80 SoftCard product for Apple II users. Its purpose was to give users of Apple's popular MOS Technology 6502-powered computer access to the CP/M software library, which was important during this era. However, to work its magic, Microsoft’s expansion card was fitted with a Zilog Z80, plus some tandem-processor coding gymnastics, as now revealed by Chen in his The Old New Thing blog.
What was the Z-80 SoftCard?
The Microsoft Z-80 SoftCard targeted Apple II users who wanted access to the Digital Research CP/M operating system's software library on their otherwise quite capable microcomputers. So, Microsoft’s first hardware product directly addressed this cross-compatibility desire/need. But it wasn’t as simple as slapping a CP/M compatible processor on an Apple II expansion card and saying, ‘You got it.’
Microsoft didn’t actually formally identify itself as a ‘software and devices’ firm until 2013, under the stewardship of current CEO Satya Nadella. So it is a little surprising to read about how big a success the Z-80 SoftCard was, as soon as it launched in 1980.
Contemporary reports on the success of this CP/M software enabler describe it as a breakthrough and suggest Microsoft was inundated with orders from launch. This hardware was actually Microsoft’s largest revenue maker in its launch year, with sales continuing for several years subsequently. Sold at $350 in 1980, we reckon that gives us an inflation-adjusted price of approximately $1,350 in 2025.
Chen’s insight into Microsoft’s first hardware product
Microsoft’s elite-tier Windows developer, Chen, explains that the Apple II-hosted Z-80 SoftCard required some special code wrangling to play nicely with the host’s 6502.
One of the biggest problems getting these two processors to play nicely with each other was due to the fact that the 6502 couldn’t simply be disabled while the (Intel 8080-compatible) Z80 worked its CP/M code magic. It was still required to handle I/O, timing, and more.
Chen says that various ‘tricks’ were used to get past hardware hurdles. The SoftCard employed a simulated DMA operation to pause the 6502 and monitored the Z80 refresh line when it wasn’t accessing memory, so the 6502 didn’t fall asleep or conflict with it. Thus, inter-processor communication planning was essential, as was being careful of potential memory mapping conflicts. In fact, memory remapping was such an essential part of SoftCard’s functionality that it was implemented in dedicated address-translation circuitry to prevent stack and buffer clashes between the architectures.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter Get Tom's Hardware's best news and in-depth reviews, straight to your inbox. Contact me with news and offers from other Future brands Receive email from us on behalf of our trusted partners or sponsors
... continue reading