Efficient web-based classic Mac emulator

mihai

New Tinkerer
Nov 1, 2021
8
19
3
As my MARCHintosh2022 project I've wrapped some work extending the web version of Basilisk II from a few years ago, and have published system7.app and macos8.app.

They feature instant booting (the disk image is streamed instead of needing to be downloaded at startup), much lower CPU utilization, and support for interacting with the "outside world" by dragging files in and out. I also wrote a blog post with more details.

Hope it's useful as a lower-barrier to entry to show others what the classic Mac era was like. The web works pretty much everywhere, and so do these emulators (including on iOS devices).
 

Drake

TinkerDifferent Board Vice-President 2023
Staff member
Sep 23, 2021
447
782
93
My entire life I've been waiting to load OS8 on my mobile phone, today was that day.

Guess I can recycle all these classic Macs!!
 

PotatoFi

Active Tinkerer
Oct 18, 2021
175
367
63
This is incredible. Marathon runs great! "Nice work" feels like an understatement!
 

caver01

Tinkerer
Oct 30, 2021
93
64
18
This is very cool. Messing around on an iPad Pro with the magic keyboard, but the trackpad has some odd behavior. The keyboard works, but clicking the touchpad does nothing, and the arrow cursor does not respond unless I do a two-finger reverse-pinch which is being interpretted like a click-drag in the emulator.

I have not tried it on a modern mac or PC, just iPad. It is still an incredible achievement! Thanks for posting these.
 

eric

Administrator
Staff member
Sep 2, 2021
942
1,542
93
MN
scsi.blue
@mihai - with your "Dockerfile" approach to building images - I attempted a similar thing wrapping hfsutils, while it worked, it was clunky - so glad to see machfs! One question though - are you able to add attributes and bless system folders? even with hfsutils blessing never seemed to actually do anything.
 

mihai

New Tinkerer
Nov 1, 2021
8
19
3
@mihai - with your "Dockerfile" approach to building images - I attempted a similar thing wrapping hfsutils, while it worked, it was clunky - so glad to see machfs! One question though - are you able to add attributes and bless system folders? even with hfsutils blessing never seemed to actually do anything.

I have not encountered any issues with blessing of system folders with machfs. It does appear to track where the system folder is, and that appears to be empirically correct.

It also has an API for Finder attributes, which has worked well for me.
 
  • Like
Reactions: eric

Byte Knight

Tinkerer
Oct 21, 2021
99
76
18
Wow! I thought os9.ca was cool but this is an actual emulator. Nice job!! Agreed that network connectivity would be awesome.
 

pfuentes69

Active Tinkerer
Oct 27, 2021
380
293
63
Switzerland
Hello,
This is insanely great.
I have an issue, though... When I try to upload something to my MacBook (i.e. a game I want to install in a real classic Mac) I just get "document" files.
Is there a trick for not losing the file type info?

Edit: I have also the same problem when trying to move files to the VM. I tried to move an Application or a SIT and the file type is lost.
 
Last edited:

mihai

New Tinkerer
Nov 1, 2021
8
19
3
When I try to upload something to my MacBook (i.e. a game I want to install in a real classic Mac) I just get "document" files.
Is there a trick for not losing the file type info?

Edit: I have also the same problem when trying to move files to the VM. I tried to move an Application or a SIT and the file type is lost.

The browser file APIs unfortunately don't preserve metadata (or resource forks). Archives like .hqx or .sits should work though. You may need to manually drag them into the Stuffit Expander icon (it's in the Utilities folder), there's a separate known issue with rebuilding the desktop database that makes the file association not get picked up.
 

pfuentes69

Active Tinkerer
Oct 27, 2021
380
293
63
Switzerland
The browser file APIs unfortunately don't preserve metadata (or resource forks). Archives like .hqx or .sits should work though. You may need to manually drag them into the Stuffit Expander icon (it's in the Utilities folder), there's a separate known issue with rebuilding the desktop database that makes the file association not get picked up.
Thanks. Actually what I wanted is to “steal” some games of your default setup 😅
I’ll see if I can install StuffIT so I can compress some folders and export.
 

retr01

Senior Tinkerer
Jun 6, 2022
2,473
1
796
113
Utah, USA
retr01.com
Love this! TBH, it seems to work way better than Basilik or vMiniMac.

I want more options than just Mac SE, Mac II, etc. I'd love to see SE/30, Quadra 950, etc. Oh, SE/30 (24-bit Dirty) and SE/30 (32-bit Clean)? :)

What is the maximum upload file size?

I want to mount my own HDD or CD images and even start up with my own HDD image. Maybe have a setting to start up my own HDD image?
 

mihai

New Tinkerer
Nov 1, 2021
8
19
3
Love this! TBH, it seems to work way better than Basilik or vMiniMac.

I want more options than just Mac SE, Mac II, etc. I'd love to see SE/30, Quadra 950, etc. Oh, SE/30 (24-bit Dirty) and SE/30 (32-bit Clean)? :)

Out of curiosity, what would the additional ROM options gain you? This is fundamentally a web port of Mini vMac, Basilisk II and SheepShaver, and I've tied to choose a representative set of ROMs that allow the broadest set of operating systems to be run.

What is the maximum upload file size?

It should be 1GB in theory, though I have not tried it in practice.


I want to mount my own HDD or CD images and even start up with my own HDD image. Maybe have a setting to start up my own HDD image?

That's something I'm exploring -- with recent web APIs it should be possible to load a local disk image in read/write mode. You can subscribe to https://github.com/mihaip/infinite-mac/issues/164 if you'd like to get updates.
 
  • Like
Reactions: retr01