Oberon, the jewel by Niklaus Wirth and Jürg Gutknecht: Operating System, Compiler and Computer.
Oberon Pi is a port of Peter de Wachter’s Project Oberon emulator to the Raspberry Pi OS by Richard Gleaves.
Richard Gleaves is a former UCSD Pascal Project member, and author of the 1984 Springer book “Modula-2 for Pascal Programmers”.
The software changes were mostly limited to the UI, with the goal of flattening out the learning curve for new users of the Oberon system, not only read about in a few places online, but also experienced firsthand after bringing the system up.
Richard also added Andreas Pirklbauer’s changes to the Oberon compiler, to fully implement CASE statements and fix a few compiler bugs.
The main feature in Oberon Pi is its documentation, which includes new user guides Richard wrote for the Oberon operating system and draw application, along with a complete set of Wirth’s original PDF documents on the Oberon language, now made more usable with the addition of TOCs to the PDFs.
Here an uptodate downloadable list of relevant Oberon documents:
See the github at https://github.com/richardgleaves/Oberon-Pi for Oberon Pi, ready to run on the Raspberry Pi OS.
See below how to run Oberon Pi on a 64 bit architecture Raspberry Pi OS.
Oberon Pi
Author: Richard Gleaves
This version of Oberon, named Oberon Pi, emulates the Oberon system on a Raspberry Pi 400, using the Raspberry Pi OS as the host operating system.
Oberon Pi runs as an application in the Raspberry Pi OS. When you execute the Oberon Pi command, a window opens on the Pi OS desktop. This window is the Oberon *display*, and it works like a separate computer running the Oberon system, with its own windows, command menus, and file system.
Goals
The original Oberon system includes many unusual user interface elements. These elements make the system worthy of study, both as a historical software artifact, and as a case study in user interface design.
But the original system also includes a few non-key features (such as *mouse interclicking* and opaque command names) which make the system difficult to learn.
The primary goal and purpose of Oberon Pi is instructional: to make the original Oberon system more accessible, by updating the non-key user interface elements to contemporary software standards, while preserving the key elements that make Oberon unique.
Oberon Pi includes source code and full documentation of the Oberon system and language. The system user guide is provided as both a standalone PDF file and as integrated help in the Oberon system.
System Requirements
– Raspberry Pi computer (Pi4 or Pi 5 preferred)
– 32 bit or 64 bit Raspberry Pi OS desktop vrsion(Bookworm or Bullseye)
– Desktop computer monitor (large preferred)
Installation
For details see the *Oberon Pi Setup Guide*.
History
The Oberon system was originally developed in the late 1980s by Niklaus Wirth and Jürg Gutknecht. In 2013 the system was re-implemented by Wirth and Paul Reed to run on a custom RISC processor. In 2014 an emulator for the RISC processor was developed by Peter De Wachter. Oberon Pi is a port of the emulator to the Raspberry Pi OS.
Install and run on 64 bit Raspberry Pi OS
The github distribution is for the 32 bit Raspberry Pi OS.
Make these changes to run Oberon Pi on a 64 bit Raspberry Pi OS after the initial setup but before launching Oberon Pi:
cd Oberon\Emulator mv risc risc.pi400 sudo apt install libsdl2-dev make
which will produce (silently) a new ‘risc’ executable and follow the ‘Oberon Pi Setup Guide’.
Here an archive with both 32 bit and 64 bit ‘risc’ executables.