I teach computer science and have worked in the field for decades and ... I kind of hate it.
libraries glued on libraries glued on libraries. thousands / tens of thousands of cycles to draw a button on screen. Black boxes we cant see into. Cpu's designed by aliens and powered by witchcraft. Stuff that should work that doesn't because *shrug*
So after years of complaining im off my duff to do something about it. Will I ever finish? Who knows.
So whats the end goal? A computer thats the antithesis of modern computer science. Simple (but modernized-ish) hardware, my own language thats simple to teach and use, and a weird pc platform to run it all on.
Kokoro managed to compile a couple of basic test cases today for a regular 6502. coming along slowly. writing an emulator for it to run on top of. once I get it a little more stable i'll start working on the enhanced instruction set.
So I have my 6502 cpu in verilog that will eventually end up on an fpga and my programming language to run it all but what do you expect me to wait in the meantime?
So ive started working on a dual rp2354B based dev board to emulate the cpu and start developing protocols to go between all of the chips on the board.
To make it as bitpunk as I can Im working on a functional external protocol to run over 1/4 trs audio cables, big satisfying clunks when you connect something.
Ive got the board mostly routed already maybe by next week ill have a first pass version ordered and I can start designing the software.
Ive already been tinkering for a bit. I chose the 6502 cpu because of it simplicity and my first task is reimplementing it as it was in verilog. Right now i have about 1/3rd of the opcodes complete. Afterwards my plan is to widen its fetch, shave some of the opcodes and add new math functions. The goal is to keep it super simple to explain to students while being able to beat the pants off the original.
Ive also started tinkering with my own language to power the machine. Its basic meets cobol. Not TOO wordy but many commands can be read by a novice (I teach computer science so I see the kids struggle).
For example
STORE 10 IN X AS NUMBER
instead of something like
Let x = 10
Is it a bit more verbose, yeah, but the goal is to make it readable by default. We'll see if it works out.