Programming my own Mac emulator

Anything about Mac emulation that does not belong in the above categories.

Moderators: Cat_7, Ronald P. Regensburg

kataetheweirdo
Master Emulator
Posts: 304
Joined: Sun Feb 01, 2009 4:55 pm

Re: Programming my own Mac emulator

Post by kataetheweirdo »

Yes, that is the g3beige target trying to run 10.2. 10.0 gets stuck in a pinwheel.

Can't say much else yet.
User avatar
mihaiparparita
Space Cadet
Posts: 3
Joined: Sun Dec 25, 2022 4:21 am
Location: Cupertino, CA
Contact:

Re: Programming my own Mac emulator

Post by mihaiparparita »

It's impressive how far DingusPPC has come. I'm interesting in integrating it into the Infinite Mac project, since it seems like a better foundation for PPC emulation than SheepShaver (as far as aiming for more accurate emulation and being actively maintained).

I've gotten a version that's able to use a 6100 ROM to boot the System 7.1.2 Disk Tools floppy image. One that uses a 7.1.2 HD image gets stuck shortly after the Welcome To Power Macintosh screen (though my native build also has that same behavior). Do you have machine/OS combos that you're focused on/are known to be most reliable? More generally, is a better way to reach you (and Maxim?) discuss DingusPPC development?
User avatar
Cat_7
Expert User
Posts: 6010
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Programming my own Mac emulator

Post by Cat_7 »

There is a discord channel: https://discord.com/channels/3942246416 ... 7297065994

As far as I know, no emulation target boots to the desktop from HD image. There is also no keyboard support yet.
You might also look at Qemu for accurate emulation.

Best,
Cat_7
User avatar
adespoton
Forum All-Star
Posts: 4076
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Programming my own Mac emulator

Post by adespoton »

Cat_7 wrote: Mon Oct 02, 2023 8:00 am There is a discord channel: https://discord.com/channels/3942246416 ... 7297065994

As far as I know, no emulation target boots to the desktop from HD image. There is also no keyboard support yet.
You might also look at Qemu for accurate emulation.

Best,
Cat_7
Running Qemu in a browser via WebASM is probably not a good idea yet. For browser-based emulation like in Infinite Mac, speed is generally more important than accuracy. If people want more accurate emulation, it's better to move off the browser-based emulation and onto dedicated apps.

I do essentially the same thing as Infinite Mac, but host all the instances in the Finder instead of a browser, with each OS version being its own app. DingusPPC isn't at the point yet where it would be appropriate to use in Infinite Mac; the emulators that should work well right now (in 2023) are Mini vMac, PCE (as used by archive.org), Basilisk II, and SheepShaver. And possibly some of the Mac cores from MAME, but those don't usually provide any benefit over Mini vMac and PCE.
kataetheweirdo
Master Emulator
Posts: 304
Joined: Sun Feb 01, 2009 4:55 pm

Re: Programming my own Mac emulator

Post by kataetheweirdo »

mihai has got some fixes in for DingusPPC. Right now, you can fiddle around with Disk Tools images. You can use the mouse and keyboard fully, and it doesn't seem to crash (unless you try to format a hard disk). However, trying to boot the OS itself from CD or Hard Disks presents an interesting problem - Namely, the icons and the text doesn't show up. We think this may be related to a event that's supposed to be called by WaitNextEvent and GetNextEvent, but that somehow never gets triggered.
User avatar
adespoton
Forum All-Star
Posts: 4076
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Programming my own Mac emulator

Post by adespoton »

kataetheweirdo wrote: Wed Nov 22, 2023 1:40 am mihai has got some fixes in for DingusPPC. Right now, you can fiddle around with Disk Tools images. You can use the mouse and keyboard fully, and it doesn't seem to crash (unless you try to format a hard disk). However, trying to boot the OS itself from CD or Hard Disks presents an interesting problem - Namely, the icons and the text doesn't show up. We think this may be related to a event that's supposed to be called by WaitNextEvent and GetNextEvent, but that somehow never gets triggered.
I'd be really interested in getting you guys in a room with Pukka and Tony -- your project goals are different (68k vs PPC, toolbox emulation vs hardware emulation), but you seem to be running up against some similar issues.

Then again, if you could find Derek somewhere, I know he was having similar issues with Fusion and SoftMac back in the day....

All this to say, the issue seems to be one that's already been experienced by those working on 68k emulation; SheepShaver doesn't count because it fakes the hardware and patches out the toolbox calls.

I forget: is DingusPPC doing a complete OF implementation, or emulating a G2 PPC?
User avatar
Madd the Sane
Student Driver
Posts: 12
Joined: Fri Aug 31, 2012 6:27 pm
Location: Idaho

Re: Programming my own Mac emulator

Post by Madd the Sane »

From my understanding, Old World Macs (at least those that had a PCI bus) had a stripped-down version of Open Firmware.
Get out of my mind, idea! I already have an idea in there!
kataetheweirdo
Master Emulator
Posts: 304
Joined: Sun Feb 01, 2009 4:55 pm

Re: Programming my own Mac emulator

Post by kataetheweirdo »

Madd the Sane wrote: Wed Nov 22, 2023 6:41 pm From my understanding, Old World Macs (at least those that had a PCI bus) had a stripped-down version of Open Firmware.
Less stripped down, and more just plain buggy.
adespoton wrote: Wed Nov 22, 2023 4:13 pm
I'd be really interested in getting you guys in a room with Pukka and Tony -- your project goals are different (68k vs PPC, toolbox emulation vs hardware emulation), but you seem to be running up against some similar issues.

Then again, if you could find Derek somewhere, I know he was having similar issues with Fusion and SoftMac back in the day....

All this to say, the issue seems to be one that's already been experienced by those working on 68k emulation; SheepShaver doesn't count because it fakes the hardware and patches out the toolbox calls.

I forget: is DingusPPC doing a complete OF implementation, or emulating a G2 PPC?
I would be glad to dissect this issue really, because WaitNextEvent and GetNextEvent are both really hacky commands added as part of the MultiFinder. These managed to survive into the Carbon API, yet I'd like to know how these were implemented. DingusPPC is emulating pre-New World machines in general right now, which includes G2 PPCs.
Post Reply