MCPcopy Index your code
hub / github.com/felixrieseberg/macintosh.js

github.com/felixrieseberg/macintosh.js @v1.2.0 sqlite

repository ↗ · DeepWiki ↗ · release v1.2.0 ↗ · + Follow
3,223 symbols 6,002 edges 25 files 10 documented · 0%
README

macintosh.js

This is Mac OS 8, running in an Electron app pretending to be a 1991 Macintosh Quadra. Yes, it's the full thing. I'm sorry.

Screenshot

Downloads

Windows 32-bit 💿 Installer | 📦 Standalone Zip 64-bit 💿 Installer | 📦 Standalone Zip ARM64 💿 Installer | 📦 Standalone Zip ❓ Don't know what kind of chip you have? Hit start, enter "processor" for info.
macOS Intel Processor 📦 Standalone Zip Apple M1 Processor 📦 Standalone Zip ❓ Don't know what kind of chip you have? Learn more at apple.com.
Linux 32-bit 💿 rpm | 💿 deb 64-bit 💿 rpm | 💿 deb ARM64 💿 rpm | 💿 deb ARMv7 (armhf) 💿 rpm | 💿 deb ❓ Don't know what kind of chip you have? Run `uname -m` in the console.

Does it work?

Yes! Quite well, actually - on macOS, Windows, and Linux. Bear in mind that this is written entirely in JavaScript, so please adjust your expectations. The virtual machine is emulating a 1991 Macintosh Quadra 900 with a Motorola CPU, which Apple used before switching to the PowerPC architecture (Apple/IBM/Motorola) in the mid 1990s.

Should this have been a native app?

Absolutely.

Does it run my favorite game or app?

The short answer is "Yes". In fact, you'll find various games and demos preinstalled, thanks to an old MacWorld Demo CD from 1997. Namely, Oregon Trail, Duke Nukem 3D, Civilization II, Alley 19 Bowling, Damage Incorporated, and Dungeons & Dragons.

There are also various apps and trials preinstalled, including Photoshop 3, Premiere 4, Illustrator 5.5, StuffIt Expander, the Apple Web Page Construction Kit, and more.

Can I transfer files from and to the machine?

Yes, you can. Click on the "Help" button at the bottom of the running app to see instructions. You can transfer files directly - or mount disk images.

Can I connect to the Internet?

No. For what it's worth, the web was quite different 30 years ago - and you wouldn't be able to open even Google. However, Internet Explorer and Netscape are installed, as is the "Web Sharing Server", if you want to play around a bit.

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.

Credits

Please check out the CREDITS! This app wouldn't be possible without the hard work of Christian Bauer and James Friend, who did everything that seems like computing magic here.

License

This project is provided for educational purposes only. It is not affiliated with and has not been approved by Apple.

Core symbols most depended-on inside this repo

_htons
called by 331
src/basilisk/BasiliskII.js
_abort
called by 158
src/basilisk/BasiliskII.js
_puts
called by 97
src/basilisk/BasiliskII.js
_Execute68kTrap
called by 63
src/basilisk/BasiliskII.js
_memcpy
called by 61
src/basilisk/BasiliskII.js
_strlen
called by 58
src/basilisk/BasiliskII.js
_printf
called by 57
src/basilisk/BasiliskII.js
_memcmp
called by 56
src/basilisk/BasiliskII.js

Shape

Function 3,223

Languages

TypeScript100%

Modules by API surface

src/basilisk/BasiliskII.js3,153 symbols
src/basilisk/BasiliskII-worker-boot.js24 symbols
src/renderer/worker.js6 symbols
src/renderer/ipc.js6 symbols
src/renderer/atomics.js4 symbols
src/main/index.js4 symbols
src/main/windows.js3 symbols
src/renderer/screen.js2 symbols
src/renderer/iso.js2 symbols
src/renderer/input.js2 symbols
src/renderer/help.js2 symbols
src/renderer/emulator.js2 symbols

Dependencies from manifests, versioned

@electron-forge/cli6.0.5 · 1×
@electron-forge/maker-deb6.0.5 · 1×
@electron-forge/maker-rpm6.0.5 · 1×
@electron-forge/maker-squirrel6.0.5 · 1×
@electron-forge/maker-zip6.0.5 · 1×
electron23.1.3 · 1×
electron-squirrel-startup1.0.0 · 1×
node-fetch2.6.1 · 1×
update-electron-app2.0.1 · 1×

For agents

$ claude mcp add macintosh.js \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact