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 runs fast, even on an older Mac. You will love the responsiveness: system startup and compilations are 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.
The new Oberon Workstation will be the "unleashed" continuation of the namesake program (now called Oberon Core) that was downloaded by thousands of users and highly rated since its first release in 2015.
Rather than being only an accurate and easy usable instantiation of the Project Oberon design by Prof. Niklaus Wirth, this application has now a new, wider scope for upcoming releases.
In a stepwise fashion, our aim is to remove limitations and provide a more powerful Oberon system, with more memory, video options and networking, without however changing more than strictly necessary lines of Wirth's code.
In contrast, we plan to facilitate customers' developments of systems that much more depart from the standard Project Oberon. For example, it should be possible to adopt a different object-file format, e.g. to implement a different Oberon dialect, or to create a new language altogether. All remaining based on the simulated RISC5 processor and devices, and while keeping the provided Oberon-07 system as a robust fallback. Until you decide that your own system is the fallback.
This release adds window resizing, and thereby makes life easier for many people who had to make use of macOS settings to get easier readable text on the Oberon screen.
Several minor bugs are solved, necessary adaptations to macOS 10.14 (Mojave) have been carried out, and the latest changes from Prof. Wirth are incorporated.
The application is kept 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 no network device is available but it is planned in a future release. 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).