• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Progress on our new Mac App Compatibility Environment

tt

Well-known member
Awesome, looks good! Do you think you'll be able to do HyperCard at some point?

 

Toni_

Well-known member
Awesome, looks good! Do you think you'll be able to do HyperCard at some point?
Thanks! HyperCard 1.0.1 and 2.0 are actually part of the (dozen) test applications we're experimenting with. HyperCard 1.0.1 appears to require write access to stacks (it opens the "Home" stack and exits immediately after failing to write to it), and as currently the filesystem is read-only, it won't work until write support is implemented:

image.png

As for HyperCard 2.0, it appears to have some bugs in the menu bar (literally!!!):

image.png

No idea what's going on here, as we haven't yet looked into this much...do love the irony though  :)  This version is however blocked in practice by missing Styled TextEdit routines (trap A83E = TEStyleNew), which we can't work on before we first finish the basic (non-styled) TextEdit support someday. I'm guessing it will also eventually require the write support to file system like HyperCard 1 does.

 
Last edited by a moderator:

Toni_

Well-known member
Awesome, looks good! Do you think you'll be able to do HyperCard at some point?
Hi again!

Your question about HyperCard actually was quite inspiring, as it motivated us to add experimental write support to M.A.C.E. this past week, and we can now *partially* run the stacks bundled with HyperCard 1.0.1  :)

I added a gallery with pictures of current state of what HyperCard can currently do on M.A.C.E. to our blog:

https://mace.software/2019/03/31/hypercard-1-0-1-works-now-kind-of/

(The pictures in gallery can be clicked to zoom them bigger)

We're really excited about this, and can't wait until we someday this year get to the end of "Phase 1" so you guys can also try this out :)  HyperCard is still highly unstable, so it wouldn't be useful to try bundling the free HyperCard player yet at this point, but this should give some basic idea what to expect when get things stabilized.

 
Last edited by a moderator:

tt

Well-known member
Hey, that's awesome you are making more headway on HyperCard. Do the card transitions work ok? One of the things I noticed with emulation (Basilisk) is that the card transitions like dissolve are super slow, so Hypercard games don't work that well. Maybe this has improved with other emulators, but I haven't been following them for a while.

 

nglevin

Well-known member
I have just subscribed to your blog, and I'm really looking forward to having a HyperCard that I can run as a curiously black and white app in modern OS wrappings.  :)  Photoshop 1.0 looks great, too.

 

Toni_

Well-known member
Hey, that's awesome you are making more headway on HyperCard. Do the card transitions work ok? One of the things I noticed with emulation (Basilisk) is that the card transitions like dissolve are super slow, so Hypercard games don't work that well. Maybe this has improved with other emulators, but I haven't been following them for a while.
Hi,

In the cards we tested, there appear to be at least two transition types that I've seen. Other more common one is the "zoom rectangles" transition (such as seen on a real Macs' Finder when opening folders/apps), and other one is "card appearing in growing box from center" transition (which appears at least when entering the "Phone" card). I hope those explanations make any sense to describe how they look like  :)  There may be others too, but we need to add more stacks to test them at some point.

One important note we found out was that the transitions don't appear to have a speed throttle, so they're running too fast at least in HyperCard 1.0.1 we're testing. In the debug version with full logging the emulation slows down enough to allow transitions to be visible, but in release mode with no debug logging they're basically instant. I've checked that at least on Minivmac the speedup appears to follow same pattern.

I'm myself not that familiar with HyperCard, but Pukka has been using it a lot in the past, so when we get bugs fixed he can probably try the features of HyperCard better and comment on their status. (He pointed out that currently user mode changing through entering commands is blocked by unfinished TextEdit support, and trying to create new stack gets stuck on HyperCard repeatedly trying to call PBGetCatInfo for some reason which needs to be debugged).

I have just subscribed to your blog, and I'm really looking forward to having a HyperCard that I can run as a curiously black and white app in modern OS wrappings.  :)  Photoshop 1.0 looks great, too.
Thank you :)  We'll keep you update on our progress  :)  

 

tt

Well-known member
One important note we found out was that the transitions don't appear to have a speed throttle, so they're running too fast at least in HyperCard 1.0.1 we're testing. In the debug version with full logging the emulation slows down enough to allow transitions to be visible, but in release mode with no debug logging they're basically instant. I've checked that at least on Minivmac the speedup appears to follow same pattern.
I checked out the latest Basilisk build and noticed that now the HyperCard transitions are "gone", so they must be generating way too fast to see like you mentioned. I guess speed/timing in general for games/visuals is a challenge to get the right for emulation. But I wonder how the speed was regulated from a Mac Plus to a Quadra type machine.

 

Toni_

Well-known member
Hi again!

Today we managed to get a really cool feature functional - We can now run After Dark (and in future theoretically any *compatible* extensions/control panels) in our emulator :)

https://mace.software/2019/04/08/experimenting-with-init-cdev-support/

I've written a blog post about this feature above, and there's also screenshots (and video!), in which we run After Dark (using default "Starry Night" as modules cannot yet be configured) loaded "inside" MacPaint application. :-D  

I checked out the latest Basilisk build and noticed that now the HyperCard transitions are "gone", so they must be generating way too fast to see like you mentioned. I guess speed/timing in general for games/visuals is a challenge to get the right for emulation. But I wonder how the speed was regulated from a Mac Plus to a Quadra type machine.
I'm guessing (but not sure, as I haven't had time to verify this assumption) that the original versions of HyperCard didn't actually have any speed throttle, but it was probably added in later versions of HyperCard - A lot of the early software seems to have this same issue. Considering that HyperCard 1.x was developed in 1987, the same year as Mac II was launched, I thinks this the be highly probably. However, we will check this hypothesis when we someday get the Styled TextEdit to work and can start to work on adding HyperCard 2.x support :)  

 

Toni_

Well-known member
Hi again!

It's been a bit quiet for the past month(s), a lot of the "getting-more-outside-less-staying-inside" type stuff going on in the summer, but I took a few evenings in the past weeks to do some work on TextEdit features, and wrote a quick summary on what's new:

https://mace.software/2019/06/17/mid-summer-update-textedit-progress/

Most interesting parts are probably that Scarab of RA is now almost completely playable (yey!), and HyperCard 1.x can enter "userlevel 5" which opens door to a bunch of interesting new options to edit the stacks :)

The progress will probably be quite slow in the summertime, but hopefully in the fall we'll be at least a little bit closer to the goal of getting the more "Classic replacement"-type release of emulator, so you guys could try out more than just the few bundled apps :) No promises yet though on the date...but we're definitely getting there someday!

 

nglevin

Well-known member
I saw! The Scarab of RA and HyperCard progress is especially amazing.

Not that you might find this interesting, but I've found all the MACE packaged apps that have been released work wonderfully under VMware (ESXi 6.7 and Fusion 11.1.0) on macOS Mojave.

That's more than I can say for most games. The only other ones I've found to work really well are Thimbleweed Park and (to a degree) RenPy-powered visual novels. That all seems to come down to the software OpenGL driver being insufficient for most... so, props for avoiding the GPU as much as possible!  :)

 

Toni_

Well-known member
I saw! The Scarab of RA and HyperCard progress is especially amazing.

Not that you might find this interesting, but I've found all the MACE packaged apps that have been released work wonderfully under VMware (ESXi 6.7 and Fusion 11.1.0) on macOS Mojave.

That's more than I can say for most games. The only other ones I've found to work really well are Thimbleweed Park and (to a degree) RenPy-powered visual novels. That all seems to come down to the software OpenGL driver being insufficient for most... so, props for avoiding the GPU as much as possible!  :)
Thanks for the feedback, it's appreciated  :)

Interesting to know that they work under virtualization, we haven't tried that on the Mac OS X version...we're actually currently using SDL2 as platform abstraction back-end, which actually when running on Mac OS X defaults to OpenGL rendering, so it may be that if other applications are having hard time doing OpenGL under virtualization, that SDL2 might be smart enough to switch to non-accelerated back-end... In any case, we'll some day eventually switch to more native platform abstraction, which in Mac OS X case would be (at the moment) Cocoa (and at the same time we'll also fix the nasty mouse click issue people have been reporting on touchpads when testing the current application bundles).

Ps. I took a little break today to record a short video of how lemmings gameplay looks like, now that it finally works :-D

https://www.youtube.com/watch?v=qqSpRqhGf4U

 

Toni_

Well-known member
Hi again :)  We're back from holiday trips, and although we're still on summer vacation, I just wanted to let you guys know there's been some progress during this time; we can now basically run TeachText, with nearly all TextEdit features working. I did a quick blog update which includes one holiday photo from each/both team members, which also details a bit more what we've been up to in the past few weeks:

https://mace.software/2019/07/14/second-mid-summer-update-post-holiday-textedit-progress-clipboard/

Next up is resource fork write support, which is already nearly completed, but there'll be more details about that later when it's done :)

 

nglevin

Well-known member
...we're actually currently using SDL2 as platform abstraction back-end, which actually when running on Mac OS X defaults to OpenGL rendering, so it may be that if other applications are having hard time doing OpenGL under virtualization, that SDL2 might be smart enough to switch to non-accelerated back-end...
That makes perfect sense. Thimbleweed Park also uses SDL 2 on Windows and Mac though apparently not for rendering.

I don't know if it's defaulting to a software renderer, or using the OpenGL APIs in a dumb-as-bricks way (draw to texture, copy texture to framebuffer levels of basic) that's almost complimentary to falling back to software rendering. Both seem completely possible.

I'd have to dig into the developer.apple.com graphics tools for OpenGL to see what's up, if they're still functional with the post Metal 2, modern macOSes.

In any case, we'll some day eventually switch to more native platform abstraction, which in Mac OS X case would be (at the moment) Cocoa (and at the same time we'll also fix the nasty mouse click issue people have been reporting on touchpads when testing the current application bundles).
Sounds good. Tapping into Cocoa/AppKit event handling sounds like a solid plan, the documentation is from a time when the Apple docs were up to date, comprehensive and easy to read.

Next up is resource fork write support, which is already nearly completed, but there'll be more details about that later when it's done :) 
Very nice. This is absolutely putting cart before horse, but do consider reaching out to the Engsts @ TidBITS since I'm sure they'd love to play with it and give it a little publicity. Particularly for HyperCarding.

 

Toni_

Well-known member
Hi again,

I just wanted to let you guys know that we've made an interesting break-through progress in the emulator, we can now "almost" run Apple's ResEdit 2.x  :)  As a side effect, we have now resource decompression support, and a bunch of cool screenshots  :-D  

https://mace.software/2019/07/24/update-on-resource-fork-writing-resedit-and-resource-dcmp-decompressors/

There's still a lot to do, but we're working hard on getting the more general release out later this year...I'll get back to you later :)  

That makes perfect sense. Thimbleweed Park also uses SDL 2 on Windows and Mac though apparently not for rendering.

I don't know if it's defaulting to a software renderer, or using the OpenGL APIs in a dumb-as-bricks way (draw to texture, copy texture to framebuffer levels of basic) that's almost complimentary to falling back to software rendering. Both seem completely possible.

I'd have to dig into the developer.apple.com graphics tools for OpenGL to see what's up, if they're still functional with the post Metal 2, modern macOSes.

Sounds good. Tapping into Cocoa/AppKit event handling sounds like a solid plan, the documentation is from a time when the Apple docs were up to date, comprehensive and easy to read.

Very nice. This is absolutely putting cart before horse, but do consider reaching out to the Engsts @ TidBITS since I'm sure they'd love to play with it and give it a little publicity. Particularly for HyperCarding.


Thank you very much for the link and idea, it is highly appreciated and I will definitely reach out for them at some point. I think the best time to do that would be when we are ready for a more general release, as the currently packaged Stunt Copter and Missile don't really demonstrate the full capability of emulator at the moment, and there are still many things we need to fix before the general release. It's just that we don't want to make release of unfinished project to give people the wrong impression what we will aim as the final end result, but instead finalize and polish it as much as possible  :-/  I think however after we get resource file write support working reliably, we will most likely be ready for a third simple demo application  ;-)  

 

olePigeon

Well-known member
I wouldn't be surprised if the people over at GOG are watching this thread and monitoring the project.

 

Toni_

Well-known member
I wouldn't be surprised if the people over at GOG are watching this thread and monitoring the project.
That would be a fun thought :) I would love for everybody to have a chance to experience these fun games on modern computers - and something like "GOG" would definitely help with all the copyright things etc...

And speaking of games, check out this new video below  ;-)




Does anybody know who owns the copyright for Apache Strike currently? I wonder if they might be open for allowing making a M.A.C.E. bundle of the game...

There's a huuuuuuuge amount of news since last update, but we just haven't had time to write about them in the blog...I think most important thing to mention briefly is that Dark Castle, Beyond Dark Castle, Apache Strike and PT-109 are currently 99.9% functional under M.A.C.E., mostly thanks to Pukka's recent integration of the "M68K Emulator Testsuite" by Gwenole Beauchesne, which has already helped to identify and fix most of the remaining CPU bugs  :)  

 

nglevin

Well-known member
Does anybody know who owns the copyright for Apache Strike currently? I wonder if they might be open for allowing making a M.A.C.E. bundle of the game...
Maybe, but they're large enough that it's likely hard to get through to them. The best resource I can find from searching the U.S. Copyright Office involves a bulk reassignment to a very large video game company in 1999.

They have titles on GOG but not this one, in any form.

 

Toni_

Well-known member
Okay, I wrote yesterday the blog post about last month's improvements, AND we have now two more test games for trying out which I promised! :)  

The newest blog post: https://mace.software/2019/08/20/a-lot-of-fixes-improvements-and-new-test-applications/

The two new test apps are ZeroGravity and Blob Mgr Demo, available at: https://mace.software/files/

Please let us know if you have any major issues with them. There is one known problem with ZeroGravity highscore (or 'loscore') saving, in which 10.13 sandbox security prevents saving score at the moment when launched from Finder, but it should work fine with old enough Mac OS X - however, if you launch it from command line, the score saving should work on newer systems too. We have a solution for that problem in development, which however is not yet finished.

Another improvements include support for the "touch to click" issue which was reported here on 68kmla, let us know if the clicking works now ok for you guys :)  Both previous test app bundles Stunt Copter and Missile have been updated with newest M.A.C.E. runtime too.

Maybe, but they're large enough that it's likely hard to get through to them. The best resource I can find from searching the U.S. Copyright Office involves a bulk reassignment to a very large video game company in 1999.

They have titles on GOG but not this one, in any form.
Thank you for the information and effort, sadly I could not get the link to work. But I guess it is easier to focus at this point on the development, and see which games are easier to get the permission to distribute for. There are a couple cool favorite games we have been thinking about (Continuum, Fool's Errand, etc), but we still have some minor things to improve in the toolbox API before we get to the 100% completion on them (currently only known task/issue is to finish Standard File Package).

 
Last edited by a moderator:

olePigeon

Well-known member
@Toni_  You know what'd be super duper useful to get working?  AppleShare Server or FTPd.  Some sort of networking app so we can exchange files between our vintage Macs and our modern ones.  With Apple removing ftp from Mojave, it's become a pain in the butt. :(

 

pcamen

Well-known member
@Toni_  You know what'd be super duper useful to get working?  AppleShare Server or FTPd.  Some sort of networking app so we can exchange files between our vintage Macs and our modern ones.  With Apple removing ftp from Mojave, it's become a pain in the butt. :(
Amen to that.

 
Top