76 comments

[ 5.2 ms ] story [ 141 ms ] thread
Does this allow me to finally test my websites in Safari?
Haven't tried it myself and don't know anything about the details, but the sosumi snap package looks like it's a VM that could do the job? https://snapcraft.io/sosumi Edit: Added the link
Safari was never released for the classic Mac OS – it was released in 2003, two years after Mac OS X was introduced. Before that, folks mostly used Internet Explorer for Mac.
iCab is better.
I’d really like to run FullWrite again! So sick of Word
With the amount of distraction this provides, it should really have a NSFW warning :)
Frankly, I don't find these sorts of things to be very interesting anymore. When Fabrice Bellard first released a usable PC emulator in JavaScript something like a decade ago, that was really interesting (and I had fun running Linux in Safari on an iPod touch!). But at this point, this is just "here's an emulator, which I compiled with emscripten (already ported, by the way), and which I've thrown into the automatic Chrome tab to 'app' maker".
Looking at the commit history and closed issues there was some actual work involved here to make it a nice plug/play experience for the end user. So, yes, the core functionality is done for the author, but there was some effort involved.
I'm not sure why this keeps appearing on HN, but I hope it's some kind of postmodern critique of everything that's wrong with our field.

This is taking Basilisk II (which is already a native app that runs on all major platforms!) and recompiling it into javascript, so that it can be run less efficiently and more bloatedly in Electron. Can we please stop doing this to ourselves?

Adding more abstraction just for the sake of it is definitely somewhat trendy these days, although it's been like that in the industry for a long time; only the extremes the web stuff goes to is a relatively recent phenomenon.

The hardware manufacturers probably like this "artificial inflation of requirements"...

On a side note, I wonder if this could run on iPads, since it's just JavaScript. If I could run Photoshop 4 decently, it suddenly becomes interesting.
I believe you can load vMac but you need a developer account: https://namedfork.net/minivmac/

The "browser emulators" might be able to be made to work with iPad Safari.

Yeah, I was thinking on a web site. Avoid the whole App Store thing. But Mini vMac looks cool too.
I really wonder: why wrap it in Electron, instead of simply hosting the emulator as a regular webpage on one of the free hosting services?

The "hard part" of making it run in a browser engine is already done. WASM is supported across all browsers with good performance. There is absolutely no advantage of running it in Electron, and it's harder for the user to install (since Windows SmartScreen will most likely block the installation, and the macOS version is distributed as a zip file.

Copyright and hosting presumably. Lot easier to throw an exe on GitHub.
How? Throw it on GitHub Pages.

Same DMCA implications.

Back in the late 90s and early 00s we used to do things like running Bochs[0] instances inside of OSs running on Bochs instances recursively.

Back then we thought it was funny, but these days that just seems to be how software works.

[0] Hey guys, remember Bochs? https://bochs.sourceforge.io/

Bochs was the go-to emulation platform when I tinkered with OS dev in the 00s.
Bochs is the best option to setup Windows 98 before loading the final image under Qemu.
What would have been more interesting is compiling basillisk2 or minivmac to WASM and seeing how well it performs compared to native (I think this may have already been done with the later). That might actually result a good convenience performance trade-off allowing for some interesting use cases: e.g popping a quadra emulator with a specific disk image into an arbitrary web page as an interactive figure in an article commenting on some part of personal computing history.

But transpiling it to JS and then wrapping in electron... just seems like some weird masochistic exercise in how to make things worse for no benefit.

then again:

> Should this have been a native app? Absolutely.

Maybe the author was fully aware of that, but this makes me wonder what their motivations were.

> Maybe the author was fully aware of that, but this makes me wonder what their motivations were.

Shits and giggles, possibly. There's something deliciously ironic and outright hilarious when totally mismatched platforms from different time periods are mashed together like this, and it still works somehow.

Technically, Basilisk doesn’t run natively on M1 macs, but seems to be running fine with Rosetta intel emulation :)
It should be possible to run a PowerPC emulator (Sheepshaver?) on M1 using x86 Rosetta, and in that emulator run original Mac programs and get 4 layers of emulation.
It's been some years since I played with it, but I think vMac worked on PPCs? If so, then you could run vMac inside of Sheepshaver and get 5. If the early version of Virtual PC works in vMac, then you could get 6.

If someone knows of an emulator that would run under early 90's DOS, then you could get to 7.

I played with both this and Basilisk II when it hit HN about 9 months ago. Basilis kII is harder to setup, mostly driven by fears of hosting Mac roms leading to incomplete instructions and shady download sites. And Mini vMac (like Basilisk II but for older Macs) was also far easier to get up and running.

Macintosh.js is one download and ships with a handful of interesting productivity tools and games. Why Basilisk II cannot do the same (one is as legal as the other) is an open question.

> fears of hosting Mac roms leading to incomplete instructions and shady download sites

I'm a bit of an emulator hobbyist and have played with the native version of Basilisk II. If you weren't an outsider and part of the communities on reddit/discord you'd know the torrents trackers to use (public and private). Sure, there are shady sites, but that's not the emulators fault. And the fix is definitely not killing the good performance of a native emu by transpiling it to JS. Improved documentation could help send new users down a better path.

I wish the community made it easier to find this information. Which reddit and discord should I sub to?
/r/ClassicMacGaming/ and /r/emulation

legit roms sign up at pleasuredome

Clearly Macintosh.js doesn't care, and if Apple whips them with a DMCA they'll just go away (it's a toy project).
What would be the point of the DMCA though? I understand it is Apple, and their infinitely funded lawyers need something to do. However, this is an old and dead OS that generates $0 income for them. If this was a method to use modern/current release of the OS without buy Apple hardware, then I could understand the lawyers.
Don’t underestimate the power of left hands not knowing what the right hand is up to.

A previous employer was once sent a C&D by the lawyers of a well-known British corporation, demanding that my employer stop distributing a certain app, apparently oblivious that said corporation had paid my employer to make and distribute that app on their behalf in the first place.

You just described Getty Images
Any similarities between Getty Images and the client of my former employer are entirely coincidental.
Sorry, I wasn't implying they had anything to do with each other. I was just saying you described the incompetence of Getty. There are similar stories of photographers hosting their images on their own site, but the lawyers sending them C&D letters because Getty reps that image for them and saying that the photog is violating the copyright that they own.

Left hand, meet right hand.

So, the apparent improvement here is that they just don't care about hosting and distributing Mac roms openly.
This is HN. If you can't get LCIIsI and/or Quadra 650 ROMs right, then this page should change its name.

Back in the late 90's/early 00's we had it more difficult to finish a lot of emulation tasks because you couldn't get these with ease.

Now you can set System 7.5.3 with ease and legally except the ROM.

I think the Gen-Z generation it's pretty much spoiled and this should be changed.

Something can be fun and ridiculous without it being some kind of critique on our field.

Last time I used Basilisk II to set up a Mac 8 VM there was considerably more work involved to get it working. With this I'm deep in nostalgia in just a few clicks.

This is purely awesome.

Maybe we should make electron more efficient?
Or maybe we should blast it into the sun.

On a more serious note - something went terribly wrong if we consider it a good idea to keep wrapping (slow) abstractions and wrappers around things which work perfectly fine.

>Should I use this for [serious application]? >Probably not. This is a toy - it's not the best nor the most performant way to emulate an old Macintosh. It is, however, a quick and easy way to experience a bit of nostalgia if you're not trying to do anything serious with it.

This accomplishes it's goal and an interesting/unique way to learn about many different technologies and how they can link together. That it brought someone joy is not a good reason to deride our field.

(comment deleted)
Tried this on Windows 10 and immediately fired up the Civilization II demo... it mostly worked well until I built a unit and tried to move. It would take about 30 seconds for the unit to move... and I couldn't interact with anything else (within the emulator) for that time. Sometimes the unit would move correctly, but most of the time it crawled. Odd! But neat for the few minutes I played with it before that bug led me to just Quit the whole emulator.
Same. It's a shame, as it would have been fun to waste an hour on the Civ2 demo. But on the other hand, now I didn't waste an hour.
I'm just really worried that to scratch the itch, I'll fire up Civ5 or Civ6...
I did the browser port of BasiliskII which this wraps (https://jamesfriend.com.au/projects/basiliskii) as well as the port of PCE (another Macintosh emulator) used on archive.org.

I see a lot of people asking why someone would distribute an Electron-wrapped version of a program you could run natively, and I see it as an extension of the the same reason why I ported these emulators to the browser in the first place: accessibility. While you can install BasiliskII natively, it's a bit of a pain, especially if you are not super technical. If you find a binary floating around online it may not work for your OS version. Wrapping it in Electron is one way to ameliorate the OS compatibility issue; Chromium has been battle-tested across many OS versions. Ideally BasiliskII would have a better OS compatibility story (as well as being more portably distributable with data files) but, like many open source projects, it doesn't have a lot of maintainer-time to make this happen.

Maybe one day more things will have been written in modern languages that treat cross-platform builds as a first-class concern (Rust, Go, etc.), and this kind of "boxing" won't be as necessary. Until then, I think your approach is very sensible for getting something fun into as many people's hands as possible :)
Basilisk is written in C++ (a portable language) and it’s a cross platform project.

This JS boxing is mostly for this type of “hey look, it runs on the web” demo. Slower, but clickbait.

Pathways into darkness demo is broken, please fix :)
Pro tip: If you are upset about paying for your Adobe Creative subscription, you can run this electron app and then open Adobe 3.0.5, from 1993. Totally free.
Gives an error 302, then an "Adobe signup" form. What were we supposed to see?
you need to press ESC to avoid the redirect. Sorry. Looks like this: https://imgur.com/a/ibNSrcl

You'll see direct downloads of CS2 and keys for it, direct from adobe themselves. A while ago they got too lazy to keep running the activation servers, so they posted non-activation-requiring downloads and keys to all the products.

It's misleading that the docs cite 1991 but Mac OS 8.0 actually came out in 1997. I suppose they are talking about the manufacture date of the emulated hardware, not the OS.
Why do so many people complain it is not native? The author even said himself that it should be native. Clearly this is just something he did for fun - why would anyone get upset about it?
Please forgive yet another nitpick since this thread is kinda negative, but “System 8” is probably what Copland would have been named had it been released. The OS we got was “Mac OS 8”, and in fact the name had already changed with Mac OS 7.6. Supposedly this was one of the things used to kill off the Mac clone program since the cloners licensed “System 7” but not “Mac OS”, but I don’t know how true that actually is.
The original Macs came with very usable applications for drawing and documents that even pros used. So reviving those programs would be worthwhile.