Project Oberon-V

Project Oberon-V aims two goals:

  1. become the cheapest computer of the world
  2. become the fastest computer of the world

Oberon-V runs pseudo virtual. Load statically linked module to any address in RAM. Load RAM address to register 27. Jump to the address in this register, and Oberon-V loads.

With the definition that a computer is a computer when it can compile itself including operating system with drivers, graphical user interface and development environment including the compiler. The speed of a computer is defined as the time it needs to prove that it is a computer.

RISC-V based microcontroller with 2MB PSRAM should hit the market this year to meet goal 1.
Sipeed M1s RISC-V with Bouffalo Lab BL808 processor currently is used for goal 2. This device has 480MHz RISC-V with 64bit, 64MB PSRAM and 16MB flash.

Oberon-V uses default screen of 280x240 pixel. Other LCD supported by FreeRTOS should work too with updated bootloader. Currently mouse is the touchscreen, Usr buttons 1 and 2 are mouse buttons, keyboard is not available. Sipeed told me that there should be Bluetooth drivers for HID in May.

The old Linux pov-system needed only few fixes to run the 32bit code with 64bit registers. In future, using 64bit instructions likely is preferable.

Same binary runs on Linux, 32 bit, Linux, 64 bit and FreeRTOS 64 bit on real hardware. Difference of the statically linked module is only for real hardware a 16 bit deep display is statically linked while on Linux display depth is 32 bit.

Naming convention will use appendix ".rsv" for old development system. ".v32" for developed system using only 32bit instructions and ".v64" for a system that uses 64bit instructions. Source files get "POL." prefix for old system, and "POV." for new system.



On Linux, extract pov.tgz. Execute "qemu-riscv32 ./pov32 oberon.dsk" or "qemu-riscv64 ./pov64 oberon.dsk".

On M1s, copy firmware file d0fw.bin to USB stick that appears after pressing usr1 and usr2 button together with reset button.
Copy Modules.rsv.bin and oberon.dsk to USB stick that appears after pressing reset button. Check with diff that disk is correctly written. I have to repeat disk writing.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License