Will RPi4 run OS9 in emulation

Trash80toHP_Mini

NIGHT STALKER
Finally getting started on upgrading BabyPB, my beloved first laptop, a PowerBook 100 snagged NIB in the day.

If RPi4/CM4 won't run OS9, will it run another Rainbow era Mac OS? Ubuntu distro for Pi is my backup option. Such harks back to HP_Mini/Ubuntu, uberfave, if not the greatest TechToy of all time. Compute Module 4 I/O board is a perfect fit for BabyPB's AssFlap. :D

81Q2ma7EnJL._AC_SL1500_.jpg
Previous re-incarnation has a perfectly fitting Duo 2300c Panel, it's a perfect fit running in 640x400/16bit mode. This 9 inch panel looks like it will show just a smidge of black edge all around, but appears to be a perfect fit.
 

NJRoadfan

Well-known member
It should. How well, I don't know as I haven't attempted to use QEMU to emulate a PPC machine on a Pi4. QEMU emulating a Quadra 800 running System 7.1 works fine however.
 

Cory5412

Daring Pioneer of the Future
Staff member
For comparison, an Intel i5-2300 and i5-4570 both bench about as fast as a G3@300 in integer performance, and about half that in floating point performance.

It's overall very stable and for most baseline functions, works well.

If there's been an ARM native build of QEMU-PPC (or whatever tool), then this should work fine, although the Pi CPUs are generally much slower than regular desktop and even laptop systems.

If you want something "for" this work and haven't bought something yet, maybe consider a mini PC based on the Intel N100, which itself benches about the same as an i5-7500 and should be a meaningful boost. (Perhaps ~2x total boost? I don't remember if I've specifically benched QEMU on the 2300 vs the 4570 but a 7500 should be about 2x as fast in total as those, which, if you have some OS 9 work that relies on floating point could actually be "meaningful".)
 

Trash80toHP_Mini

NIGHT STALKER
@demik are you saying OS9 should work fine?

Got CM4Lite 8GB and standard I/O board for Christmas. That's in a custom case, wanted baseline I/O reference board for its PCIe Slot. This one has USB3 in place of PCIe as mass storage interface, so much lower profile for stuffing the PB100.

Ability to easily swap the CM 4 between I/O boards in different hacks was the selling point that has had me lusting after one since first release.

Will NVMe be slower across USB3.2 than PCIe?
 

NJRoadfan

Well-known member
NVMe will be faster then USB. Also helps that that NVMe storage devices are actually designed to boot and run computers.

I am disappointed in the I/O selection. No onboard LocalTalk? :p
 

Trash80toHP_Mini

NIGHT STALKER
:ROFLMAO: How big would the performance hit be when putting NVMe on an adapter for USB3 port?

Found an IDC PCIe 1x extension cable. Should be easy enough to desolder the connector and wire up the extension.

61qsUgXlpzL._AC_SL1500_.jpg

That would allow a zero height RA connection moving the adapter straight forward into the HDD bay. If a bit of cable length difference won't be problematic it could be neat, If not, a knot of equal length strands would still be lower than the slot connector. Could leave the slot alone and solder connections to the soldertails on the underside now that I think of it.

Can't think of a real need for USB3 sitting on the PCIe interface. Tangent's actually on topic. Thinking I'll need the fastest mass storage possible for running Mac OS in emulation? Definitely for the Ubuntu option.


edit: internal USB requires soldertail connection under the board anyway, so slot connector removal may be unnecessary.
 
Last edited:

NJRoadfan

Well-known member
Just use a MicroSD card at that point. The Pi4 doesn't have an actual M.2 slot on it making this difficult. Weirdly enough, the one PCIe riser/splitter I have uses a cable with USB 3.0 type-A plugs (wire protocol is still PCIe) between the x1 piece that goes into the board and the riser itself.
 

Trash80toHP_Mini

NIGHT STALKER
I'm not actually using Pi4, but the topic is on target. I'm using the Compute Module 4 with the I/O reference board similar to the one at top of page. CM4 is the CPU WiFi section of RPi4b. The I/O board is pretty much a splayed out array of the 4b ports, lined up neatly in a row.

It's the perfect setup for installing in an old sub-notebook like my PowerBoook 100. ;)


edit: I got the CM4Lite/8GB version. Without EMMC on board, the SD Card Slot is active for convenience and mass storage on the NVMe adapter in the PCIe slot for speed.
 

Snial

Well-known member
Again, I'd be surprised if a Pi4, running at 1.5GHz can emulate a PPC Mac quickly enough to run Mac OS 9, because, basically, the PPC CPU emulator would end up running on a single core, though hardware emulation could be moved to different cores. The ARM Cortex-A72 is a 3-way superscalar CPU, so at 1500MHz it can handle up to 4500MIPs. Compare with a PowerPC 601 (which can run Mac OS 9). That's at best a 3-way superscalar issue CPU running at a minimum of 60MHz. So, that's 180MIPs. Therefore, an emulator running on a Pi4 at 1.5GHz must execute a PPC instruction in 25 ARM clock cycles. Is this likely? I would say it would be a stretch. A dynamic emulator could achieve that, but probably not DingusPPC (@mihai , @joevt ?).

But a 60MHz PPC 601 would barely be able to run Mac OS 9. A more credible Mac would be a 200MHz PowerPC 603ev. A 603ev can issue up to 2 instructions per clock cycle, so that's 400MIPs. This means a stock PI4 would have to emulate each instruction in 11.25 cycles. Again, that'd be challenge. Even a PI4 running at 2.5GHz (7500MIPs) would still need to emulate at 18.75 cycles per PPC instruction. Challenging.

I know that in reality a PPC 601 can't achieve the ideal of 3 instructions per clock cycle, but neither than an ARM Cortex-A72, so I figure it's still a like-for-like comparison. Ultimately, the speed of a single core is the bottleneck.
 

Trash80toHP_Mini

NIGHT STALKER
Oh well. Don't really need OS9 for this hack to be very, very cool I'd think. are 7.5 or 8 might be a reasonable target for emulation on a Pi4 class machine?

BTW, printed out the 192mm x 120mm active area of the 2K panel linked in the OP. It's all but dead on width wise. A very, very thin slice of top and bottom frame showing within the bezel opening.
 

Trash80toHP_Mini

NIGHT STALKER
Cool beans. Attempting to achieve total n00b status when it comes to finally start running Mac Emulators. :oops:

Micro SD card arrived today and I got a Win10 machine back up and running to get the Ubuntu Image set up for the CM4. Total n00b when it comes to all things Pi as well. Played with an OrangePi a bit years back, but not to the point of ever getting it up and running. <sigh>

Curious about emulation, does it act like a video card to give full, native resolution of a big display or just run in a window at normal Mac resolutions?

Very excited to get the equivalent of (or much better than?) my many years old HP_Mini NetBook up and running. 1030NR has 2GB max RAM running under my Ubuntu install and a 1.66GHz single core Atom N450. It does have an SSD, but NVMe should be a lot faster I'd think. It shipped with a horrid XP NetBook Remix with an artificial 1GB memory ceiling. :rolleyes:

8GB should be a lot better, how does the Pi4 CPU compare to that ole Pineview clunker?


edit: when the GRLF gifted me with these stocking stuffers I only had an Ubuntu machine up and running. I'd heard that given a mistake that machine might achieve FUBAR mode. So the SD card she gave me went right into the Nikon D750 body I finally had delivered to her place. My late pops got me my first camera, a Leica M3 at H.S. graduation and now he's bequeathed me my last as well.
 
Last edited:

Snial

Well-known member
<snip> 8GB should be a lot better, how does the Pi4 CPU compare to that ole Pineview clunker?<snip>
You actually provided a link to an Intel Atom page. The original PineBook is a 4-core, ARM Cortex-A53-based laptop. It's ARMv8, so it's 64-bit. Each core has a limited dual-issue, in-order microarchitecture. This makes it about as fast as a Pi-3 (which also was Quad core A53-based at 1.2GHz).


-cheers from Julz
 

DarthNvader

Well-known member
You know if you use a machine capable of PCI PassThrough, you can emulate a Mac, but use a real PCI or PCI Express graphics card.

I had a Ryzen 7 1700 running Debian on a B350-F Gaming Mainboard and a PCI-E to PCI breakout box with a Rage128 card running OS X Tiger in Qemu-system-PPC.

I could play OpenGL games on it!

My 13" M2 MacBook Pro is faster at emulating the PPC CPU, but Thunderbolt to PCI doesn't work for Passthrough on Linux for this MacBook M2, they have not got TB woking yet and some say there is a HW limit to the TB that Apple used that won't allow Passthrough of PCI devices connect to TB.

I don't know if that HW limit is true, whenever we get TB working on Linux for the M2 MacBook Pro's I'll look into it.

The main limiting factor after that is Openbios does not support PCI card ROM's, so you end up having to load the FCode ROM's for PCI cards from Openbios's 'Open Firmware' command line on each boot, and not all the words needed for these video card ROM's are implemented in Openbios.

The Rage128 works because we hacked in support, but I don't think it ever got merged into Openbios, so it takes some patches.

Now SLOF has a more complete dictionary, but it can't boot the Mac OS, lacks an XCOFF loader or HFS+ files systems support.

I did get a PCI-E Geforce 6600 working with Passthrough on Qemu-system-ppc64 on the IBM PSeries target.

There is no reason the GF6600 or GF7800 won't work, it's just Openbios still lacks the words in the dictionary to execute the FCode ROM's.

I also passed through a USB and Firewire card to the emulated Mac OS and got my FW iSight working and a FW HD, something was not quite right with the USB, but any device connected to the host can just use libusb passthrough anyways.
 
Last edited:

Trash80toHP_Mini

NIGHT STALKER
Doesn't sound at all like my thing. I haven't tried my hand at any Mac emulation on anything as yet, got too many of the real deal, the stuffings-n-trimmings tucked away or on display in the apartment as it is. ;)

TLDR:
This is a reboot of a two decades old project aimed at lavishing unending love upon my very first laptop, a brand spankin' new, remaindered PowerBook 100 I snagged for under a grand in the day. Had already started on it back when the craze here and over at fritter was hacking old laptops into digital picture frames two decades ago.

So I started to swim against that tide. Wanted to turn BabyPB into a slideshow playing shelf Queen on the AppleDisplayUnit in a place of honor. Managed to install a 640x480 2300c display in the lid. Sounds like a bad proposition, but a 2300c board running it in 16bit at 640x400 is an absolutely perfect bezel fit for the PB100!

Needless to say, procrastination set in until I was blown away at first release of the CM4 and that beautiful I/O board a few years back. Worked it all out with a perfect fit panel I may need to find again, but the 2K one I've tagged this time around might just do.

Besides, digital picture frames are now ubiquitous now and at insanely low price points. So it goes . . .

/TLDR

So anything a Pi4 can run in emulation, all the way back to the 6.0.8 install on BabyPB when unboxed will do, I just asked up front if my decades old OS of choice for all my Graphics/CAD/CAM applications and equipment might be a possibility. OS9 is not a necessity!:D

So the next question is: what OS is the best fit for emulation playtime with apps from the past and running a slideshow in emulation on GraphicConverter with this rig?


Having the available Ubuntu install up and running on the greatest tech toy of all time that's not nailed down in a walnut board diorama display setup on a shelf will be very, very cool. 😎
 
Last edited:

Chopsticks

Well-known member
you might find running mac os 7.5.5 or 8.1 using Qemu m68k (or even perhaps basiliskII) a better fit for a Pi4. 68k emulation runs pretty good on the Pi hardware. ive never really considered running PPC emulation viable on these ARM boards due to the single core performance.
thought apparently at least someone has posted instructions for using sheepshaver a Pi back in 2021.


could be fun to test that out and see how well it performs though again id still recommend 68k for pi hardware
 

Trash80toHP_Mini

NIGHT STALKER
Thanks! That sounds like a very interesting experiment, might give it a whirl some day, but the video appears to be lost to time.

I've been leaning toward 7.5.5 or even 7.1 Which puts me back down Quadra 630 and IIx/Rocket memory lanes respectively. 6.0.8 is a real temptation as that's what shipped on BabyPB. Getting SoftPC and MS Works for DOS running under 6.0.8 as I did in that day will be a real kick in the pants.

Haven't even bothered to set that up as yet on the one recapped/cherry PB100 that I lucked into when a comrade here needed some money fast, but that one is for preservation.

PowerBook 100/Compute Module4 hacking is for the blast, in color no less! 😎
 
Last edited:
Top