MACE: an New Classic Mac emulator project

About Mini vMac and all other 68k emulators, including SoftMac, Executor, and MESS.

Moderators: Cat_7, Ronald P. Regensburg

krum110487
Space Cadet
Posts: 5
Joined: Fri Jan 28, 2011 4:31 am
Location: United States

Re: MACE: an New Classic Mac emulator project

Post by krum110487 »

Love this project, I might bring 90% of your traffic, because I check the blog multiple times daily, I can't help it...)

Do you think this project would ever dip it's toe into the Mac Classic Power PC emulation? Not that I want to rush you or anything, I am just curious about how much effort do you think plugging that into your code would be. Obviously writing the emulation of the PowerPC processor is a ton of work... but I am not even aware if that is possible or if it is a complete re-write of the project, it would be great to eventually have something like this for PPC as well!

Thanks for the hard work!
User avatar
Pukka
Student Driver
Posts: 21
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

PowerPC support, yes it has been planned randomly and I guess I'll be looking at it more seriously after finishing the remaining 68k features (trace support and some trap instruction related details) and static disassembler.
Based on the performance results with directly interpreted 68k instructions, we probably would design the PowerPC emulation to support JIT already in the beginning.
The system emulation side should be quite directly compatible with PowerPC as is so wouldn't be rewrite but there are sure more software features to be supported by more advanced programs.

Sorry to not able to provide updates multiple times / day, but thanks for your input! :)
User avatar
gingerbeardman
Tinkerer
Posts: 52
Joined: Mon Aug 06, 2018 2:58 pm
Location: Cornwall, UK
Contact:

Re: MACE: an New Classic Mac emulator project

Post by gingerbeardman »

I don't know if you've solved it by now, but the solution to Universal builds on M1 is here: https://developer.apple.com/forums/thread/673323

Super interesting project! I need to catch up on the dev blog. Keep up the good work!
• BasiliskII on iPad Pro 12.9": Macintosh IIci 32MB + System 7.5.5 + Deneba artWORKS & UltraPaint
User avatar
adespoton
Forum All-Star
Posts: 3430
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MACE: an New Classic Mac emulator project

Post by adespoton »

I have to admit, my holy grail here is to eventually have a system where there's a file handler registered with macOS that 1: identifies the type of classic app (24-bit or 32-bit 68k, FAT, PPC), and then based on what it finds, instead of saying it can't run on this Mac, launches it inside a helper container, MACE style. It would probably also need a lookup table, to map all the known variations that require specific settings / MACE wrappers currently.

If this could be done in an "open spec" kind of way, people could write their own plug-ins for various hardware specs (eventually dropping in a handler for a PPC750 Mac with an ATi Rage GPU, for example, way down the road).

The end result would be something where anyone could add their own architecture, and macOS would then just be able to "run" most apps "seamlessly". If combined with containerization, you could even have the OS prompt for which existing configuration you want to run the application with on double-click.

Of course, one impediment to this is that MACE currently runs Apple Double files instead of named fork files, but that's a pretty small impediment, as you can easily present named forks as AD files with a bit of scripting.

Anyway, just one of my long-range dreams... using the macOS Frameworks system the way it was designed to be used, but rarely used outside of Apple.
DracheMitch
Space Cadet
Posts: 1
Joined: Wed Apr 07, 2021 2:55 pm

Re: MACE: an New Classic Mac emulator project

Post by DracheMitch »

adespoton wrote: Mon Feb 22, 2021 7:44 pm The end result would be something where anyone could add their own architecture, and macOS would then just be able to "run" most apps "seamlessly". If combined with containerization, you could even have the OS prompt for which existing configuration you want to run the application with on double-click.
The issue is resources. Running an application for an operating system typically means loading a huge chunk of the OS. Witness Classic Environment on early OS X (or Java for that matter). Even though Apple created shims for networking and device management, along with a lot of hardware abstraction, it still used a lot of RAM and CPU. That’s the reason IBM agave up on their, basically, hypervisor OS that was Taligent, and cross-platform environments like OpenDoc.

Furthermore, developers are barely interested in cross-platform development (ask Windows Phone users). It takes too many man-hours for testing and support, which is why many developers will open the source for someone else to support other platforms.

For emulation concerns, you would need someone to design an operating system (or Linux distro) specifically for running older software to meet the needs for running 68k Amiga, Atari, Mac, Sparc, etc. software, and most developers would rather do things for larger platforms like DOS x86 or cloning hardware like Vampire and Bolle’s SE/30 clone.
WizKid
Tinkerer
Posts: 72
Joined: Sun Jul 31, 2016 11:58 pm

Re: MACE: an New Classic Mac emulator project

Post by WizKid »

Any update?
User avatar
Pukka
Student Driver
Posts: 21
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

Sorry, it has been long break with updates. I was working randomly on the processor related tweaks/fixes/optimizations earlier this year, but got a bit lost on that.
The System team (Toni) has been focusing on the Sound Manager as it is the missing half of the proper experience of the higher end games.
Additionally some specific tweaks to make early Sierra games work as they should. You can read about the details in here
https://mace.software/2021/06/30/first- ... e-of-2021/
User avatar
adespoton
Forum All-Star
Posts: 3430
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MACE: an New Classic Mac emulator project

Post by adespoton »

Thanks for providing this bit:
Originally the audio buffer with 22255 Hz sample rate was passed directly to SDL2, which caused some problems as some systems were not able to handle that format very well. Even though it worked on Mac Pro, for example on M1 Macs it caused the audio in other applications to start cracking and breaking up.
This appears to be the exact issue that other emulators are encountering -- M1 + SDL2 = audio cracking.

So for anyone fighting sound support on MVM/BII/SS/QEMU not reading your blog but reading here:
By allocating the SDL2 audio buffer in default native format (usually 44100hz), and upsampling the audio data in emulator, most of this problem was eliminated. However, in some cases, clicks are still present in the audio, mostly due to the way how original hardware handles square-wave and sampled sound as a mix of both unsigned and signed 8-bit samples (that is, square wave sound amplitude ranges from 0 to 255, while in same buffer, sampled sounds are in range -128 to 127, with different “silent” baseline level.
And for anyone working on 68k emulation, the entire blog entry is definitely worthwhile reading -- there are fixes in there for issues known to be present in Basilisk II, for example.

[edit] Pukka, I forgot: do you guys have reference binaries available for any of the recent updates? The last one I see on the website is the December 2020 build.
User avatar
Pukka
Student Driver
Posts: 21
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

adespoton wrote: Mon Jul 05, 2021 5:27 pm [edit] Pukka, I forgot: do you guys have reference binaries available for any of the recent updates? The last one I see on the website is the December 2020 build.
I'll ping Toni to rebuild something with the latest code if the things are stable enough. Will notify when that is available.
User avatar
Pukka
Student Driver
Posts: 21
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

The Mac binaries were updated now, I hope that works for you.
Let me know if you need something specific and we'll try to arrange it.
Post Reply