VOGONS


DingusPPC - Mac Emulator In Progress

Topic actions

First post, by kataetheweirdo

User metadata
Rank Newbie
Rank
Newbie

So, me, maximumspatium, and a few other people are currently working on a PowerPC Mac emulator meant to accurately emulate the hardware.

As of now, this emulator is in early development. It can play the boot-up jingle, but crashes somewhere before reaching the blinking floppy disk screen due to unimplemented CUDA commands (i.e. getting and setting the 6805 address) and interrupts not being fully implemented.

We're also working on implementing a more efficient interpreter.

This emulator also only supports recognizing Old World ROMs, so iMac, iBook, and other New World ROM Macs are not yet supported.

You can see the progress being made over here.

Reply 2 of 25, by kataetheweirdo

User metadata
Rank Newbie
Rank
Newbie

Sheepshaver is not bad, but it definitely uses a lot of hacks to work and even directly hijacks Toolbox calls. Basilisk II works in much of the same way. The aim of DingusPPC is to partially avoid this.

Reply 5 of 25, by Bruninho

User metadata
Rank Oldbie
Rank
Oldbie

a fork of qemu called qemu screamer is the best imho. emulates ppc with working audio.

"Design isn't just what it looks like and feels like. Design is how it works."
JOBS, Steve.
READ: Right to Repair sucks and is illegal!

Reply 6 of 25, by kataetheweirdo

User metadata
Rank Newbie
Rank
Newbie

A small update here:

We've made some progress for the Power Mac 6100 - being able to play the audio jingle, but crashing while setting up the 68k emulator.

Meanwhile, the Power Mac G3 stops just shy of being able to boot. We've got some work in for an SCSI emulation, but it will be a while before it's implemented.

Reply 7 of 25, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thank you for the update. 🙂👍

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 8 of 25, by nightbanshee

User metadata
Rank Newbie
Rank
Newbie

Thanks for doing this. It's great to see new attempts at accurate emulation being made. Also, thanks for making it open source and easily accessible so the curious (like me) see how it's done. 👍

Compaq Portable ii - Lucky find
Compaq Prolinea 486 - Long term restoration
Frankenstein Socket 7 166Mhz Pentium MMX - In progress
Random Pentium III
Dell Latitude D830
Mac Powerbook G3 Pismo
Mac Powerbook G4 15

Reply 10 of 25, by SortingHat

User metadata
Rank Newbie
Rank
Newbie
benjamin91609 wrote on 2020-11-25, 20:39:

But we have Sheepshaver, which is like the best PPC emu

Actually no. The game 'Treehouse' stutters a LOT when you play it on it where the sound always seems to lag behind and tries to 'catch up' so it's not really stuttering but something else entirely as I don't lose any frame drops or any performance loss.

Reply 11 of 25, by Jo22

User metadata
Rank l33t++
Rank
l33t++
SortingHat wrote on 2021-10-21, 08:55:

Hopefully this will be a MACEM like PCEM.

Exactly my thoughts!

While the classic 68000 Macs are emulated acceptable by now -except for the Mac II, maybe-,
the higher end PPC Macs are not.

They are a bit like Pentium Pros/Pentium IIs running Windows 9x, emulation wise.

Just like with Windows 98SE/Me, Mac OS 9.2 is barely supported by modern emulators or virtualizers (existed on PPC).

Now that I think of it, the situation is more similar than I thought first.

Both Windows 98SE and Mac OS 9.2 had their Voodoo enabled games.
In case of Mac OS 9.2, the platform's original Voodoo was the better Voodoo 2, even.

Also, Mac OS 9.x had games support for ATI Rage IIc and other PCI GUI accelerators through the APIs QuickDraw 3D/RAVE.

So all in all, Mac OS 9 is equally neglected in the software world like Windows 98SE.
For both platforms, the software industry hasn't developed any kind of adequate virtualization or emulation.

For example, there's no commerc. PPC emulator being made for the current Macintosh platforms.

Just like there's none for Windows 98SE.
All current PC virtualizers start with supporting Windows 2000/XP only.
But even XP support is getting neglected slowly.
- VirtualBox dropped 3D graphics support for it in v6.1 due to a change on the VGA graphics core under the hood.

Edit: There's another similarity that comes to mind!
What MMX was for the Windows 98SE platform, the Altivec unit was for late Mac OS 9 systems.

Or to a lesser extent, the 80486 FPU and the 68040's FPU (or 68030's external FPUs 68881/68882) in the days of Windows 3.x (PC) and System 7.x (Mac)..
Both platforms' FPUs were rarely emulated initially.

Pure software emulation of PCs supported 8086/80286/80386 CPU instructions, but no FPU.
The early Macintosh (+Atari ST) emulators also focused on the CPU, too.
So essentially, users of both platforms had to resort to FPU emulators in some way or another.
Franke 387, EMU87 etc on PC and System plugins like PowerFPU/SoftwareFPU on Mac..

But back to the SIMDs.. Before PCEM/86Box, none of the common PC emulators supported MMX emulation, except, maybe, Bochs/QEMU which were dog slow initially.
Or SoftWindows 98/Virtual PC 4+ on Macintosh.
On PC itself, there wasn't much like that, though.
The third-party x86 CPU modules for Windows NT on RISC (FX!32) had no support for MMX, either.
Likewise, early v3.x versions of Windows NT for RISC had limited emulation capabilities themselves.
Their NTVDMs were capable of running x86 legacy programs written for MS-DOS and MS-Windows at 80286 instruction level, at best.

PS: I didn't mean to bloat this thread, I just meant to express how precious an advanced PPC emulator like DingusPPC really is.
Hence the comparison with our beloved Windows 98SE and its late hardware. Hope you guys and gals don't mind. ^_^

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 12 of 25, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

To also keep an eye on: MAME's emulation of PowerMacs (starting with the PowerMac 6100/60). Like almost everything in MAME, progress has been slow, but it's coming along.
https://github.com/mamedev/mame/blob/master/s … vers/macpdm.cpp

We'd be happy to talk shop with kataetheweirdo any time 😀

But mentioning MAME in this thread is as off-topic as mentioning QEMU or SheepShaver, so I'll stop now. 😉

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 13 of 25, by SortingHat

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on 2021-10-22, 01:18:
Exactly my thoughts! […]
Show full quote
SortingHat wrote on 2021-10-21, 08:55:

Hopefully this will be a MACEM like PCEM.

Exactly my thoughts!

While the classic 68000 Macs are emulated acceptable by now -except for the Mac II, maybe-,
the higher end PPC Macs are not.

They are a bit like Pentium Pros/Pentium IIs running Windows 9x, emulation wise.

Just like with Windows 98SE/Me, Mac OS 9.2 is barely supported by modern emulators or virtualizers (existed on PPC).

Now that I think of it, the situation is more similar than I thought first.

Both Windows 98SE and Mac OS 9.2 had their Voodoo enabled games.
In case of Mac OS 9.2, the platform's original Voodoo was the better Voodoo 2, even.

Also, Mac OS 9.x had games support for ATI Rage IIc and other PCI GUI accelerators through the APIs QuickDraw 3D/RAVE.

So all in all, Mac OS 9 is equally neglected in the software world like Windows 98SE.
For both platforms, the software industry hasn't developed any kind of adequate virtualization or emulation.

For example, there's no commerc. PPC emulator being made for the current Macintosh platforms.

Just like there's none for Windows 98SE.
All current PC virtualizers start with supporting Windows 2000/XP only.
But even XP support is getting neglected slowly.
- VirtualBox dropped 3D graphics support for it in v6.1 due to a change on the VGA graphics core under the hood.

Edit: There's another similarity that comes to mind!
What MMX was for the Windows 98SE platform, the Altivec unit was for late Mac OS 9 systems.

Or to a lesser extent, the 80486 FPU and the 68040's FPU (or 68030's external FPUs 68881/68882) in the days of Windows 3.x (PC) and System 7.x (Mac)..
Both platforms' FPUs were rarely emulated initially.

Pure software emulation of PCs supported 8086/80286/80386 CPU instructions, but no FPU.
The early Macintosh (+Atari ST) emulators also focused on the CPU, too.
So essentially, users of both platforms had to resort to FPU emulators in some way or another.
Franke 387, EMU87 etc on PC and System plugins like PowerFPU/SoftwareFPU on Mac..

But back to the SIMDs.. Before PCEM/86Box, none of the common PC emulators supported MMX emulation, except, maybe, Bochs/QEMU which were dog slow initially.
Or SoftWindows 98/Virtual PC 4+ on Macintosh.
On PC itself, there wasn't much like that, though.
The third-party x86 CPU modules for Windows NT on RISC (FX!32) had no support for MMX, either.
Likewise, early v3.x versions of Windows NT for RISC had limited emulation capabilities themselves.
Their NTVDMs were capable of running x86 legacy programs written for MS-DOS and MS-Windows at 80286 instruction level, at best.

PS: I didn't mean to bloat this thread, I just meant to express how precious an advanced PPC emulator like DingusPPC really is.
Hence the comparison with our beloved Windows 98SE and its late hardware. Hope you guys and gals don't mind. 😄

If Win98 is so badly supported how come I can run the majority of things so good all the way up to the low end Pentium II 33's on my PC then? I only have trouble if I use my host CD ROM as then it stuttered like hell which I'm wondering if upgrading to I9 will fix that or not.

Reply 14 of 25, by Jo22

User metadata
Rank l33t++
Rank
l33t++
SortingHat wrote on 2021-10-25, 10:26:

If Win98 is so badly supported how come I can run the majority of things so good all the way up to the low end Pentium II 33's on my PC then? I only have trouble if I use my host CD ROM as then it stuttered like hell which I'm wondering if upgrading to I9 will fix that or not.

Hi! Please explain. How do you run Win98?

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 15 of 25, by SortingHat

User metadata
Rank Newbie
Rank
Newbie

On PCEM of course. I just said it already earlier on another post. I can run Windows 98SE for my needs up to the Pentium II series except it lags like crazy when I load anything from a REAL CD though only if I'm loading something in the game, for example: I have the Zoombini's Mountain Rescue UK (I love the narrators accent compared to the US edition) and using the HOST CD feature the sound stutters with the FPS numbers at top oing from 100 percent to somewhere around 80 FPS. Then when they stop talking it goes back up and when clicking on any options it stutters for 30 seconds or so.

However running Midtown Madness 2 on CD I have no trouble except being slower then usual to load the map but I can play the game just fine and not crash. I am even using my Xbox One controller faking it as a Microsoft Sidewinder.

Reply 16 of 25, by Jo22

User metadata
Rank l33t++
Rank
l33t++
SortingHat wrote on 2021-10-26, 10:47:

On PCEM of course. I just said it already earlier on another post.

Ah, I see. I was talking about the days before PCem/86Box. They just started to become really popular 5-6 years ago (roughly).
Before these, support for Windows 9x was very poor. None of the big players cared about it.
- Vintage computer enthusiasts were so so desperate at the time, that they
fiddled with DOSBox, even, trying to get Win 9x to run somehow.
That started over ten years ago already, when DOSBox v0.6x was new.
Because unlike other emulators at the time, DOSBox emulated popular hardware from the 1990s.
SB16, Gravis Ultrasound, OPL3, many VGAs, 3dfx,..

I mean, in general, installing Windows 9x itself was no problem with other x86 emulators/virtualizers, just like DOS was no problem, but these features were missing often:

- Guest Additions (drag&drop for files, clipboard, resizeable VM windows)
- GUI acceleration
- Shared Folders
- MIDI in/out
- SB16 / proper OPL3 emulation
- Gameport emulation
- 3D acceleration

- Parallel Port pass-through
- USB support

Many of these things were supported by SoftWindows 95/98 and Virtual PC versions from 199x-2004 running on Macs with Power PC architecture
and to a lesser extent on Virtual PC on PC (VPC 2004/2007),
but not by VMware Player or VirtualBox in the 2000s/2010s.

Also, OPL3 emulation on Virtual PC (Mac/PC) was never finished.
I assume, because Sound Blaster emulation started out as SB Pro and Dual OPL2 in the early 90s (Virtual PC on Mac).

VGA support on the virtualizers (on PC) were synthetic.
It was not based on a real VGA. Using higher resolutions in VBox/VMWare required VBE9x, a dog slow VESA driver.

Edit: That's why the comparison of Mac OS 8/9 vs Win 9x came to mind.
Getting Mac OS 9 to *run* is possible now, but not with all the features.
Also, some later games/programs require v9.1 to 9.2.2 to run. And graphics acceleration.
The lack of complete MMU emulation is one of the stumbling stones that prevent 9.2 to start, if memory serves.
Emulators like Pear PC do have some of the needed components working (more or less), but lack other features. Like sound emulation.

Edit: The 'Classic Environment' of Mac OS X on Power PC platform has similar shortcomings.
It can run a copy of Mac OS 9.1/9.2.x in emulation, but lacks many features of a Mac OS 9.x running on bare metal.
Graphics acceleration is one of the features missing, if memory serves.

Edit: I rephrased some lines for better reading.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 17 of 25, by kataetheweirdo

User metadata
Rank Newbie
Rank
Newbie

Apologies for the massive bump, but we have updated this emulator a fair bit since this topic was first created.

It's by no means perfect, but you can boot from floppy disk or CD-ROM. It currently works best with 7.1.2, though many things still need to be fixed before we consider a release.

Reply 18 of 25, by kataetheweirdo

User metadata
Rank Newbie
Rank
Newbie

We've continued working fastidiously on the emulator and so far we can confirm at least the following set-ups work:

Power Mac 6100

  • Disk Tools 7.1.2
  • Mac OS 7.1.2 (from CD)
  • Mac OS 7.5.3

Currently, the 6100 emulation is limited to 8 MB, but you can use Virtual Memory to sort of get around this.

Power Mac G3

  • Disk Tools 8.1 and 8.5
  • Mac OS 9.2.2 (from CD)
  • OpenDarwin 6.6.2 (from CD)

We've also got installer CDs from Mac OS X booting to the point they reach the installation screen, albeit with graphical issues.