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.
I need to map in the VGA memory to userspace, hmm. Should be fun to write a simple driver for it.
no wait. I'm a fool. a keyboard driver is more important.
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.
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.)
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.
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!