The Steckschwein is a homebrew 8bit computer based on the 65c02 CPU.

The Steckschwein in it's current incarnation as single board computer

The Idea

The project began with a simple idea: create an 8‑bit computer that feels like it came straight out of the home‑computer era, yet works comfortably in today’s world. So instead of floppy disks, the system uses SD cards via SPI, blending classic design with modern convenience.

We started by using genuine period‑correct chips to stay as close as possible to the machines of that time. As those components have become harder to find, we’re gradually introducing modern replacements—always with the goal of preserving the original spirit.

The Name

The name “Steckschwein” comes from our breadboard beginnings—Steckbrett in German. With all those unruly wires, the prototypes behaved like little pigs, so the name stuck.

The Specs

ComponentSpecification
CPU65c02-CPU @ 10MHz
Memory512k SRAM / 512k Flash EEPROM
StorageSD-Card (SPI)
Serial (rs232)UART 16550
IOVIA 65c22 (2 Atari Joystick Ports + SPI (bit banged))
VideoV9958
SoundYM3812 (OPL2)
KeyboardPS/2 via ATmega8 over SPI
RTCMaxim DS1306

Further reading and more details on Steckschwein Hardware.

The Story so far

It all started with a NOP. We put a 65C02 CPU on a breadboard and hard‑wired its data bus to $EA — the 6502’s NOP instruction, meaning “no operation.” The address bus was connected to LEDs, and the CPU clock ran at about 1 kHz. The question was simple: would the LEDs show something that looked like binary counting?

The photo series below highlights several milestones from the past years. For more detailed information about our development steps and processes, please visit our Blog.

10 Years

In order to fill the void in the days between Christmas and New Year’s Eve 2013, we began experimenting with a 65C02 on a breadboard. This little experiment would later evolve into an actually working 8bit computer. 10 years and some significant amount of focus creep later we had build this cool little 8bit machine with the specifications found here.

The amount of new stuff to learn to design a new computer out of “old” or “retro” components was massive. We went about it as rather electroics noobs who only had basic knowledge about anything. We did not have a lot of experience with circuit board design. We did some assembly coding on the C64, but nothing as big and complex as a FAT32 filesystem, let alone some sort of an operating system, albeit a rudimentary one.

Saving ASCII sources in EhBasic

Our FAT32 driver now supports byte-wise writing of a file. Reason enough to continue reworking the file handling of our EhBasic port that we started here to finally having the SAVE command write ASCII source files.

The basic idea is to open a file, redirect the EhBasic output vector to our new kernel call “krn_write_byte”, then trigger the LIST command internally. The listing being output by LIST will then be written to the opened file instead the screen. Finally, once LIST is done writing, close the file and return.

VCFb 2023

For reasons mostly related to the pandemic, we did not attend VCFb since 2019. Finally, this year we managed to be there again, just im time to show our newly assembled rev0.6 (and fully working !!!) SBC boards around, and have tons of fun with other very nice people there (Hello https://mega65.org/!). Also, we talked about how the Steckschwein evolved over the last almost 10 years and about our development methodology. As always at VCFb, the talk was streamed and the video is available at media.ccc.de. Our slides from our talk can be downloaded in PDF format here and here.

SBC - Revision 0.6

After some troubleshooting, we finally finished Revision 0.6 of our boards, and the new boards are finally there, ready to be assembled. We managed to fix all the issues we found, and also did some cleaning up, used better footprints for the resistors and the mini DIN jacks.
Soldering session coming up..

Revision 0.6
Revision 0.6 boards are there

SBC - troubleshooting

Our debugging journey at VCFe began right at powering up the board the first time, when something got real hot real fast. Fair enough, and easy to spot. There was a mixup of VCC and GND at U29, a 74HCT244. Embarassing, but not that critical, as U29 is only used to connect the joystick ports to Port A of the VIA. We can live without them for now.
The mixup likely happened when I transferred the IO-board schematics from KiCad 6 to 7 while updating the symbols from the current library, which happened to be different than the old ones. I had to mirror the new symbols to fit the schematic. This meant that GND is at the top now, and VCC at the bottom. Which I happened to overlook. While routing, I was briefly wondering why U29’s bypass capacitor was at the opposite corner compared to all the other 74HCTnnn chips. I maybe should have become suspicious at that point.

It's alive - sort of

Our plan for VCF2 22.0 was to assemble the first Steckschwein SBC right at our booth as some kind of show-cooking event. That only half worked, as this quickly turned into show-debugging instead of show-cooking. It was only just right before the end of VCFe 22.0, just before we had to pack everything up, we managed to get the SBC to talk to us via serial:

{{/< tweet user=“Steckschwein” id=“1653060372813733889” >/}}