Open the Mac App Store to buy and download apps.
Oberon Workstation implements "Project Oberon - Revised Edition 2013" from Prof. Niklaus Wirth, https://www.inf.ethz.ch/personal/wirth/ , on the Macintosh.
The application requires no 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.
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.
Oberon is a general purpose language from the Pascal/Modula/Oberon family, created around 1988 by Niklaus Wirth and Jurg Gutknecht at the ETH Zurich. The language was developed in combination with the Oberon operating system, establishing a single-user workstation.
Since the creation of Oberon, the system has been enhanced and implemented in several variants and on various platforms. After Wirth retired from teaching at the ETH institute, he resumed working on the original Oberon and related hardware, not to add features and complexity, but to refine and simplify Oberon as much as possible.
The resulting system, including the RISC5 processor, is a masterpiece of system design, reliability, regularity and responsiveness even on simulated hardware which is usually slow compared to "native" code.
The Oberon Workstation application is produced by Reactive Instruments for software specialists/purists/students who want to:
- write high-quality applications or system software with small footprint, and don't require advanced graphics
- learn hands-on what "Project Oberon" is about and why new languages borrow from it
- work with software that can be reviewed and understood by a single person, all the way down to the hardware
- work on a standalone or embedded Oberon system (RISC5, unless you retarget the compiler)
- study pure computer technique without complex, proprietary or obsolete distractions
- explore variant OO programming techniques, component based schemes, system variants, compiler design...
If you are new to Oberon, the system might feel "spartan" in the beginning. Until you start to discover the great power hidden in it, and get comfortable with the mouse operation. Use the Help function for a walk through the basic operations!
You will love the responsiveness: system startup and compilations are done in a fraction of a second!
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 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.
- Oberon files reside in a Mac Folder. Enables file exchange, backup, version control ...
- entire-file memory buffering. Outside Oberon, in the Files Device
- Restore function. To re-insert pristine Oberon files
- on-the-fly boot image creation at startup, from a selectable principal module
- selectable inverted screen on Video Device (black background, or white background)
- 32 "board" LEDs, with formats: hexadecimal, decimal, trap-info
- 8 latched "board" switches, (switch is reset when read by Oberon)
- Alt Restart Once function. To test a secondary module hierarchy
- selectable simulated RISC5 speeds, down to 1 Mc/s, in Alt boot mode
- Power saving if Oberon is idle (for battery life)
- Date Device, providing the current date/time from the Mac host
- error detection. Bad instructions, memory limits, bad alignment, device errors etc.
cause RISC5 to halt and the app to display an error message
What's New in Version 1.1
• Icons for Oberon Mac files.
• Added Graphics and Lola modules, Math module.
• Oberon System module updates.
• Device specification in Help.