However, many people at the time didn’t realize was that Microsoft had actually sold a PC hardware product, well before it launched Windows, and even before it released MS-DOS. Then Microsoft CEO Steve Ballmer actually mentioned this fact at the first Surface press event in June 2012.
It was called the Z80 SoftCard, and it was first released 43 years ago this month, on April 2, 1980. In an even more ironic twist, the product was made as an add-in card for the Apple II PC.
I’ve always been fascinated by expansion cards that contain entire computers to make it possible to run one architecture inside another – Apple had a DOS card, for instance, and Sun sold the SunPCi line of cards that could run x86 operating systems on SPARC systems, and there were countless more.
They’re not as needed today, and you’ll have a hard time finding, for instance, an ARM PCI-e card to stick in your PC.
MSFT actually made some good hardware over the years, I remember a MSFT split keyboard I had in the 90s that was great for office work, you could type for hours without a bit of cramping, they also IIRC had a really nice trackball.
I have an Acorn RiscPC 600. It has an ARMv3 ARM610 and a Texas Instruments 486 second processor. You can run Windows 95 in a window. Just.
An Arm accelerator in an x86 cloud VM could be really interesting for software testing. Currently you have to move the binaries to another VM to run tests, or you run them in QEMU which is slow.
To quote the meme, “why not both?”
thejpster,
I understand the power of virtualization for things like automated regression testing, though this is rarely performance sensitive. Are you really finding yourself running ARM software on x86 that often? Can I ask why you wouldn’t you just run ARM binaries on actual arm hardware (be in on your desk or “in the cloud”)? I’m just curious, obviously our needs are different, but beyond using tool chains to cross compile, I haven’t really found the need to run my own software across architectures even though emulation makes this possible. Proprietary software that I cannot recompile is a different matter, but that’s a different topic.
You’re making it harder for no reason. I mean, you can just spin an ARM instance if you’re already in the cloud.
You could also write a program (in 6502 and z80 asm) that would run concurrently on both cpus. That was good fun and my first experience with multiprocessing –heterogeneous to boot–!
Later I added a 6809 card to run OS9. That one didn’t get on the multiprocessing bandwagon though.
I still have one softcard, Will get around to give it a spin, hope it still works…
I thought the Softcard couldn’t run concurrently – it was basically just a Z80 CPU and just enough glue logic to take over the bus.
The PCPI Applicard, however, absolutely could run concurrently, and had its own RAM.