Oberon Pi: Bringing Niklaus Wirth’s Classic System to Modern Raspberry Pi Devices
Oberon Pi is a significant project that brings the classic Oberon system, originally developed by Niklaus Wirth and Jürg Gutknecht, to modern Raspberry Pi hardware running the Raspberry Pi OS. Created by Richard Gleaves, a former UCSD Pascal Project member and author of "Modula-2 for Pascal Programmers," Oberon Pi is a port of Peter de Wachter’s Project Oberon emulator, designed to flatten the learning curve for new users while preserving the unique characteristics of the original system. Oberon, first introduced in the late 1980s, was renowned for its simplicity and efficiency, serving as an operating system, programming language, and compiler. The system was re-implemented in 2013 by Wirth and Paul Reed to run on a custom RISC processor, and in 2014, Peter De Wachter developed an emulator for the RISC processor. Richard Gleaves then ported this emulator to the Raspberry Pi OS, making it accessible to a wider audience. Key Features of Oberon Pi Updated User Interface: While maintaining the core features that make Oberon unique, the non-key user interface elements have been updated to contemporary standards. This includes simplifying mouse interactions and clarifying command names, which historically made the system challenging for new users. Comprehensive Documentation: Oberon Pi comes with a wealth of documentation, including user guides written by Richard Gleaves and a comprehensive set of Wirth’s original PDF documents. Each PDF now includes a table of contents (TOC) for easier navigation. Integrated Help: The system user guide is available both as a standalone PDF and as integrated help within the Oberon environment, making it easier for users to access information while working. Source Code Access: Users can explore and modify the source code of the Oberon system, providing a valuable learning tool for those interested in minimalist and efficient system design. System Requirements Raspberry Pi Computer: Preferably a Raspberry Pi 4 or 5. Raspberry Pi OS: 32-bit or 64-bit desktop version (Bookworm or Bullseye). Monitor: A large desktop monitor is recommended for optimal use. Installation Detailed installation steps can be found in the Oberon Pi Setup Guide. For 64-bit Raspberry Pi OS, follow these additional steps: Navigate to the Oberon Emulator directory: sh cd Oberon\Emulator Rename the existing risc executable: sh mv risc risc.pi400 Install the SDL2 development library: sh sudo apt install libsdl2-dev Compile the new risc executable: sh make After compiling, the new risc executable will be created silently. Follow the instructions in the Oberon Pi Setup Guide to launch Oberon Pi. Historical Context The original Oberon system was developed to promote lean software principles and efficient system design. It included many innovative user interface elements that are still worth studying today. However, some of these features, such as mouse interclicking and opaque command names, were barriers to entry for new users. Oberon Pi addresses these issues, making the system more accessible for educational purposes. Impact and Evaluation Oberon Pi represents a bridge between the early days of computing and modern technological advancements. By making Oberon more accessible, Richard Gleaves has provided a valuable resource for students and enthusiasts interested in understanding the principles of efficient system design and minimalist programming. The project aligns well with the ongoing trend of reviving and studying classical computing systems to inform modern development practices. Company Profile: Richard Gleaves Richard Gleaves is a seasoned computer scientist with a rich history in the development of programming languages and systems. His involvement in the UCSD Pascal Project and his expertise in Modula-2 have prepared him well for the challenge of updating and porting the Oberon system. His contributions to Oberon Pi not only enhance the usability of the system but also preserve its historical significance, ensuring that the lessons learned from the past continue to be relevant today.
