CERBERUS 2080™ has been rendered obsolete and superseded by the new, enhanced, lower-cost CERBERUS 2100™. This repository is now maintained purely for legacy reasons. All users are encouraged to migrate to CERBERUS 2100™ as of now.
IMPORTANT UPDATE: The Dutch Home Computer museum is offering the last 30-35 original CERBERUS 2080s for sale. No more units can be made, as the DIP dual-ported SRAM chip used as video memory and character memory is no longer manufactured, and there are no reliable stocks available anywhere except at the museum (we had a final wafer manufactured for them, for CERBERUS 2080). So if you want an original CERBERUS 2080, this is your last chance. The museum sells both ready-to-use units and kits/parts.
CERBERUS 2080™ is an amazing multi-processor 8-bit microcomputer: a fully open-source project available for anyone to peruse, build, modify, extend, have fun with, write software for, or commercialize. You owe me nothing but an acknowledgment of original authorship, should you choose to use it. And yes, CERBERUS has both BASIC and FORTH interpreters available for both of its two CPUs (Z80 and 65C02). Read on for free download links below.
Everything you need to know is in the files /CERBERUS 2080 Complete Manual.pdf and /CERBERUS 2080 BoM.pdf (The PDF preview on Github isn't reliable, so you should simply download the PDF file and view it locally). The entire project is available for immediate use at Oshwlab. There is also a Facebook Group dedicated to all things CERBERUS, particularly software development for it. And HACKADAY has published an article on CERBERUS.
The official page of the CERBERUS 2080™ project can be found here. Unlike many hobby computers, CERBERUS is a self-contained system and rock-solid in terms of robustness and reliability. As an educational platform, it has been designed correctly, so as to provide a proper example of computer engineering. It also happens to be pretty darn fast!
You can buy a CERBERUS 2080 kit, with pre-programmed CPLDs and microcontroller, from the Home Computer Museum. All you need to do is solder the components, which are all through-hole parts relatively easy to solder. Check out Michael Doornbos's blog post on his experience building one. But if you prefer, you can also buy a pre-assembled unit from the museum, using the same link above. In either case, you will be contributing to a registered public-interest nonprofit dedicated to preserving the history of computers, as 100% of the proceeds go to the museum, none to me.
Here are links to software developed for, or ported to, CERBERUS and related tooling:
- Andy Toone has created a suit of online development tools for CERBERUS.
- Andy's fork of this repository also contains an enhanced BIOS with several extra features handy for game development.
- Andy himself used his BIOS to port Manic Miner to CERBERUS's W65C02S CPU. Here's a sneak preview.
- Dean Belfield has ported BBC Basic—yes, the Basic interpreter of the magnificent BBC Micro, widely considered the best Basic interpreter of the 80s—to CERBERUS's Z80 CPU. It's fully functional. Here is a demonstration of it. With BBC Basic comes also a native assembler for CERBERUS's Z80.
- Gordon Henderson has been porting his RUBY OS to CERBERUS's W65C02S CPU. With RUBY comes BBC Basic and other applications, but this time running on the 65C02! Here is a demonstration of what you can do with it.
- Alexandre Dumont has ported FORTH, the procedural, stack-oriented programming language, to CERBERUS, and developed a convenient BIOS. This port targets CERBERUS's W65C02S CPU.
- Lennart Benschop has created another version of FORTH, but this time targeting CERBERUS's Z80 CPU.
- Paul Robson has developed another emulator, supporting both CPUs, and a sprite engine for CERBERUS.
- Jeroen Venema has ported the puzzle game Sokoban to CERBERUS 2080™.
- Lennart Benschop has developed a high-resolution graphics library, usable from within BBC BASIC, which allows for high resolution plots and 3D graphics.
You can watch the entire design and build process of CERBERUS 2080™, with in-depth commentary and explanations for every design decision, in a series of videos on my YouTube channel. Famous vintage electronics YouTuber Jan Beta has also made an in-depth video showing how to assemble a CERBERUS kit.
CHANGE HISTORY:
- 26 July 2023: Obsolescence notice added, with immediate effect.
- 30 April 2022: Minor changes to the manual. On pages 7 and 58, the system architecture diagram was corrected to reflect the fact that CAT cannot talk directly to the data and address buses, but only through SPACER. On page 44, a typo was corrected so the address of the non-maskable interrupt service routine of the W65C02S (FCB0) is now correct in the text as well, not only in the memory map diagram.
- 2 January 2022: Very minor correction to the total number of 10K Ohm (from 56 to 58) and 220 Ohm (from 1 to 2) resistors required in the BoM.
- 9 September 2021: Schematics, PCB and SCUNK updated to Release 1.2 (probably the final release of CERBERUS). See change history in the respective directories of this repository.
- 26 August 2021: SPACER has been updated (from Release 1.1 to Release 1.2) to eliminate a stability vulnerability associated with the 65C02 CPU (the Z80 remains unaffected). See change history in the "CPLD_Files" directory for more details. It is recommended that all users and builders of CERBERUS 2080™ adopt R1.2 of SPACER.
- 02 July 2021: (1) Page 41 of the Manual has been updated to inform the user how to pause and step through the CELL application. (2) Github directory name changed from "CPLD Files" to "CPLD_Files" because CUPL doesn't recognize spaces in directory names. (3) The tabulations of all three .PLD files have been re-formatted for better readability. (4) The buried logic nodes are now left unassigned to pins in CAVIA.PLD and SKUNK.PLD as well, not only in SPACER.PLD. This way, the CUPL compiler makes the assignments automatically. The functionality didn't change at all, but the .PLD files are now easier to interpret.
- 23 June 2021: (1) BoM updated (10+6mm nylon standoffs also work, not only 12+6mm, as originally stated). (2) The Manual has also been updated for convenience and cosmetic reasons, but no change in substance.