Lately I've been seeing an interest in revisiting Hypercads from the classic Mac OS, I wonder if it could be run here, I'm curious about using it myself.
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.
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"...
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.
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.
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.
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.
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.
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.
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.
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.
Sure, "running in Javascript", because electron is just a browser, so there's nothing to prevent this from running in any other browser with modern JS support?
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 :)
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.
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.
76 comments
[ 5.2 ms ] story [ 141 ms ] threadThey all run in browser thanks to pce-js.
Nope ... but you might be able to using QEMU (I'm gonna assume you use Windows) [0].
---
[0]: https://dev.to/nicole/running-macos-on-windows-10-with-wsl2-...
https://en.wikipedia.org/wiki/Cyberdog
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?
The hardware manufacturers probably like this "artificial inflation of requirements"...
The "browser emulators" might be able to be made to work with iPad Safari.
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.
Same DMCA implications.
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/
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.
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.
If someone knows of an emulator that would run under early 90's DOS, then you could get to 7.
See my Tweet [1] with a screenshot.
--
1: https://twitter.com/travisbhartwell/status/13582883829131796...
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.
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.
legit roms sign up at pleasuredome
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.
Left hand, meet right hand.
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.
Edit: interestingly, it looks like he also has a Windows95 emulator in Electron.
https://github.com/felixrieseberg/windows95
https://copy.sh/v86/?profile=windows95
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.
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.
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.
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.
This JS boxing is mostly for this type of “hey look, it runs on the web” demo. Slower, but clickbait.
(click the checkbox)
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.