Fork me on GitHub

Project Oberon emulator in JavaScript and Java

Here you can find my emulators for Project Oberon in JavaScript and Java.

Note that the JavaScript emulator does not support the original SPI (which is used for network and SD-card) and keyboard interfaces, but a simplified "paravirtualized" interface for keyboard, clipboard, sd-card, and power management instead. All these interfaces are also supported by the Java emulator (and others can be disabled) to make development easier.

JavaScript emulator

Needs a recent browser with JavaScript Canvas and Typed Arrays support. You also need a fairly fast PC or some patience during the boot process.

An Offline version is also available. It does not include any disk images. You will need to run the online version and save a disk image to your local disk first. The offline version does not support dynamic boot ROMs, so some images may not work there.

Note that clipboard access from JavaScript is severely restricted and very browser dependent. In recent Chrome and Chromium Edge versions full clipboard integration should work (if you give it permission), in Firefox unfortunately only writing to the clipboard works. So, as a fallback option, paravirtual clipboard synchronizes into a text field you can show or hide (showing it disables the JavaScript Clipboard API). You can copy and paste from there like normal.

Java emulator

Download here (598 KB)

This emulator includes three different sets of disk images. First, the images also used in the JavaScript emulator. Second it contains a set of "compatible" images: The original BootLoad.Bin (and one that uses a 4GB address space) and a disk image that does not use any of the paravirtualized features and can therefore be used with Peter De Wachter's Oberon Emulator or native as well. And last but not least a set of "big" disk and boot loader images that include all advanced features like color or different memory layouts. The "big" images can also be used with HostFS so that the filesystem content is written to a directory of the host.

Oberon Source files

The Oberon sources (for the images of both JavaScript and Java emulator) (241 KB) are also available. Files that are the same in all sets are contained in the root directory, while files that are different can be found in "Compatible", "JS" and "Bigmem" subdirectories. The directory "ExperimentalOberonTools" contains tools used to build the Experimental Oberon disk image for the JavaScript emulator.

There is also an Interactive Source Xref available for all the original ("vanilla") Project Oberon files.