You are not logged in.

#1 2015-06-27 16:04:07

iMic
Administrator
From: Adelaide, Australia
Registered: 2014-05-12
Posts: 886
Website

New Project Aims to Virtualise OS 9.2.2 in QEMU

http://qemu-project.org/Outreachy_2015_ … _9_in_QEMU

It looks like eventually SheepShaver won't be the only way to run OS 9 on a newer computer. A new development project aims to finally bring support for the Classic Mac OS into the popular QEMU emulator, complete with MMU support for running OS 9.2.2 - something that SheepShaver can't do.

Some promising news is the announcement that student developer Cormac O'Brien has taken on development of the project, with assistance from QEMU and PowerPC expert Alexander Graf and OpenBIOS maintainer Mark Cave-Ayland. The project has been entered into the Google Summer of Code 2015.

https://www.google-melange.com/gsoc/pro … 2298738688


Cormac has a website for the project at http://c-obrien.org/qemu-os9/. The E-maculation forums also have an active discussion thread with running updates that can be found here.


QEMU has a much more complete PowerPC emulation engine that delivers decent speed and stability. It's also much more complete and actively maintained compared to emulators like SheepShaver. Being able to run Mac OS 9.2.2 on it would certainly be a welcome addition.


Resident Professor of Alternative Methodology
Faculty of Macintosh Restorations & Modifications - "It works, let's fix it!"

Offline

#2 2015-06-27 17:07:01

techknight
Member
Registered: 2014-05-22
Posts: 449

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

One can dream: Desktop integration of OS9 into newer Mac OS (like the olden days).

Offline

#3 2015-06-27 17:52:07

ClassicHasClass
Member
From: Electron Alley
Registered: 2014-05-26
Posts: 1,099
Website

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

I'm hoping for Classic, but I suspect we'll get another Sheepshaver, which is really code for Rhapsody Blue Box. That won't be very helpful to those of us who actually use Classic apps.

Offline

#4 2015-06-27 18:33:01

iMic
Administrator
From: Adelaide, Australia
Registered: 2014-05-12
Posts: 886
Website

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

From what I understand the aim is to produce another self-contained VM like SheepShaver, but with significantly improved underpinnings. It won't function like the old Classic environment did (with OS 9/OS X applications side-by-side).

Almost everything I do with Mac OS 9 these days is done inside SheepShaver because it's easier than having a physical machine around, especially since SheepShaver can transfer files back and forth between the guest and host by mounting the host Unix drive. If they can pull off that level of functionality with better performance and stability, it'll already be a step up.


Resident Professor of Alternative Methodology
Faculty of Macintosh Restorations & Modifications - "It works, let's fix it!"

Offline

#5 2015-06-27 18:37:32

bbraun
Member
Registered: 2014-05-29
Posts: 1,064
Website

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

I've got mixed feelings on it.  On the one hand, it would be great to have a fully functional emulator.  On the other hand, I'd also like something along the lines of graybox.  I think the latter would be more generally useful.
Executor being open source is conceptually nice, but I've played with the source a bit and it's kind of like trying to live in someone else's house where they've lived for 30yrs.

Every once in a while I get the urge to work on a portable graybox-like system that isn't backed by 32bit Carbon.

Offline

#6 2015-06-27 23:01:19

ClassicHasClass
Member
From: Electron Alley
Registered: 2014-05-26
Posts: 1,099
Website

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

Yeah, graybox was really neat, but the approach really only lends itself to a limited subset of apps.

Classic on Jaguar was really the acme for running those sorts of apps outside of OS 9, though Classic on Tiger serves me well for QuarkXPress and certain other software packages I've been too lazy to rebuy, plus those useful little tools that were one-offs no one will ever update again.

Offline

#7 2015-08-11 18:28:37

adespoton
Member
Registered: 2015-08-11
Posts: 1

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

This project is designed to add proper handling for OS 9 calls to the qemu and OpenBIOS projects.  The result of this is that (once the work is complete) if you run qemu in full system emulation mode, you can, for example, run OS X 10.4.11 complete with its Classic environment  using qemu-system-ppc.

What makes things more interesting is that because of how qemu is designed, you could also write a handler for OS X 10 (Intel) to run the PPC Classic environment in emulation - which would then run OS 9.2.2 inside it smile  This would be a follow-on project once Cormac et al have a stable OS 9 emulation contributed back to the trunk lines of qemu and OpenBIOS.  Maybe a Google SoC project for next year?

As of now, you can get as far as attaching a disk image of the OS 9 install CD, and booting that up past the point where the extensions are loaded and the "Mac OS 9" welcome screen is displayed.  After that, it ends up at a System Error due to some calls still not being handled correctly.

But this means that if you run, say, 10.3 under qemu and attempt to install Classic, it will actually install, and attempt to boot now smile  It will just crash during the boot process sad

It's possible that this project won't finish by the end of this year's SoC; if that's the case, we'll see where it ends up going from here.  A number of us have been pushing to make this a reality since 2010, and bit by bit, it's getting there.


Back to the "Classic Environment" possibility, this requires 3 things: 1) Cormac's qemu-os9 work to be complete, 2) someone to tweak and set up application-level qemu to work with Classic.app, and 3) since some of the code enabling Classic to work was stripped out of OS X, a few pieces may need to be written from scratch.  We won't be able to know exactly what until we've got OS 9.2.2 running in qemu though.

Offline

#8 2015-08-12 01:01:49

ClassicHasClass
Member
From: Electron Alley
Registered: 2014-05-26
Posts: 1,099
Website

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

Well, that does sound promising, at least.

Offline

#9 2015-11-15 15:57:37

that-ben
Member
Registered: 2015-11-15
Posts: 2

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

So... 3 months later, is this wonderful project ALREADY abandoned? tongue

Offline

#10 2015-11-15 16:56:04

iMic
Administrator
From: Adelaide, Australia
Registered: 2014-05-12
Posts: 886
Website

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

There's been a successful boot of OS 9.2 on QEMU over at the E-Maculation forums.

http://www.emaculation.com/forum/viewto … &start=250

No extensions or control panels at this point just yet.

The discussion thread there is still active and seems to be updated daily, so it's the first place I'd check for project updates.


Resident Professor of Alternative Methodology
Faculty of Macintosh Restorations & Modifications - "It works, let's fix it!"

Offline

#11 2015-11-15 17:50:03

that-ben
Member
Registered: 2015-11-15
Posts: 2

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

O I C ! Wow... I'm late on the topic! I hope to be able to run Mac OS 9.2.2 on a Raspberry Pi 2 tongue That would be awesome smile

Offline

#12 2015-12-17 01:31:03

iMic
Administrator
From: Adelaide, Australia
Registered: 2014-05-12
Posts: 886
Website

Re: New Project Aims to Virtualise OS 9.2.2 in QEMU

There are currently calls for assistance with the project. Anyone with a knowledge of MacsBug or even programming for the Mac OS may want to get involved. The current issue to be addressed appears to be related to Open Transport.

http://macos9lives.com/smforum/index.php?topic=2941.0

Although some see no value in emulation, I tend to disagree. The hardware that was built to run these systems is starting to show its age, and many older machines are starting to fail. Even some of the newer machines that would be targets for future Mac OS 9 developments, such as the Power Mac G5, are so notoriously unreliable that it makes little sense to invest significant resources in porting the system and its extensions to a machine that already has a severely limited lifespan. QEMU is actively developed and would serve as a solid foundation for a true, complete Mac OS 9.2 emulation. (SheepShaver does not and likely never will emulate a MMU.)


gtxaspec wrote:

Hello All!

My name is Alfonso, I have been working with the QEMU project as of late to have MacOS 9.2.2 boot successfully on the emulator.  Most of research and progress has been on the emaculation forums, and on the QEMU-Devel mailing list.  In my research to debug and provide feedback to the developers with the intended goal of QEMU successfully emulating a a real Macintosh from a hardware standpoint, I have found this forum and its users to be a trove of information.

I seek assistance for this project, and invite the anyone here to look at what we have accomplished and provide feedback and input on what we would like to accomplish. 

As it currently stands, QEMU successfully boots MacOS 9.2.1 and 9.2.2 in a limited fashion.  There is no sound, or network support currently on either version.  You are able to boot a full MacOS 9.2.1 system with Open Transport disabled. 

MacOS 9.2.2 functions with a patched System Suitcase (wart resource removed) and Open Transport ASLM libraries removed from the extensions folder. 

What we need help with:

Open Transport seems to crash the system at boot.  If Open Transport ASLM is present in the extensions folder, system crashes.  If the System file has the resource "wart" present, crash, because this references Open Transport calls.  My theory now is that Open Transport's serial subsystem is causing the crashes.  If you are able to debug with macsbug or QEMU, please help!  big_smile

I have been compiling and hosting disk images with my progress so others may debug and provide feedback.  It’s also pretty cool to actually see MacOS 9.2.2 boot to the desktop on your Windows, Mac, or Linux computer and run some programs!

See this thread on the QEMU-Devel mailing list for the in-depth play by play from the developers of MacOS support in QEMU:

https://lists.nongnu.org/archive/html/q … 02688.html

Check progress over at emaculation QEMU forum too for lots of detailed into on the years of trying to make this work. ( not sure if OK to post direct link to other forum so I will omit for now. )

Huge thanks to Cormac O'Brien and Mark Cave-Ayland for the heavy work programming OpenBIOS and QEMU.  Mark has been active lately assisting us with debugging and he is a contributor to both the OpenBIOS and QEMU projects.

regards,
alfonso

gtxaspec wrote:

Extra Goodies:

QEMU from Mark's repo ( built on osx 10.11 )
http://bebop.gtxent.com/qemu_mark_latest.tar.gz

Resedit, Stuffit, Toast, Disk Copy, utilities in an ISO to mount within QEMU:
http://bebop.gtxent.com/qemu_os9_utilities.iso.zip

MacOS 9.2.2 basic bootable image:
http://bebop.gtxent.com/os922_uni.iso.zip

MacOS 9.2.1 basic bootable image:
http://bebop.gtxent.com/os92_test.iso.zip

MacOS 9.2.1 basic bootable image with macsbug:
http://bebop.gtxent.com/os92_test_macsbug.iso.zip

example boot args:

##boot off CD with install iso and utility iso 
./qemu-system-ppc -bios ~/MacOS/qemu_master/openbios-qemu.elf \
 -boot d -drive file=~/MacOS/OS\ Images/os922_uni.iso,index=0,media=cdrom  \
 -drive file=~/MacOS/QEMU\ HD\ Images/test.raw,format=raw,index=1,media=disk \
 -drive file=~/MacOS/OS\ Images/macos-922-uni.iso,index=2,media=cdrom  \
 -M mac99 -m 256 -prom-env 'auto-boot?=true' -g 1024x768x32 -cpu G3 -net none

Also,

Here is a zip containing qemu-ppc, and a 2gb disk image file with macos 9.2.1 stock (no system modifications) installed. The system folder was modified to allow it to boot from an unlocked HFS volume. This image has lots of extensions and control panels included and enabled. Once you download qemu_easy.zip, extract it, and run qemu_os9.command (this is just a batch file with argumentsx osx only.  you can use the test.raw with other platforms as outlined above.)

qemu will now load and boot from the disk image to OS9 desktop. The disk image included here is read/write enabled. I have only tried this on OS10.11, your success may vary. MacsBug is included in the root directory, but is not enabled.

http://bebop.gtxent.com/qemu_easy.zip

gtxaspec wrote:

Here is a bootable installation of MacOS 9.2.2 with the latest QEMU compiled from QEMU Devel git repo, with a disk image of installed MacOS 9.2.2 extracted from NetBoot9.dmg. Extract contents, then simply run qemu_os9.command to enjoy.

Booting was made possible by patching the System Suitcase to remove some Open Transport code:

Removed entire resource "wart" from the System Suitcase,
which upon inspection contained references to Open Transport libraries, without this
resource removed, booting MacOS was
impossible even with all Open Transport extensions and libraries removed.

Some Control Panels and Extensions still needed to be removed to fully boot to the Finder:

Control Panels Removed:

Trackpad [ confirmed crash ]

Extensions Removed:

QuickDraw 3D Rave [ confirmed crash ]
Open Transport ASLM [ confirmed crash ]
Quicktime Extensions * firewire enablers [ confirmed crash ]
ATI & NVIDIA Video Drivers [ result in black screen in QEMU ]
Multiprocessing Folder [QEMU hard crash]
Apple Audio Extension [QEMU hard crash]
Multiple Users Extension [ crashes finder ]

This disk image is a full MacOS 9.2.2 installation, with lots of extensions and control panels. Virtual Memory is enabled and seems to work. Various utilities included. Your milage may vary.

Remember, the System Suitcase in this image has been modified. Replacing the Suitcase with a different version may result in a crash at boot. You may attempt modification to your own System Suitcase file, use a resource editor like ResEdit or Resorcerer, and just remove the entire "wart" resource. Save, and boot. Results may vary.

I will complete more research based on Mark's advice and report back with results. While this is not the intended goal of my research ( I hope QEMU to boot a stock OS9 installation with nothing removed or patched ), it is another nice proof of concept that MacOS does have much potential to work with QEMU, and validates the hard work that everyone involved in both the OpenBIOS and QEMU projects have put into making this all possible.

http://bebop.gtxent.com/qemu_easy_02.tar.gz
[extract test.raw disk image from here and you can use on any platform, Windows/Linux/OSX]

regards,
alfonso


Resident Professor of Alternative Methodology
Faculty of Macintosh Restorations & Modifications - "It works, let's fix it!"

Offline

Board footer

About ThinkClassic

ThinkClassic specialises in the maintenance, repair, restoration and modification of Vintage Apple and Macintosh computers. Ask questions and find answers about classic Apple desktops, laptops, accessories and peripherals.