1. Your Macintosh ROM none yet
Mac128K.ROM (exactly 65,536 bytes) once. It is kept in this
browser's storage and never uploaded. More about the ROM.2. Disk, network and power
?net=... with your friends.
About the ROM, the disks and the network
ROM. The Macintosh 128K/512K needs its 64 KB ROM to boot. Apple owns it, so this site does not
provide it. If you own such a Mac you can read the ROM out of it; the file is 65,536 bytes, often named
Mac128K.ROM (its checksum is 28BA61CE). The file goes straight from your disk into your browser's
storage (IndexedDB, with a copy in localStorage); the page never sends it anywhere ("Forget ROM" deletes it).
The browser may still throw the storage away: private/incognito windows lose it when they close, and iOS
Safari deletes a site's storage after 7 days without a visit (adding the page to the home screen prevents that).
Disks. Panzer.dsk, SpaceShoot.dsk, BoxIn.dsk, Morris.dsk,
Tetris.dsk and SnakeDeluxe.dsk are 400K MFS floppies with System 3.2 and the game as the startup
program; the site serves them and the browser Mac boots from the one you picked (?disk=panzer,
spaceshoot, boxin, morris, tetris or snakedeluxe in the
link). "Insert disk & restart" reboots the Mac from another disk at any time. Only Panzer uses the network;
the others are single player. Nothing you do on a disk is saved.
Network. The emulated Mac's LocalTalk port is connected, frame by frame, to a small relay over a WebSocket. Everybody on the same network name shares one cable: the Macs find each other with AppleTalk's NBP exactly as they would in an office in 1986. Only raw LocalTalk frames travel; there is no account and no chat. Bots drive whatever tanks have no human.
The games: 68000 assembler, built with mac68k-asm. Emulator: Mini vMac (GPL 2), compiled with Emscripten, with the LocalTalk-over-WebSocket transport, an SCC/VIA timing fix and a MOVEP fix of this project.