I'm working on totally pointless projects right now.
It's fucking great.
This it what the little assembly language looks like:
https://git.sr.ht/~rabbits/gyo/tree/master/boot.s
The vm and the assembler combined is about 400 lines of c89 code that compiles on #plan9's pcc.
Built a little VM in 400 lines of C. Implemented IO, 4 addressing modes and managed to write "Hello"!!
@neauoire Oblio!
@neauoire +1
@neauoire Unalienated play
@neauoire dangerous territory there... work, utility, meaning, validity
@tehn
@neauoire
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 https://www.nand2tetris.org/ and then fell off, with the goal of someday implementing it in FPGA.
@neauoire ...today I watched a couple of youtube videos, and stared blankly at an empty VDMX project
@neauoire why do u have gyo in the bg
@congalala I'm not sure
@neauoire understandable have a gamer day
@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
@neauoire "This new computer... it needs a shark"
@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.
@dualhammers @FredBednarski I don't even understand what I'm doing so I don't blame you.
@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 Am distracted by Gyo and Taste of Tea
@HiroProtagonist me too
@neauoire "i'll use a single board computer with no internet to stay focused, but hey, let's put a shark in the background"
@npisanti "GET BACK TO WORK" says the shark.
@neauoire makes sense, it looks pretty convincing! xD
@neauoire That is really cool!
@neauoire For what are you building a VM? :o
@Pulsaare curiosity
@neauoire Very good
@neauoire That’s a cute walking fishie.
@Shufei fish-with-legs
@neauoire hell yeah
@neauoire oh my gosh that's awesome!
IDK if you've ever played TIS-100, but that was a blasty blast.
@kvothe no I haven't, I'll look it up
@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 :)
@exprez135 choose your classes!!
@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.
@neauoire it's crazy how simple this is, huh?
@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.
https://people.inf.ethz.ch/wirth/FPGA-relatedWork/RISC-Arch.pdf
It's actually specified in an HDL:
https://issuu.com/xcelljournal/docs/xcell_journal_issue_91/30
You could at one point exchange cash for hardware:
https://web.archive.org/web/20160304095413/http://oberonstation.x10.mx/
Granted, Wirth's design allows for 1MB RAM for running a graphical, #plan9-like OS on a monochrome 1024×768 display:
https://github.com/pdewacht/oberon-risc-emu/blob/master/po2013.png
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:
https://people.inf.ethz.ch/wirth/ProjectOberon/Sources/RISC.Mod.txt
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.
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.