I wanted to spend some time experimenting with Project Oberon, and I already had a OneChipBook FPGA laptop available. Rather than running Oberon in an emulator, I decided to see if I could turn the laptop into a dedicated Oberon machine.
The target hardware is the OneChipBook-12-A FPGA development platform. I built an FPGA image that implements the RISC5 processor used by Project Oberon and adapted it to the OneChipBook hardware.
Current status
The system boots successfully into the Oberon desktop and is usable on the OneChipBook. USB mouse support is also working, with one limitation: the mouse is not detected correctly during the initial boot.
After Oberon has booted, the USB mouse needs to be plugged in, or unplugged and plugged back in if it was already connected. Once reconnected, the mouse works normally.
I spent some time trying to correct the USB initialization issue in the FPGA logic, but ultimately decided that reconnecting the mouse after boot was a reasonable compromise for a system I mainly wanted to experiment with rather than use every day.
Building the FPGA image
The FPGA project was built using Quartus II 11.0. The downloadable package below contains the build needed to run Project Oberon on the OneChipBook.
Hardware
- OneChipBook-12-A FPGA laptop
- Altera Cyclone FPGA
- Project Oberon RISC5 processor implementation
- Built-in display and keyboard
- USB mouse support after reconnecting the mouse following boot
This was mostly a project to see whether the OneChipBook could be turned into a practical little Oberon laptop. It worked well enough that I decided to package the build and make it available here for anyone else who has the same hardware and wants to experiment with Oberon.