An Unnecessary (But Cool) Processor

[Bob] calls his custom 16-bit computer “Bob’s Unnecessary Retro Processor” or BURP for short. While we suppose it is technically unnecessary, we love the look of it, and we hope he just used it to get the quirky acronym.

When we build custom CPUs they look suspiciously like FPGA development boards, but not BURP. We immediately thought of the IMSAI and the H8 when we saw it, but [Bob] points out it also borrows from the PDP-11.

On the other hand, none of those computers had gorgeous dot matrix LED disassemblers on the front panel. The computer uses its own language, CHASM, which is a bit like assembly language and a bit like C.

The case is a tank. At first, [Bob] didn’t use all TTL chips but didn’t want to go as far as FPGAs, so he settled for CPLDs, which were smaller forerunners to modern FPGAs. However, his microcode ROM is a… well… umm… 32-bit microcontroller. But he swears to us it is used only as a ROM that he can program without hassle. This wasn’t entirely successful, so he finally bit the bullet and switched to an FPGA. There are still some CPU-emulated ROMs in the new system. There are also CPUs dealing with the front panel (especially the disassembler) and managing USB and mass storage.

Unlike some homebrew computers, BURP can address 64K of memory, has 16 registers, and clocks at a respectable 2.1 million instructions per second. There are 99 instructions in 27 broad categories.

While we know it was unnecessary, we liked it. There aren’t plans for the build that hwe could find, but there were a lot of ideas we’d like to borrow next time we’re building a toy CPU. We’ve seen builds that were a Z-80 (or other CPU) with a microcontroller for all the other parts. Or, just emulate everything. We don’t judge. Building your own CPU is a feat if you use relays, tubes, transistors, ICs, or even software.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.