I'm working on totally pointless projects right now.

It's fucking great.

So today I built a little imaginary computer with 16 registers, 256 addressable rom and memory addresses and status flags. The cpu understands 16 op codes.

Show thread

@neauoire the constraints are pretty similar to Wirth's CPU for the Oberon project.


It's actually specified in an HDL:


You could at one point exchange cash for hardware:


Granted, Wirth's design allows for 1MB RAM for running a graphical, -like OS on a monochrome 1024×768 display:


The entire thing (kernel, GC, GUI, compiler, and HDL design fits in a few tens of thousands lines of code.

· · Web · 2 · 1 · 2

@neauoire it's actually so "plan9-like" because it's what influenced Rob Pike and Russ Cox's design decisions. acme's mouse-driven shell was directly inspired by Oberon's UI. Oberon-the-system and Oberon-the-language have their influence all over plan9 and golang.


A CPU simulator for Wirth's RISC design implemented in <80 lines of code:


More verbosely, in C:


The system is small, but definitely not toy-class. There are real practical considerations that went into its design.

@colby Oberon is great :) I've messed with the emulator a lot a few months back.

@colby @neauoire Oh wow, I was only ever vaguely aware there was an Oberon language, never heard of a GUI and a CPU.

And I mostly heard of Oberon because cvsup was written in Modula-3. 🙂
Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!