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

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

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

There are now Windows builds available in the files. For now they are tested only on few Windows 10 machines https://mace.software/files/

The system works now also on Raspberry PI but we have to figure out some binary compatibility issues between the different Raspian versions before making them available.

Booting the Raspberry one day directly to Finder would be nice :)
User avatar
ClockWise
Site Admin
Posts: 4397
Joined: Mon May 20, 2002 4:37 am
Location: Uiwang

Re: MACE: an New Classic Mac emulator project

Post by ClockWise »

Nice! The ones I tested (concentration and stuntcopter) run on my Windows 10 machine, but they seem to be a bit too fast. Is this a noted bug?
User avatar
Pukka
Student Driver
Posts: 22
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

Does it feel like they were 5% - 10% faster than they really should be, or is it something worser?
I have had a feeling Stunt copter may be running a bit too fast.

Some of the games such as Stunt Copter and Zero Gravity have custom build switch which adds 1/60 second delay in GetNextEvent trap to make them run in ~normal speed, in other case they would be completely unplayable. It could be that this is not yet accurate enough and should be more carefully adjusted.

Some other games like Dark Castle is limiting the game speed automatically and appears to run at correct speed.

Thanks for testing!
User avatar
ClockWise
Site Admin
Posts: 4397
Joined: Mon May 20, 2002 4:37 am
Location: Uiwang

Re: MACE: an New Classic Mac emulator project

Post by ClockWise »

I'm not really able to say exactly how fast it is running, but in concentration (for example) the second card is just a flash. Not long enough to make it out. Sometimes it appears to not show up at all. I suspect stuncopter is running more than 10% too fast, but that is just a guess.
User avatar
Pukka
Student Driver
Posts: 22
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

It seems I haven never tested Mac Concentration, but apparently display time for the second card seems to be too fast.
We'll check if there is a sensible way to slow these down.
User avatar
Pukka
Student Driver
Posts: 22
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

Update for this project. There is now initial support for color Quickdraw. Unfortunately no demo applications yet about this. There is still lot of work to do, and many of the newer color games would also require Sound Manager support. Can't wait to get play A-10 Attack.

Additionally the project was celebrating its 2 year anniversary in its current form. The oldest files in the project are soon 16 year old, but back then the project was concentrating more on hardware emulation.

Here is the full story:
https://mace.software/2020/02/23/2-year ... -progress/

As a bonus there is a 90 minute (ad-free!) PT-109 movie.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MACE: an New Classic Mac emulator project

Post by adespoton »

For those who are following, more color support!

https://mace.software/2020/03/18/more-c ... e-manager/

The PoP demo is timely, what with the Ars article about PoP coming out about the same time. To me, this is the best version of PoP -- it's great that it may now be possible to play it on modern systems!
mfnickster
Space Cadet
Posts: 9
Joined: Thu May 14, 2009 6:40 pm
Location: Minneapolis, MN

Re: MACE: an New Classic Mac emulator project

Post by mfnickster »

Is there source code available?

What kind of license are you distributing under?

Thanks. Awesome work!
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MACE: an New Classic Mac emulator project

Post by adespoton »

I'm not the developers, but:

Source code is not available (yet?) -- it's still in alpha

License: none listed, so they retain full control right now.
mfnickster
Space Cadet
Posts: 9
Joined: Thu May 14, 2009 6:40 pm
Location: Minneapolis, MN

Re: MACE: an New Classic Mac emulator project

Post by mfnickster »

Ok, thanks!

It's a shame because I think a lot of people could learn from the source, or might find it helpful in their own projects, even if it's not functional or complete.
User avatar
Madd the Sane
Student Driver
Posts: 14
Joined: Fri Aug 31, 2012 6:27 pm
Location: Idaho

Re: MACE: an New Classic Mac emulator project

Post by Madd the Sane »

A similar project is Executor. You can find a more up-to-date fork here.
Get out of my mind, idea! I already have an idea in there!
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MACE: an New Classic Mac emulator project

Post by adespoton »

Ardi's Executor replaces the operating system; these guys are replacing the entire toolbox to run the apps "natively" in a modern OS.

Think of Executor as a clean-room System 7.1, and this as the Mac equivalent of WINE (or possibly DOSBox).

You can run the Finder as a stand-alone application using MACE :)
mfnickster
Space Cadet
Posts: 9
Joined: Thu May 14, 2009 6:40 pm
Location: Minneapolis, MN

Re: MACE: an New Classic Mac emulator project

Post by mfnickster »

I really wish there was a book titled "Mac Toolbox Internals" :wink:

Out of curiosity, when the CDG5 project says they can "round-trip" compile the Mac ROM bit-perfect, does that mean the ROM was disassembled and then re-assembled? I.e. the ROM "source code" is not a clean room reimplementation?
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MACE: an New Classic Mac emulator project

Post by adespoton »

Yup, in the case of CDG5, that's exactly what they did -- they disassembled the existing ROM, then re-assembled it to result in a bit-perfect one. This meant that they were then able to disassemble, modify and reassemble, and know that the resulting ROM was going to be what they expected.

Clean room is more like what Ardi did. But Executor doesn't actually bother with the hardware, it just abstracts the toolbox as it exists in the memory of a booted System 7.1 machine.

So what we really need is a 4MB ROM implemented from scratch that'll run any Mac OS version a 68040 Mac can run. At that point, we can pull the New World ROM from a public space and extend the clean room 68K ROM with it to boot the OS.

But that's separate than what's going on here: implementing the APIs such that the toolbox can be sidestepped. Hopefully everything gets well documented and released with an open license, because I think it's going to take combining a bunch of these projects to fully abstract the Macintosh down to a completely public environment where any combination of components can be replaced with Free alternatives.
Vidmaster
Space Cadet
Posts: 3
Joined: Sun Aug 16, 2020 5:51 pm

Re: MACE: an New Classic Mac emulator project

Post by Vidmaster »

This looks like a really interesting project :-) , will follow.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MACE: an New Classic Mac emulator project

Post by adespoton »

Figured I should bump this, as there's been some updates on https://mace.software/news/ -- last update was at the end of the month, with patches in to enable Eric's Ultimate Solitaire to run, with proper alpha channels. Sounds like improved Apple Event handling is the current project.
User avatar
Pukka
Student Driver
Posts: 22
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

There have been few critical fixes to the processor and software emulation during the recent weeks.
The emulator can now run more advanced games such as as Escape Velocity, Prince of Persia 2 and Marathon (even if there is something with the colors still).
Additionally some strange bugs occurring in Dark Castle, Vette and Test Drive were resolved.
You can also play now your favorite PC games with audio by running them under SoftPC :)

As earlier, more detailed stories with are written (with pictures and videos) in here https://mace.software/news/
WizKid
Tinkerer
Posts: 72
Joined: Sun Jul 31, 2016 11:58 pm

Re: MACE: an New Classic Mac emulator project

Post by WizKid »

Any ETA when the source is going to be released?

Per the web site, it says it 's very early development, but looking at what's accomplished, looks like it's either has (or even surpassed) Executor's level of compatibility.

Their work could really help Executor development...
User avatar
Pukka
Student Driver
Posts: 22
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

The project probably would be made open in case we stopped the development by ourselves.
The code itself could not offer much for another project, as it is not directly possible to copy-paste all missing parts because the implementation and conventions are different.
The compatibility issues are often related to the undocumented area of the system side emulation, or errors in the 68k programmer’s reference manual.

Sometimes it takes over year to locate reason for some specific issue and has nothing to do how much of the compatibility has been implemented. See ”Dark Castle “_Random” bug” for practical example :)
Toni is often writing about the specific details in then development blog. This information should help the other projects in their work more than the actual code.

There are also other factors that make this private project to us such as "artistic point of view", freedom and "joy of reinventing the wheel" but won't go to details as I am not looking for a debate :)
WizKid
Tinkerer
Posts: 72
Joined: Sun Jul 31, 2016 11:58 pm

Re: MACE: an New Classic Mac emulator project

Post by WizKid »

Sounds like from the outside it's more of a proof of concept than anything else then.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MACE: an New Classic Mac emulator project

Post by adespoton »

WizKid wrote: Tue Nov 03, 2020 7:52 pm Sounds like from the outside it's more of a proof of concept than anything else then.
Well, I've already taken their demo binaries and re-packaged them with my own software. Works perfectly :)
User avatar
Pukka
Student Driver
Posts: 22
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

Periodic update on this Proof of Concept. During the past months there have been lot of updates on color QuickDraw and TextEdit compatibility + other fixes. Some more advanced games such as Marathon are now fully working excluding audio which needs the SoundManager.
In hardware support no updates other than some profiling to figure out the things that could be optimized during the Christmas break. Current performance is close to Mini vMac based on Speedometer results.
Additionally, we got permission to share emulated versions of Glider and Scarab of RA games. Good reason to stay inside and isolated during the holidays.
The latest war stories can be read here https://mace.software/news/
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MACE: an New Classic Mac emulator project

Post by adespoton »

Pukka wrote: Tue Dec 22, 2020 10:17 pm Periodic update on this Proof of Concept. During the past months there have been lot of updates on color QuickDraw and TextEdit compatibility + other fixes. Some more advanced games such as Marathon are now fully working excluding audio which needs the SoundManager.
In hardware support no updates other than some profiling to figure out the things that could be optimized during the Christmas break. Current performance is close to Mini vMac based on Speedometer results.
Additionally, we got permission to share emulated versions of Glider and Scarab of RA games. Good reason to stay inside and isolated during the holidays.
The latest war stories can be read here https://mace.software/news/
Pukka, are the Scarab of Ra and Glider demos built using the new code? I'd like to take the QuickDraw and TextEdit routines for a spin... I spent my break running all the old games on actual hardware on OS 9 to check what breaks where.
User avatar
Pukka
Student Driver
Posts: 22
Joined: Mon Feb 25, 2019 9:15 pm
Location: Helsinki / Finland

Re: MACE: an New Classic Mac emulator project

Post by Pukka »

Yes, they were built with the latest code of that time. Some of the variables such as color mode, ROM version, machine type, memory size and CPU type are build time constants at the moment. Briefly checking both of these were built as 4 megabyte Mac Plus.
I guess we could provide a custom build in case you want to test something specific (such as 68040 in 256 colors). But I have to check with the other half of the development team first.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MACE: an New Classic Mac emulator project

Post by adespoton »

Pukka wrote: Sat Jan 09, 2021 9:58 am Yes, they were built with the latest code of that time. Some of the variables such as color mode, ROM version, machine type, memory size and CPU type are build time constants at the moment. Briefly checking both of these were built as 4 megabyte Mac Plus.
I guess we could provide a custom build in case you want to test something specific (such as 68040 in 256 colors). But I have to check with the other half of the development team first.
Sounds great; I'll send you guys a message if I have a specific config to test.
Post Reply