Finished moving to codeberg.org

After we moved this website to Codeberg Pages, we now finished moving our Repositories to www.codeberg.org.

The resources page has been updated with the new URLs.

Our repositories on GitHub will remain available as push mirrors, but may vanish at some point.

Codeberg is a non-profit, community-led effort that provides Git hosting and other services for free and open source projects.

Our talk at VCFe 24.0

At this year’s installment of the Vintage Computer Festival Europa we talked about how the Steckschwein came to be in its current incarnation. Marko presented his feature complete implementation of Pacman - the only one for 6502 based systems that replicates the look and the behaviour (including bugs) of the original arcade almost completely.

In case you could not attend our talk or even VCFe, you still can download the Steckschwein slides and the Pacman slides.

Save the date - VCFe 24.0

This year’s installment of the Vintage Computer Festival Europa is - again - a special one for us: VCFe 24.0 will be focused around “50 years of 6502”!

So be prepared for lots of 6502 related and also unrelated exhibitions and talks!

We will of course be there, too, presenting Marko’s Pacman implementation - the only one for 6502 based systems that replicates the look and the behaviour (including bugs) of the original arcade almost completely.

We have moved (again)

We have indeed moved again. As of now, our homepage at www.steckschwein.de is no longer being hosted by Github Pages. Instead, we are now being hosted by www.codeberg.org.

Codeberg is a non-profit, community-led effort that provides Git hosting and other services for free and open source projects. We believe that a non-profit organization is a much better home for our project than a multi-billion-dollar multinational corporation based in the US.

Our plan is to move all our repositories from GitHub to codeberg.org.

Flash - Master of the Universe

The 28C256 EEPROM, which holds the BIOS, has been our go-to choice since the early breadboard days. Before that, we relied on EPROMs, which required UV erasure before every upgrade—a time-consuming and inconvenient process. Switching to an EEPROM significantly improved our workflow, reducing turnaround time.

However, the 28C256 has a couple of drawbacks:

  • It cannot be written in-circuit since it requires a 12V programming voltage, which the Steckschwein does not provide.
  • It is slow, with an access time of 150ns, forcing us to introduce wait states to slow down the CPU when accessing the BIOS.

Because of these limitations, using ROM routines isn’t ideal from a performance standpoint. As a result, the BIOS’s sole function is to load the steckOS bootloader from an SD card into RAM and start it.

Brainfck

After introducing BASIC and Forth as interpreted languages on the Steckschwein, it’s time to add another unique and productive language—Brainf*ck.

For those unfamiliar, Brainf*ck (or Brainf**k) is an “esoteric” programming language created in 1993 by Urban Müller, the founder of Aminet. You can read more about it on Wikipedia.

A compact Brainfck interpreter can be found here, originally developed for the Apple ][. This version served as the foundation for the Steckschwein adaptation. The Apple ][ ROM calls were replaced with custom code, and the interpreter loop was optimized using 65C02-specific instructions, making it smaller and faster. Although performance gains in Brainf*ck aren’t critical, the improvements are noteworthy.