[Oberon] New to Oberon

Michael Schierl schierlm at gmx.de
Sun Jun 18 14:15:30 CEST 2023

Hello Ruben,

Am 16.06.2023 um 20:10 schrieb Ruben Schuller:
> Hi List,
> I'm new to Oberon and could use some pointers to which projects are
> recommended for someone interested. I found this [1] overview, and
> tried out Oberon A2 [2], which works nicely if using the precompiled
> versions. Building from source is missing something - compilation
> succeeds, but then some files are missing apparently.

I agree with Oliver that you want to have a look at Project Oberon 2013
- both the book (available as download from projectoberon.com) as well
as the compiler and the system.

It natively runs on Wirth's own RISC5 Architecture (not to be confused
with the RISC-V industry standard), which can be run on several FPGAs
(most of them no longer produced, but still available) but there are
emulators available as well.

Oliver already pointed to my JavaScript web emulator and to the no
longer existing emulator in the Mac App Store.

The most popular emulator is probably Peter de Wachter's one
(<https://github.com/pdewacht/oberon-risc-emu>) where is also a
precompiled Windows version available at projectoberon.com.

There are a few forks of it adding some more features (e.g. the original
design is limited to 1MB of RAM and black/white screen, while some
people prefer 64MB of RAM and 16 colors), also one made by me
(<https://github.com/schierlm/oberon-risc-emu-enhanced>) where I also
provide a Windows binary (stable release
which has been tested to run on Win95 by a list member, nightly build
Unfortunately I cannot provide Mac binaries as I have no way to test
them and no experience of cross-compiling them.

When you want to use a fork that add features (e.g. color), you will
also need modules ("drivers") to use the new features. As both real and
emulated hardware sometimes differ how these features are implemented,
there is the "Hardware Enumerator", a way for a board or emulator to
announce to the running software what hardware is available and how it
is accessed. The specification for the Hardware Enumerator is at
I also provide patches for the system to add various features at
<https://github.com/schierlm/Oberon2013Modifications> and disk images
built from them

Speaking of modified disk images, there is also Extended Oberon by
Andreas Pirklbauer, which is available at
<https://github.com/andreaspirklbauer/Oberon-extended>, and Integrated
Oberon by Charles Perkins (available at <https://github.com/io-core/io>)
which adds e.g. UTF-8 support, while the latter one has been inactive
for the last few years.



More information about the Oberon mailing list