explaingit

felixrieseberg/macintosh.js

8,469JavaScriptAudience · generalComplexity · 1/5Setup · easy

TLDR

macintosh.js is a nostalgic desktop app that emulates a 1991 Macintosh running Mac OS 8, built with JavaScript and Electron and preloaded with classic games and vintage software from a 1997 MacWorld CD.

Mindmap

mindmap
  root((macintosh.js))
    What it does
      Emulate Mac OS 8
      Run classic apps
      File transfer
    Pre-installed
      Oregon Trail
      Duke Nukem 3D
      Early Photoshop
    Platform
      Windows
      macOS
      Linux
    Tech
      JavaScript
      Electron
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run classic Mac OS 8 games like Oregon Trail, Duke Nukem 3D, and Civilization II on a modern computer

USE CASE 2

Explore early versions of Photoshop, Premiere, and Illustrator in their original Mac OS 8 environment

USE CASE 3

Transfer files between your modern machine and the virtual Mac for retro computing experiments

USE CASE 4

Connect two running instances on the same local network via AppleTalk for local multiplayer

Tech stack

JavaScriptElectron

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

macintosh.js is a desktop application that runs Mac OS 8 inside a modern-day window on your current computer. It emulates a 1991 Macintosh Quadra 900, a specific model of old Apple computer that used a Motorola processor. The entire emulator is built with JavaScript and packaged as a standalone app using Electron, which is a framework that lets web technologies run as desktop applications. The project description includes the words "I'm sorry" because shipping a full operating system emulator as a JavaScript app is exactly as questionable as it sounds. It runs on Windows, macOS, and Linux, with downloadable installers for 32-bit and 64-bit versions of each. The app comes preloaded with content from a 1997 MacWorld Demo CD, so you get classic games like Oregon Trail, Duke Nukem 3D, and Civilization II out of the box. Several commercial applications from that era are also pre-installed, including early versions of Photoshop, Premiere, and Illustrator. You can transfer files into and out of the virtual machine, and there is a Help button in the running app that explains how. A virtual Ethernet card is present, which lets two copies of macintosh.js on the same local network communicate with each other using the AppleTalk protocol that old Macs used. Full internet access would require additional software that is not bundled, and even then the 1997-era browsers installed on the disk image would not work with most of today's websites. The README is candid that this is a toy project made for nostalgia and curiosity, not a practical tool for any serious use. The underlying emulation work comes from two other developers, Christian Bauer and James Friend, whose prior work made this possible. The project is offered for educational purposes and is not affiliated with Apple.

Copy-paste prompts

Prompt 1
Walk me through installing macintosh.js on Linux and launching Mac OS 8, what should I see when it first boots?
Prompt 2
Show me how to transfer a file from my modern Windows machine into the macintosh.js virtual Mac environment.
Prompt 3
How do I connect two macintosh.js instances on the same local network using AppleTalk so they can see each other?
Prompt 4
I want to run Oregon Trail in macintosh.js, where do I find it in the pre-installed apps and how do I launch it?
Open on GitHub → Explain another repo

← felixrieseberg on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.