Jump to content
Toni_

Progress on our new Mac App Compatibility Environment

Recommended Posts

Hi,


I posted about our project a few weeks ago on LEM facebook group, but wanted also to share information about it here on 68kMLA:


We're working with my friend on a new Mac emulator, which does not require any ROM or system software, which would basically work as a intel-era "Classic" environment replacement. So far all development has been done only by the two of us on our spare time.

 

It should be released by end of this year in some form, and there's no builds yet to try out (work-in-progress), but we have a bunch of screenshots, and a few videos what it currently does. We created a new blog, where we've been documenting our progress for the past year:

• Most recent news: https://mace.software/news/

• About the project: https://mace.software/

• Status of which applications we have tested and how they work currently: https://mace.software/status/

• YouTube playlist of some of the videos: https://www.youtube.com/playlist?list=PLEW7v-eMZEJElUv0UchqQ1BVqcKjbHWdq

 

I'm implementing the toolbox part of the project, but credit for original idea (and 68k CPU emulation) goes to my friend "Pukka", who posted about this project originally here on 68kMLA in 2010 when he originally started it: https://68kmla.org/forums/index.php?/topic/43720-coding-projects/&do=findComment&comment=469818

 

We haven't yet done much planning on how to release/publish the emulator, but hopefully we will have before summer some way of packaging at least a small test application.

 
 
Edited by Toni_

Share this post


Link to post
Share on other sites

Very interesting! This project seems different from Advanced Mac Substitute, which Ars Technica covered recently:

 

 

I suppose these are different efforts? Neat that we seem to have some friendly competition in this effort. :)

Share this post


Link to post
Share on other sites
22 hours ago, Paralel said:

Yeah, we have discussed it here, as far as I know.

It may be that the discussion was about the other emulator (mentioned by nglevin), I didn't find any references to our project since 2010 on the forums.

4 hours ago, ants said:

Incredible work so far. Great job.

Thank you so much for the positive feedback! It's nice to know there's interest about what we are making, which will help us keep motivated and focused on the goal to getting the first stage of this project completed soon! :-)

3 hours ago, nglevin said:

Very interesting! This project seems different from Advanced Mac Substitute, which Ars Technica covered recently:

 

 

I suppose these are different efforts? Neat that we seem to have some friendly competition in this effort. :)

Yes, this is different project. We actually didn't know about AMS until about last week, about the time when we were encouraged to go public about our project, which we had kept secret up to that point. I'm not sure about how AMS compares to our project, as I tried to compile it but sadly couldn't get it to work. At least technically they appear to have quite different approach to the toolbox emulation.

 

Originally we planned to stay quiet until end of phase 1, and announce publicly at that time (I hate promising and failing to deliver!), but our progress seems to be pretty good at this point - given that in a few weeks it's exactly one year since we started our current attempt at creating this emulator from scratch.

Share this post


Link to post
Share on other sites

You are indeed correct, I was thinking about the other one that appeared recently. My sincere apologies. Welcome!

Share this post


Link to post
Share on other sites

Hi again,

 

I don't want to spam this thread too much, but I think this might interest you guys... tonight we quickly added full support for Desk Accessories to the emulator, and got actual System 6 Calculator DA (written in 68k code) to work almost "out-of-the-box" :-) I made a quick video of how it looks like (There's also a audio bonus at end of the video ;-)):

 

https://youtu.be/60jG0wDSiB8

 

I did a short post about what we technically needed to do on our blog at https://mace.software/2019/02/13/desk-accessory-support/

(I hope the text there & here makes sense - I'm more of a programmer than writer, and it's almost half past three in middle of night here after coding entire evening so a bit tired... :D)

Share this post


Link to post
Share on other sites

Which ROM version are you targeting for compatibility for your first release? The 128K ROM of the Mac Plus, or the 256K ROM of the SE?

 

I read your Work Diary, and I see that the ultimate goal is PPC compatibility too.

Edited by Dog Cow

Share this post


Link to post
Share on other sites
8 hours ago, Dog Cow said:

Which ROM version are you targeting for compatibility for your first release? The 128K ROM of the Mac Plus, or the 256K ROM of the SE?

 

I read your Work Diary, and I see that the ultimate goal is PPC compatibility too.

Thanks for the good question! We don't actually currently target any specific ROM level for compatibility, but rather use generic model which has sets of configurable features (currently static at build time, but we plan to make them dynamic later to allow changing compatibility without needing to use different binaries).

 

The most important architectural decision is that we have abstracted the emulated toolbox APIs from emulated "hardware" in such way, that we can choose between two operating modes for emulation, "Classic" and "Universal". (And memory manager can also switch between 24bit and 32bit modes like on real 68k Macs.)

 

The "Classic" model forces 24-bit mode, and attempts to simulate the environment of Mac Plus/Classic/SE type Mac as much as possible (with maximum of 4 megabytes of addressable memory), which allows us to emulate neat features hardware page flipping through alternate screen buffer & hardware audio buffer (both of which for example at least Dark Castle appears to require to work). It also only supports non-color QuickDraw. This is the model we will be aiming in first version.

 

The "Universal" model will allow either 24-bit or 32-bit memory manager operation, and use Color QuickDraw with multiple displays, any screen resolution and any color depths. It also does not attempt to simulate any specific hardware configuration, so it will allow much more flexibility over the "Classic" model. This would be in the version 2 someday.


Thinking about the original question about ROM version compatibility, one major difference between those ROM versions would be the trap table size... We have the "full" trap table at the moment (256+1024 traps, as in SE/30, II and later), although theoretically we could introduce even 64K ROM/128K Mac (512 traps with 15-bit offsets) compatibility but hopefully that won't be needed.

 

(Another feature we're planning is also the "seamless" mode, where desktop could theoretically be made invisible like in Apple's Classic Environment. This would however only work from version 2 onwards with Color QuickDraw, as the "Classic" mode is hard-wired to 512x342 pixel resolution, which cannot be made seamless, at least not without looking really weird...)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×