Hacker Timesnew | past | comments | ask | show | jobs | submitlogin
Show HN: A Project Oberon System version running on RISC-V instead of RISC-5 (github.com/rochus-keller)
121 points by Rochus 17 days ago | hide | past | favorite | 22 comments


Readers encountering this project for the first time should be aware that the earlier Oberon-on-RISC-V project <https://github.com/solbjorg/oberon-riscv> (HN discussion: <https://hackertimes.com/item?id=25497002>) exists and was already discussed on the mailing list:

<https://lists.inf.ethz.ch/pipermail/oberon/2026/017161.html>


People unaware of Project Oberon should rather have a look at https://projectoberon.net/ where they can find the free book and additional material by Prof. Wirth.


Love your commitment to this. You are doing excellent work to keep Wirth's computing spirit alive. Oberon's philosophy ( https://people.inf.ethz.ch/wirth/Oberon/Oberon07.Report.pdf ) is beautiful for the power it hides behind its simplicity and I wish it was a more popular language ...


Thanks. Though I migrated the code from Oberon-07 to Oberon 90 (so I could compile it with my OP2 version) and currently I even migrate it to my forthcoming Micron language. The Project Oberon System is very well suited for these kinds of experiments.


I am currently exploring languages, operating systems.. my conclusions so far are that the two fish in the pond are plan9, and oberon. I am also aware of Geoff Collyers criticisms of RISC-V, and the criticisms of oberon of principia-softwarica. But that's about where my knowledge ends. I am also extremely suspicious of any project that makes any use of c++, being familiar with both the art of unix programming, and the attitudes of the suckless community.

A brief glance at https://oberon-lang.github.io/2023/12/25/towards-concurrency... tells me that oberon+ supports parallelism, so I take that to mean that the criticisms in principia-softwarica no longer completely hold, at least for that new language.

Something that really surprises me is, a project so closely connected to the simplicity and elegance of oberon, also connected to c++, a language so widely vilified for complexity and ugliness, and with which oberon itself, apparently, competes. I'm sure there must be really good reasons for all this.


I should make this clearer.

On the one hand, the art of unix programming claims that object-orientation only succeeds at solving certain problems by creating something sufficiently complex that the human mind can barely cope. Then I read that oberon solves problems that c can't solve, while claiming to be better than c++. Then I read, in principia, that oberon is only simplified by getting rid of all the really interesting and valuable functionality that is in plan9.

So the questions: is that functionality really necessary, or is oberon really all we need? and.. what would a plan9 system written in object-oriented oberon look like? in oberon+ with concurrency/parallelism? would this result in a better system than the current plan9? And what about safer languages like ada? (rust being based on c++, and therefore not being a real contender..)


I am in discussion now with a colleague on the subject of c++/rust, so there will be greater clarity on that soon.

Would it be practical to have the ESP P4 self-host?


The ESP32-P4 is actually my target platform. I have a cross-compiler toolchain based on my own OP2 compiler version (see https://github.com/rochus-keller/op2/) which makes it easier to migrate. The Project Oberon System is an "intermezzo" for my actual goal, the Oberon System 3; the latter can also run my OP2 version and would thus be able to self-host. I didn't try yet to run OP2 under the Project Oberon System, but with some patience I assume it is feasible.


This is super interesting Rochus. Are you targeting Oberon System 3 in particular because it adds tcp/ip networking support? In my opinion that would make it a much more interesting system to kick the tires on, if so!


Thanks. I rather do it as a "proof of concept" to demonstrate that the Oberon System is a (hopefully) great fit with today's microcontroller boards, particularly the Olimex ESP32-P4-PC, which even has a HDMI connector. I already migrated the system to the Raspi Zero 2 which is yet another lean target, but actually oversized for the Oberon System, which doesn't even require an MMU (not to mention multiple cores). The networking support code is currently not used, because it would require yet another (pretty complex) driver. But it might be feasible (with a lot of patience) to implement it directly on the board as soon as the system and compiler run stable on it.


what does RISC-V instead of RISC-5 mean?



> The whole system runs on a low-cost development board (Xilinx Spartan-3 by Digilent, with 1 MB of static RAM)

If somebody wants their FPGA work to be available, they better choose MiSTer FPGA from the beginning. Costlier, but way more likely to be found around.


The availability of the board to run Wirt's system was an issue pretty soon. There were even people who offered their own boards to fill the gap (e.g. https://web.archive.org/web/20160831063355/http://oberonstat...).

My system version instead runs on RISC-V, so no custom FPGA implementation, currently on an emulator, but eventually on the ESP32 (which has a much better availability).


What do you think about ClockworkPi uConsole Kit R-01, ClockworkPi DevTerm Kit R-01, OrangePi?


I have mostly experience with the smaller (older) boards of OrangePi, and I think they have great boards, some even with a long availability.


> they better choose MiSTer FPGA from the beginning.

Well, the MiSTer project was yet 4 years from being launched back in 2013 when the RISC-5 was implemented in FPGA, so I hope you'd excuse Wirth from not choosing it.


And shortly after Wirth launched his RISC-5 system, the original FPGA board went out of production.


Which most likely wasn't predictable for him.

FPGAs were never that maker friendly, due to the whole ecosystem.


It probably was NRND on mouser/digikey by then... not that there was much choice in 2013- you went with what you had instead of $1000+ dev boards.


Indeed, I excuse




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: