During the COVID lockdowns I revived an old hobby: fiddling with electronics. I discovered the YouTube channel of The 8-bit guy. and check out some videos of Ben Eater. From that first “Hello World” video, and playing with my old C64 and studying its great documentation, I slowly designed my own complete 8-bit computer.

I designed the whole thing from scratch, including:

  • An assembler
  • An eeprom programmer (both client software, firmware and hardware)
  • A virtual machine
  • The board itself of course

Of course, I only used open source software on my trustworthy Linux laptop:

  • Python for most client-side programming (assembler, eeprom-programmer)
  • C for the virtual machine (because I found a good 6502 emulator written in C)
  • C++ for all Arduino firmware (eeprom-programmer, clock timing, monitoring)
  • My own 6502 assembler dialect for the board’s software
  • KiCAD to design the PCBs
  • Visual Studio Code to do all coding in, with the PlatformIO plugin for the Arduino work

The board I have now is version 1.0 (it has a few bugs in it and missing some parts; who needs a clock circuit anyway, right?!), but current specs will probably not change much:

  • 6502 processor, running 4 or 8 MHZ
  • 32k RAM
  • 32k ROM
  • 2 parallel 8 bit input ports
  • 2 parallel 8 bit output ports
  • A display connector (this makes the output ports unusable)

All code can be found on my GitHub page.