While the Unix operating systems Solaris and HP-UX are still in active development, they’re not particularly popular anymore and are mostly relegated to some enterprise and data center environments They did enjoy a peak of popularity in the 90s during the “wild west” era of windowed operating systems, though. This was a time when there were more than two mass-market operating systems commercially available, with many companies fighting for market share. This led to a number of efforts to get software written for one operating system to run on others, whether that was simply porting software directly or using some compatibility layer. Surprisingly enough it was possible in this era to run an entire instance of Mac System 7 within either of these two Unix operating systems, and this was an officially supported piece of Apple software.
The software was called the Macintosh Application Environment (MAE), and was an effort by Apple to bring Macintosh System 7 applications to various Unix-based operating systems, including Solaris and HP-UX. This was a time before Apple’s OS was Unix-compliant, and MAE provided a compatibility layer that translated Macintosh system calls and application programming interfaces (APIs) into the equivalent Unix calls, allowing Mac software to function within the Unix environments. [Lunduke] outlines a lot of the features of this in his post, including some of the details the “scaffolding” allowing the 68k processor to be emulated efficiently on the hardware of the time, the contents of the user manual, and even the memory management and layout.
What’s really jarring to anyone only familiar with Apple’s modern “walled garden” approach is that this is an Apple-supported compatibility layer for another system. At the time, though, they weren’t the technology giant they are today and had to play by a different set of rules to stay viable. Quite the opposite, in fact: they almost went out of business in the mid-90s, so having their software run on as many machines as possible would have been a perk at the time. While this era did have major issues with cross-platform compatibility, there was some software that attempted to solve these problems that are still in active development today.
Thanks to [Stephen] for the tip!
There was a similar product for emulating a PC called SoftPC for HP-UX emulating a 80286.
I have an old HP9000/433T with a 68040 running HP-UX 9.10. It still boots…
The SoftPC core also was used to power NTVDM on RISC versions of Windows NT (PPC, MIPS, Alpha etc). It initially started at 80286 level, too. On Windows NT 4 and up it got 80486 level compatibility, if memory serves.
It may sound limited, but an 80286 instruction set was good enough for most DOS and Windows applications.
On an 80286, Windows 3.x could run in Standard-Mode already, along with a functioning sound system, DDE, COM etc.
SoftPC also spun off into SoftWindows, which was bundled with Windows 3.1 at first.
The original release was available for M68k, too, if memory serves.
You have your timing a bit muddled.
NT 3.x and 4.x had its own built-in x86-16 emulator, AFAIK unrelated to SoftPC.
MS later bought Connectix VirtualPC and Hyper-V uses VirtualPC tools and formats.
Hi there! I was referring to this one here.
“Microsoft licensed SoftPC 3.0 to provide a full PC emulated experience on the RISC CPUs and for emulating IBM PC hardware on the i386, but running instructions inside a v86 virtual machine (A hardware feature of the 386 and higher CPUs). ”
https://gunkies.org/wiki/Windows_NT
I remember there also was ‘Wabi’, which ran the Windows 3.1x Enhanced Mode kernal on top of *nix.
It was available with some versions of Solaris, too, I think.
Not sure if it ever was bundled with a CPU emulation core, though.
Not quite.
WABI was essentially a proprietary WINE and could run _some_ Win16 apps _without any Windows code_.
https://en.wikipedia.org/wiki/Wabi_(software)
“Not quite.”
Hm? Why? Please explain.
WABI trapped the windows 16 bit API calls and handled them via SPARC Solaris code that made Solaris system calls. I ran WABI on Solaris 2.5 and 2.5.1 for a couple of years. It was good enough to run Word and Excel.
You could install WABI and run windows programs without ever sticking a windows installation disk in the machine. Sun provided a couple of SPARC Solaris applications that looked enough like Program Manager and File Manager to keep people happy. But the important part is that they trapped the calls and would run well-behaved applications in a 100% Microsoft-free manner. Important for Sun at the time, evidently. I heard stories about mailing them .doc files and having them ask if you could send .rtf or flat text instead. :-)
Had Sun been able do that for Win32, they’d probably still be here today.
“WABI was essentially a proprietary WINE and could run _some_ Win16 apps _without any Windows code_.”
Maybe there’s a misunderstanding?
Maybe there were two different versions.
One which didn’t require Windows system files and one that did?
An article/advertisement about “Wabi 1.1 for AIX” says:
“Wabi 1.1 for AIX is a technology licensed by IBM from SunSelect. It allows users to run off-the-shelf Wabi-certified Microsoft Windows applications on AIX/6000-based workstations, usually without MS-DOS or Microsoft Windows.”
Source: http://ps-2.kev009.com/rs6k-austin.ibm.com-1996/wwabissf.html
That’s interesting, because Windows 3.1was available by IBM, too, because of a license agreement with Microsoft.
Also, the screenshots show Program-Manager and the Windows Accessories.
How can they be there, if nothing original was being used? 🤷♂️
Then there’s also Caldera Wabi, for Linux..
https://everythinglinux.org/wabi/wabi_content.html
It seems to ask for Windows 3.1 files during installation.
Anyway, maybe that’s a different version of Wabi technology, not sure. Maybe there are further versions, too. To be honest, I don’t know for sure. 🙁
To be fair, documentation on the web could be better, also.
But given that the product wasn’t very mainstream, it’s understandable that it’s in the state it is.
“This was a time before Apple’s OS was Unix-compliant”
Let’s not forget that wonderful OS named A/UX (which was introduced in 1988).
I dream about shift mac os 7 to open source similar Blender Fundation. Whole system, compilers , design etc.
This will be great run this system on microcontrolers like esp or teensy
Did “Star Trek” ever get leaked from Apple? IIRC it was System 7 ported to a 486 PC.
There are many interesting articles about these things in old issues of Byte Magazine..
There are other ways to do this than SheepShaver, great as it is.
Users of modern macOS can use UTM, which can run Classic MacOS on both x86-64 and Arm64 Macs. I wrote about it here:
https://www.theregister.com/2023/09/29/utm_apple_hypervisor_foss_fest/
Non-macOS users can run Classic under QEMU with a bit more work.
https://wiki.qemu.org/Documentation/GuestOperatingSystems/MacOS9
ARDI Executor is FOSS now:
https://en.wikipedia.org/wiki/Executor_(software)
And there’s the Advance Mac Substitute:
https://www.v68k.org/advanced-mac-substitute/
And of course there is the amazing Infinite Mac:
https://infinitemac.org/
I’d played with MAE under Solaris 7 under QEMU before, but back in March I got it up and running on a genuine HP Apollo 9000 735 PA-RISC Workstation running HP-UX 10.20 I had finished repairing shortly before.
https://pappp.net/?p=59114
There is a little bit of “license shenanigans” required to get MAE up and running these days, but copies of the software are pretty easy to find, and it just takes a little close reading to figure out some known-good keys.
It’s also not terribly performant, even on a machine easily 4-5x as powerful as 68k hardware that could comfortably run System7. But it sure is neat. I have a general love for machines with bonus environments, so it makes a nice compliment to the PowerMac 6100/66 DOS (with a whole-ass 486 system on a nubus card) and Mac LC with a IIe PDS card that it usually shares a shelf with.
What would be a neat trick is using a PCIe to PCI adapter to run one of the older OrangePC cards in a post-Intel Macintosh.
The last models from OrangePC were mainly a CPU on a PCI card, with other functions of the PC emulated. Prior to that change, they were a complete PC on a card with its own RAM, sound, etc. IIRC OrangePC was making them back in the NuBus years.
Of course Apple’s switch to Intel PCs soon led to the demise of OrangePC. They couldn’t stay in business with other PCI cards, peripherals, and accessories. They *could* have made some coin for a while if they’d made a USB 2.0 card with drivers for Mac OS 8.1 through 9.22 but like every other company making stuff for Mac at the time – flat out refused to do it.
Why hasn’t someone looking for a retrocomputing project taken on USB 2.0 support for the Classic Mac OS? There was a guy who very likely could have done it, the author of USB Overdrive, but even he was completely uninterested. Everyone with an old PowerMac that can’t run OS X has been stuck with no faster than USB 1.1.
What is with the apathy towards doing stuff Apple failed to provide? Apple says no and everyone says “Yes, master. We shall not.”?
Sun co-founder John Gilmore told me at dinner on Central Avenue in Albuquerque that ~”You want the laziest software implementers for they will get the job done with the least amount of work.”
That is why Forth used to boot Solaris?
Apple Open System Boot Architecture still used?