Raymond Chen, a distinguished developer at Microsoft, recently offered a unique perspective on the company’s inaugural foray into hardware, which dates back to 1980. This venture materialized with the launch of the Z-80 SoftCard, designed specifically for users of the Apple II. The SoftCard aimed to bridge the gap between Apple’s popular MOS Technology 6502-powered computer and the extensive library of CP/M software, a critical resource during that era. However, the implementation of this expansion card was far from straightforward, as it required intricate coding and hardware adaptations, as Chen elaborated in his blog, The Old New Thing.
What was the Z-80 SoftCard?
The Z-80 SoftCard was crafted to meet the needs of Apple II users eager to tap into the Digital Research CP/M operating system’s software offerings. This marked Microsoft’s first hardware product, directly addressing the demand for cross-compatibility. Yet, the development process was complex; it involved more than merely attaching a CP/M-compatible processor to an Apple II expansion card. The success of the Z-80 SoftCard upon its release in 1980 was somewhat unexpected, given the technical challenges involved.
Chen’s insight into Microsoft’s first hardware product
In his reflections, Chen highlighted the challenges of integrating the Z80 with the Apple II’s 6502 processor. A significant hurdle was that the 6502 could not be simply disabled while the Z80 executed its CP/M code. It remained essential for managing input/output operations and timing. To navigate these complexities, the development team employed various innovative techniques. For instance, the SoftCard utilized a simulated Direct Memory Access (DMA) operation to pause the 6502 when necessary and monitored the Z80’s refresh line to prevent conflicts and ensure smooth operation. This meticulous planning for inter-processor communication was crucial, particularly in addressing potential memory mapping conflicts. Indeed, memory remapping became a cornerstone of the SoftCard’s design, implemented through dedicated address-translation circuitry to avert stack and buffer clashes between the two architectures.
Reflecting on Microsoft’s early achievements in hardware, one can trace a timeline of its significant hardware projects:
Microsoft’s major hardware launch timeline:
- 1980: Z-80 SoftCard
- 1983: Microsoft Mouse
- 1990s: Further Windows peripherals
- 2001: Xbox
- 2006: Zune
- 2010: Windows Mobile phones
- 2012: Surface
- 2016: HoloLens
It’s noteworthy that Microsoft officially redefined itself as a ‘software and devices’ company in 2013, although it had already established a presence in the console market by that time. This strategic refocus appears to have catalyzed the development of the extensive line of Surface products that emerged shortly thereafter.