https://archives.loomcom.com/contraltojs/ ContrAltoJS Xerox Alto Emulator Don't be alarmed. When using this page, your mouse and keyboard are being used by the emulator, so your normal keyboard shortcuts will probably not work. [games.dsk ] Boot Stop Reset [ ]Captive mouse Usage * Select a disk to boot from the pull-down menu, then click Boot * To see all files on the pack, type a single quetsion mark at the prompt. e.g., >? * To see only runnable programs, type: >*.run? * To run a program, just type its name and hit ENTER. e.g., >trek * Checking "Captive Mouse" will cause the emulator to capture the mouse cursor when you click the screen and release it only when you press ESCAPE. This is useful for games that expect relative mouse motion. Running Smalltalk 76 To run Smalltalk 76, boot the xmsmall.dsk image, and type: >resume xmsmall.boot Running networked applications To run network-based applications, you must choose a host ID and click the "Join Network" button below for each running instance of the emulator. The virtual network will be shared among all running instances of ContraltoJS, regardless of location. Host ID [ ] [Join Network] You can demonstrate networking by running two instances of ContraltoJS and executing Battleship.RUN from the games.dsk image. Enter "##host_id" as the name of opponent player, where host_id is the host ID of the emulator for the opposing player. Known Bugs * Ethernet emulation is a work-in-progress and has not been fully validated. * Keyboard input is laggy, keystrokes are easily missed. * You cannot save changes to disk. Project Info This is a port of the Living Computer Museum's ContrAlto project to JavaScript. Find ContrAlto On GitHub. The JavaScript project is also On GitHub. For networking, this project makes use of the Retroweb Networking project, a JavaScript networking library for tunneling legacy networking protocols over WebRTC; that project is build atop the Peerjs communications library.