
Programming War Stories: Connectix - bangonkeyboard
https://aarongiles.com/programming/war-connectix/
======
garganzol
Virtual PC was a great piece of software back then in 2003-2006.

You just installed a Virtual PC app. After that, you could install and run
nearly any x86 OS right in that app. No hypervisor or SLAT tweaks were
required; it all worked literally on any host x86 CPU you can imagine.

Fast forward a few years and Virtual PC was killed off in favor of a new
Hyper-V technology from Microsoft. To be precise, Virtual PC was just rebadged
as Hyper-V, plus it took some amount of changes.

You immediately felt a substantial difference: instead of an app that always
works everywhere, you've got an OS component that should be installed with a
lot of ceremony and tricks. Hyper-V was also very picky on CPUs it could run
on: it wanted some obscure features (like SLAT) that only the newest and more
pricey CPUs could provide at that time. It also had miserable performance when
it came to graphics and mouse interactions. A big and disappointing departure
from a Virtual PC tiny app that could do it all on every CPU you had at hand.

~~~
bangonkeyboard
The Hyper-V transition for Virtual PC is loosely covered in the next chapter:
[https://aarongiles.com/programming/war-
microsoft/](https://aarongiles.com/programming/war-microsoft/)

How the standalone app originally worked: _" In order to begin taking over the
machine, we first had to gain access to kernel mode. To do this, we just
identified an unused interrupt vector in the OS’s interupt vector table, and
patched it to point to our own code—which lived in user mode. (Security
experts are rightly freaking out at reading this.)"_

~~~
mikehollinger
Thanks for the link. I worked on a processor simulator a while ago; it brought
back memories of getting things running... You can do some really funky things
when you implement enough of an MMU. When we showed a demo during one of our
executive updates, we showed them that we could run one of our hypervisors
inside the simulator and boot to an OS, which was impressive enough at the
time. However - through the entire demo, what we didn't mention was that the
simulator was actually _itself_ running inside an instance of the simulator,
and that the entire demo was really:

A Host laptop (Linux, little endian), running the simulator (of a different
processor ISA, big endian), where we'd launched yet another Linux, running the
simulator (of yet a different processor ISA), where we'd launched the
hypervisor, which was hosting a Linux guest OS which we could SSH into. :-)

At the end of the demo, we exited out of one of the shells, and then showed
them that the entire demo was running inside the sim, and quietly proved how
far we'd come.

Yes, it was slow, but - it was mathematically correct, and simulating a
processor for which the silicon hadn't yet been taped out.

I'm really proud of that team. :-)

------
Timothycquinn
I was an early adopter of Virtual PC on OSX. I have to say that it never
worked to a performance level of being useful even for business needs like
running basic business apps like Excel, Outlook, Visio, Ecco Pro and the like.

I abandoned the idea of VirtualPC once Microsoft bought connectix as they were
still the EvilCorp of the time.

I did not see any useful PC virtualization on OSX until Apple switched to
Intel and VMware jumped into the game.

~~~
scarface74
And that’s why I had the DOS Compatibility Card for the PowerMac in the pre OS
X days.

------
djsumdog
I never tried Connectix's PS emulator, but I do remember that era and
purchasing one of the weird Bleem CD keys for a product that took forever to
come out. Eventually ePSXe became the dominant emulator. I remember playing
and beating FF9 on it.

I'm really glad he worked for a company that said, "Go for it," and in doing
so, set a pretty important legal prescient.

It's not the first time a company has reversed engineered a BIOS. That's how
we got some of the first IBM PC Compatibles. Compaq did the same thing, except
they had two teams. One that reverse engineered a BIOS and wrote a spec, and
another that wrote the new BIOS, giving them a clean-room design they could
defend legally.

------
kalleboo
Virtual PC for PPC was a work of art. Some early version had _Voodoo1 /2
passthru_ which managed to eke out several frames per second in a game like
Counterstrike. Although the emulator was good enough to let me play the
network install of Starcraft at a LAN party on my souped-up PowerMac.

~~~
crazysim
Was there not a spawn version of Starcraft for Classic Mac OS?

~~~
kalleboo
Probably, but this was in an age where I only had 56K dialup and piracy meant
sitting in a queue in Hotline for ages. And I had no other Mac-using friends
to borrow from.

------
walrus01
Anyone else remember the Connectix Quickcam?

[https://www.google.com/search?client=ubuntu&channel=fs&q=con...](https://www.google.com/search?client=ubuntu&channel=fs&q=connectix+quickcam&ie=utf-8&oe=utf-8)

~~~
macbroadcast
...oh man i just had a déjà vu xD

[http://www.crynwr.com/qcpc/](http://www.crynwr.com/qcpc/)

------
yuhong
My favorite is how they managed to get Connectix Virtual from 1989 to support
the Macintosh IIci. Even [https://tidbits.com/1994/07/25/transition-to-
powerpc-ram-dou...](https://tidbits.com/1994/07/25/transition-to-powerpc-ram-
doubler-1-5/) mentions that "I want to thank the PowerPC software team in
particular for spending two hours with us in March thumbing through the source
code answering specific questions were stuck on at that crucial stage of the
project. "

------
scarface74
I bought two products from Connectix that made up for the sorry state of MacOS
at the time. RAM Doubler that helped work around how Mac allocated memory and
Speed Doubler, a better 68K emulator for PPC Macs.

~~~
kalleboo
Speed Doubler was fantastic on 68K Macs as well. It had a smarter disk cache
and added multithreading to the Finder for file copies and trash emptying long
before MacOS 8

------
VeejayRampay
Connectix Virtual Game Station was a GREAT piece of software.

I played tons of PSX games with it, it was simple and did a great job.

------
CaliforniaKarl
The Gaming Historian did a video on PS1 emulators, including Virtual Game
Station: [https://youtu.be/UGHul1PrXCE](https://youtu.be/UGHul1PrXCE)

