Posted on

Of Discord and RISC-V

Apologies for the silence on the blog! We have been busy though more lately on our photos side of the house. Breaking in now to say we now have a Discord server! Why Discord and why now? Primarily it is because of the work I have been doing behind the scenes with the Turbo V project. The Turbo V is an extension of the TurboWave sound solution I have been working on, primarily for the Commander X16. It is a design I have had in my head for a few years now.

I quite enjoy the Commander X16 and think it and 6502 is a great way to start learning assembly. But not long after it came out, I realized there exists no corollary for RISC-V. RISC-V feels like a natural next step after 6502. Being that RISC-V exists in tiny microcontrollers (MCUs) all the way up to modern computers, it has modern relevance. It is also an open ISA which is a very big deal as compared to the patent encumbered ARM ISA which has caused shenanigans in the industry as a consequence.

The Turbo V lovingly takes some concepts of the Commander X16 while making some changes and updates. Unlike the X16, the Turbo V cannot purely be built from off the shelf hardware – there is no generic RISC-V CPU that is easily usable in the same was as a 6502. There are lots of RISC-V options, but most of the ones used for retro-like designs are using MCUs which do not expose much of the system out. That is not to say they aren’t very cool! But I wanted the Turbo V to embody a more conventional computer design of having a CPU with an external bus.

The goal is still a retro-style computer that is easy to understand which can be used to write assembly programs (including games and demos of course) that is also extendable given the 8-bit bus. Since a real CPU doesn’t yet exist that fits this need, I will be using an Upduino as the “CPU”. It has just enough I/O pins to expose out an 8-bit bus and includes some SRAM which can be used for high speed low RAM and system registers. This will serve as the CPU and bus manager. The rest of the system (MCU, ROM, RAM, VERA, TurboWave, etc.) will sit on the bus and the current hardware proposal uses a backplane-like design . The physical connections, at least for a prototype, will be a 2×40 pin DIP connector using a small rigid backplane PCB. The idea is these can be stacked on top to still have a small footprint in a “Tower of Power” sort of design.

Many parts will have to be surface-mount by design, but I tried to design things in a way that allowed others to design through-hole boards where they can. The main boards will be a mix and this is partly for cost and partly for part availability.

As you can tell, the project is so big that it will both take a while to do. While I have a working emulator now, the hardware design needs to get worked on, the kernel will have to be built basically from the ground up, prototypes need to be made, etc. etc. And the computer, while it will meet my needs, won’t be super relevant without a community. Discord is the first place to see if there is interest in this crazy idea and that is what pushed me to put one together.

The Discord will be for the Turbo V but also as a means to keep in touch with us for other projects and businessy things (if folks need order help, have questions, etc.).

If you want to join, you can sign up here. You can also learn more about the Turbo V here.