An emulator written in Python for Prof Wirth's RISC processor for Project Oberon.
ReST link syntax.
Ignore pickle files (git.)


browse  log 



You can also use your local clone with git send-email.

#Python Oberon

Some software for Oberon 2013.

See also:

A hardware emulator for the new RISC processor written in Python. If Pygame is available it will open a screen of the standard dimensions of 1024 x 768 pixels. I've also implemented a very crude "assembler" which is really little more than a bunch of helper functions to emit binary instructions (in the form of 32-bit-wide ints.) However, it also provides a function dis() that will return a string representing the (integer) instruction passed to it.

Start with:

python -i -m oberon

This will use disk.img by default. At around 3400000 cycles the screen background begins to fill in, and at around 6500000 cycles the window content begins to be drawn:

PyGame window showing Oberon

(The -i option tells Python to drop into interactive REPL mode after the script has run. You can interact with the risc object.)


[X] Load pickles
[X] Save pickles
[X] Watch expressions
[X] Breakpoints
[X] RAM Inspector
[ ] RAM Map / symbol table
[ ] Reset w/ new disk|serial file(s)
[X] Step CPU button.
[X] Switches & LEDs
[X] Save breakpoints & watches
[ ] Indicate when HALT'd.
[ ] Register display mode for records.