Thanks. I want to keep the software simple while having proper support for the graphics and audio hardware. I already have some prototype software written is RISC-V asm. I’ll probably use lua as the first high-level language, as it has a small code base and runs well on memory-constrained systems.
I’m not yet sure what features the OS will offer; it partly depends on interrupts and whether I support virtual memory. But I’m not trying to create another UNIX; there are plenty of those already. However, the system will be modern, e.g. using UTF-8 encoding.
Load-store architecture is a defining quality of RISC in general and RISC-V in particular. If you're used to a rich set of addressing modes in x86 or 68K, coding on RISC-V asm is a bit of a shock, but I'm definitely warming to it.
Burrell Smith and Andy Hertzfeld worked for Radius on the Full Page Display. How different would Apple have been if it had held onto more of the original Macintosh team in the mid-80s?
68000 is, in many ways, the pinnacle of assembler for programming, but RISC-V is pretty fun, too. I hope RISC-V tempts a few more people to try asm programming (again).
Thank you. I can't promise to get to the new design until early 2023 as I have many hardware designs I want to finish this year.
Once you've got a design working in Verilator, I strongly recommend running it on an actual board if you can: nothing beats the feeling of running on hardware :)
I've also got designs that generate DVI on the FPGA with TMDS encoding (no external IC required). I've never polished or written them up, but you can see an example here:
I'm using BRAM for framebuffers as it allows me to focus on the graphics rather than memory controllers and access. BRAM gives you dual ports and true random I/O; DRAM is much more complex.
Hello, I'm the author of the Project F blog. I've almost finished a complete overhaul of this series: animation and double-buffering are coming in October.
I’m not yet sure what features the OS will offer; it partly depends on interrupts and whether I support virtual memory. But I’m not trying to create another UNIX; there are plenty of those already. However, the system will be modern, e.g. using UTF-8 encoding.