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.

I even wrote a little assembler for it in 200 LOCs, I can write little programs in my made up assembly language and compile them and run them on the made up cpu.

This it what the little assembly language looks like:

The vm and the assembler combined is about 400 lines of c89 code that compiles on 's pcc.

Built a little VM in 400 lines of C. Implemented IO, 4 addressing modes and managed to write "Hello"!!

@neauoire I had a White Russian an hour ago. It was great too! :dudeeuphoric:

@neauoire dangerous territory there... work, utility, meaning, validity

whatever inspires, us or others. to show that humankind is not fixed, not on tracks, that we, our will, can be exercised to draw forth.

work is a dangerous term, misleading, as good work collapsed into a Graeber-ian (RIP) Bullshit Jobs situation. i've never experienced a job that embraces my desires to do really good, to make great programs, slowly; everywhere everyone expects compromise, shipping it. i slack & dawdle some, a decent but no where near my capabilities employee, & keep trying to scrap together my own more noble expeditious (non-commercial) attempts.

that is the true work, the golden path, whether it be the right & final path, or merely wayfinding, some subharmony of the vast open symphony, or just ill formed screwballing.

@neauoire soon this will be a zachtronics game but only famicons running plan9.

@neauoire zachtronics games are very good in this useless, feels like best part of coding, ways so I think he would be about this life.

I remember when notch planned on releasing a game where the spaceship ran his fantasy cpu and you controlled everything with its assembly language. He released its machine spec and nothing else.

@peregrine @neauoire RIP Project Trillek.
i wish someone resurrected it but using RISC-V and maybe an existing engine. (so that it would actually get a 1.0 release)

@peregrine @neauoire The DCPU-16.

Too bad it's gotten so hard to find the spec itself, the core website went offline a couple of years ago.

@neauoire I've been wanting to do something like this.

A long time ago, I started on and then fell off, with the goal of someday implementing it in FPGA.

@neauoire I watched a couple of youtube videos, and stared blankly at an empty VDMX project

@neauoire Sometimes I have only the faintest idea of what you're doing technically but I always appreciate the care you put into making an image that is an aesthetic object to showcase the work

@dualhammers I am right there with you!

@neauoire (and others on here) make all those amazing things that go waaaay over my head. I hope that over time I will absorb some of that knowledge. In the meantime, I am so along for this aesthetic ride!

@FredBednarski @neauoire For me they go over my head mostly because I look at them, think "ah, hey, that's nice" and feel no urge to learn any more.

@neauoire @dualhammers @FredBednarski one of my favorite marvel characters is forge. his power is he can intuitively invent very complex machines, but it sorta just happens. he can’t explain how the things work or how invented them. I get this feeling all the time.

@neauoire "i'll use a single board computer with no internet to stay focused, but hey, let's put a shark in the background"

@neauoire oh my gosh that's awesome!

IDK if you've ever played TIS-100, but that was a blasty blast.

@neauoire So I'm supposed to be deciding on what classes to register for by tomorrow. Instead, I am playing with this. Then, as I was about to pause, I find that you've made another commit. Please stop terrorizing me with this fun ;(

@exprez135 Sorry XD I found an issue with the JEQ/JNE opcodes. I won't touch it again for the night.

Tomorrow, I want to implement OS functions so I can draw pixels on the screen.

@neauoire Haha, no problem. All your recent Plan9 posting and stuff like this has led me down some deep rabbit holes, but I'm loving it :) I'm excited to do more with this tomorrow. Learning so much!

@exprez135 Let me know if you have any questions! Keep posted posted :)

@neauoire this is awesome. it reminds me somewhat of how streetfighter 2 and i think some space shooters implemented AI. i am guessing this is for the game mentioned on your website. (apolgoies if you’ve already said this somewhere)

@zensaiyuki I'm not really sure what this is going to be for. It was just curious exploration, I might try to make something like Processing with this.

@sirjofri yeah. and I think I can make it even simpler, I'll do some more experiments today

@neauoire if you didn’t read that book I sent, yet, now is the time

@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, #plan9-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.

@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

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.