Pinned toot

I’m designing and building 16-bit homebrew computers from the instruction set to the desktop. The most fun you will ever have with a computer is the one you built yourself. GrokThis on YouTube: youtube.com/channel/UCh4OpfF7T

Am I the only one who possesses really old hardware, yet don't dare to plug it in anymore, because I'm afraid I might be really disappointed by finding out it's now broken?

Schrödinger's Retro Computers...

@theruran @thegibson when you think about it, the reason that www came to dominate the internet may have been as simple as the fact that it became a much easier way to distribute and update applications, which has little to do with what the web was designed for.

In the end, it’s the browser-as-terminal that allowed us to give-up the freedom of personal computers for the convenience of the mainframe known as “the cloud”.

Time to take the power back.

i need to get a t-shirt that says "i should've started this process in a tmux"

It's interesting to think that jurrasic park was made on a computer that probably isn't powerful enough to watch jurrasic park on youtube

In the process of writing this code and recording the video I have proven that MicroCISC is at least useable for homebrew computing, which I must say is gratifying after all the work I put in.

Show thread

My video on MicroCISC assembly went live this morning. I walk through all of the key aspects of programming in MicroCISC and end with an animated image sliding across a 128x72 pixel virtual display.

It Works! Introducing Homebrew Assembly Language! youtu.be/Hj8gz2ZeNb0

I have a video dropping in a few hours introducing my homebrew assembly language, MicroCISC. I had no end to recording issues, sound issues and other challenges on this one. Definitely a labor of love and I think it turned out well despite all of that.

My attempt at introducing a brand new programmer to the copy instruction on Micro-CISC assuming as little as possible: github.com/grokthis/thinking-u

Show thread

Today I’m finishing up a script and recording a video introducing assembly programming in Micro-CISC. I decided I need to assume as little prior programming experience as possible on the part of the viewer. If I can introduce someone to programming for the first time one of my main goals for my homebrew computer will have been achieved.

I’m designing and building 16-bit homebrew computers from the instruction set to the desktop. The most fun you will ever have with a computer is the one you built yourself. GrokThis on YouTube: youtube.com/channel/UCh4OpfF7T

If you think about it, 90% of what computers do is conditionally copy data. It’s primarily about what data and where.

Opening video on my YouTube channel to see if I can make my own Commodore 64 inspired homebrew computer based on uCISC, my custom 16-bit CPU instruction set architecture.

youtu.be/ngTgZbuqGhE

*Update on the Mu computer's memory-safe language*

Since the language is starting to seem stable, and the error messages have been getting better, and I managed to build some little programs without _too_ much trouble, I figured it was time to start actually _talking_ about the Mu language in the documentation. So make way SubX, and yield center-stage to Mu.

github.com/akkartik/mu/blob/ma

github.com/akkartik/mu/blob/ma

Show thread

I spent the last few days implementing a 'byte' type in Mu.

For the most part, Mu is exclusively 32-bit. No long/short nonsense here. However, I do like strings. Eventually even UTF-8 strings. So, minimal byte support. Mostly they behave like 32-bit values. You can't store them on the stack. (Because x86 reasons.)

As a test, I built a little calculator app: akkartik.github.io/mu/html/app. This app also shows off multiple return values.

Read more: github.com/akkartik/mu

cc @s_ol

Show thread

16-bit processor with 2 instructions (copy and ALU) and a set of common behaviors between them (e.g. source, destination, conditional, etc). Set that on top of a carefully designed processor spec and you can scale from 1 core to unlimited on easy to implement cores, securely, with unlimited potential addressable memory, support for super scaling ops at the programmers control in a simple to understand (I hope) package. github.com/grokthis/ucisc/blob - Could be amazing or a dead end... we will see

Well, I did it. I finished my 16-bit ISA last night. I took simplicity as far as I could. No preemptive multitasking or interrupts, designed for multi-core programming for unlimited core counts, unbounded addressable memory, no privileged processor modes, design for security isolation, supports task isolation by default. Initial single core is < 3k LUTs in the FPGA with most functionality implemented.

2 basic instructions: copy and ALU instructions. That is all. Docs soon, VM updates to follow.

I mean, since getting my mechanical keyboard and getting up to speed on it, the input lag is big enough I occasionally type the wrong thing at the wrong time in vim because it still hasn’t shown a character in the buffer. I was still unprepared for how big a difference it made on this hardware. And fairly shocked by the 14% difference on a compute bound task.

Show thread
Show more
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!