Oberon Workstation is our new Mac application that implements "Project Oberon - Revised Edition 2013" from Prof. Niklaus Wirth.
The application is self-contained: it requires no extra downloads or special installs. It contains the compiled Oberon system files and sources including the Oberon-07 compiler. The RISC5 processor and i/o devices are simulated within the app, while the workstation screen is displayed in a Mac window.
The Oberon system is very responsive, even on an older Mac. System startup and compilations are usually done in a fraction of a second!
As a special feature, a variant of Oberon's Files implementation is included, based on a "Files Device" that transparently maps the Oberon file-system into a Folder on the Mac. In this way, exchange of files between Oberon and other Mac applications is possible.
By virtue of this Files-Device in Oberon Workstation, potentially large in-memory file buffers are allocated on the Mac host and provide ample space. Oberon software can use unregistered files that -in Oberon Workstation- never need physical disk access, until you decide to save to disk by registering them.
Constructing relatively large programs is possible if you use the "heap" mainly for structures of light-weight records/objects. Bulk storage of e.g. "sequential" data such as texts or fragments of text can easily be delegated to the (memory buffered) file system. Oberon's standard text system presents a fine example.
Oberon Workstation is the continuation of its namesake program (today called Oberon Core on the App Store) that was downloaded by thousands of users and highly rated since its first release in 2015.
The Oberon Workstation product is the first and primary receiver of new developments that go beyond the basic features of the free Oberon Core product. An example is the addition of Internet Connectivity (server and client) that was added in version 1.3.
Other major extensions that are under careful study include: variants of video display, memory layout and size, connectivity with external hardware (external to the Mac, using Bluetooth or USB port), ..
As a more long-term goal, we are considering a new (small) stand-alone Oberon computer product, which - once created - has no dependency on a Mac computer anymore, but which inherits much of Oberon Workstation.
The v1.3 release adds internet connectivity through a new system module TCPNet.Mod and memory mapped device TCPNet.
The application is still fully compatible with Project Oberon, with the exception of the low-level file system implementation. Additions are "external" to Oberon, i.e. are implemented in the periphery.
The Oberon Project uses modest hardware specifications (1Mb), screen resolution (1024 x 768) and colour depth (black and white). This limitation is still reflected in the current Oberon Workstation application. It allows the application to use the Oberon software with minimal changes.
In this version of Oberon Workstation there are no RS232 or SPI devices. If you plan to generate low-level object code or boot-images for a board, you need to replace the Input, Files, FileDirOSX and KernelOSX modules by the Project Oberon versions.
A Macintosh desktop/laptop computer with at least macOS 10.10 (Yosemite) installed, and a License Key (available for purchase in the store).