Follow

Up late working on a complete FOSS and web-based teaching environment for RISC-V assembly called RAWRS. It uses a WebAssembly build of GNU binutils and TinyEMU which has a tty and VGA device lol. I wrote the kernel in RISCV as well which the students can inspect. Should be good.

· · Web · 1 · 9 · 20

I need to map in the VGA memory to userspace, hmm. Should be fun to write a simple driver for it.

Show thread

no wait. I'm a fool. a keyboard driver is more important.

Show thread

writing a virt-io driver in just risc-v assembly is a righteous challenge. it's a bunch of ring buffers and I do not have dynamic memory. human brains are not designed for this.

Show thread

Finally wrote the virtio keyboard driver and allowed interrupts to happen in system calls (which are... also... interrupts... nested INTs are not for the faint of heart... I mean... I'm not make of kernel stacks and I'm out of snacks.)

Show thread

It was relatively simple supporting the framebuffer device in the RISC-V emulator. It should probably have some way of synchronizing to a set refresh rate, but, meh.

Show thread
Sign in to participate in the conversation
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!