
Project Oberon RISC5 CPU Emulator - eterps
https://pythonoberon.readthedocs.io
======
theamk
Project Oberon, which illustrates that you can create a full interactive OS
with rather small amont of code... if you ignore most of the things that we
consider essential today, like structs and constants.

[https://inf.ethz.ch/personal/wirth/ProjectOberon/Sources/Ker...](https://inf.ethz.ch/personal/wirth/ProjectOberon/Sources/Kernel.Mod.txt)

~~~
eterps
Huh? Oberon has both structs and constants.

~~~
theamk
Sure, Oberon-the-language has structs and constants, but Oberon-the-OS does
not not use them consistently. Take a look at this code from memory allocator
(from link in my GP comments):

    
    
         ELSE GetBlock128(q); SYSTEM.PUT(q+64, 64); SYSTEM.PUT(q+68, -1); SYSTEM.PUT(q+72, list2);
    

what do you think will happen if someone proposes this code into libc or Linux
kernel? What kind of feedback would this receive today?

~~~
eterps
Good example, I see your point.

------
eterps
Not to be confused with RISC-V:
[https://en.wikipedia.org/wiki/RISC5](https://en.wikipedia.org/wiki/RISC5)

