$ cd /projects/commodore-years
2026-03-09

← back

The Commodore Years — Where It All Started

GitHub: predates the internet


PRE — Idea · Setup · Build

Goal: Understand the machine. All of it. Down to the metal.

It didn't start with the Amiga. Before that came a Commodore C16, then a C64 with a 1541 floppy drive — mostly games, some BASIC, the usual trajectory. But the Amiga is where it got serious. My father kept sponsoring the hardware — first an A500, then an upgrade to the A2000 with two floppy drives, and eventually a hard drive. He didn't fully understand what I was doing with it, but he understood that I needed it. That support was everything.

There was no internet. The scene communicated via BBS (chatting, message boards), actual postal mail, or in person at scene events. And then there were "letter disks" — 3.5" floppies mailed through the postal system. The nerd version of pen pals. You'd write your message to a friend, but instead of just putting it on paper, you'd code a little intro around it — sine wave scrollers, copper effects, custom fonts. A way to say "hello" while showing off your skills. The letter was the medium and the medium was the flex.

CompuCamp — 1989

CompuCamp was a German computer and sports camp for kids aged 8 to 20. "Computer- und Sportferien — das Programm der Superlative!" Courses in BASIC, Pascal, machine language, six different Amiga tracks, plus sports like skiing, windsurfing, and judo. I went multiple times, starting around age 13.

The problem: I already knew most of the material. I had taught myself 68000 assembly from books and magazines before attending. So the social experience was predictably awkward — I'd already outpaced the curriculum, which tends to be socially isolating regardless of the camp.

But I did win first place in the boomerang construction competition. Still have those two boomerangs in a drawer somewhere.

Eventually the instructor asked me to teach the 68000 assembly lesson. I was 14 years old, standing in front of a room full of kids, explaining Motorola opcodes and addressing modes. The teacher had run out of things to teach me, so I became the teacher instead.

68000 Assembly — The Language

The Amiga's CPU was the Motorola 68000. Elegant instruction set. 32-bit registers in a 16-bit world. I learned it the only way that worked for me: reading, trying, failing, understanding. Books. Magazines. The Seka Assembler. Hours of staring at hex dumps and register states.

The Amiga's custom chipset — Agnus, Denise, Paula — controlled graphics, sprites, and audio through memory-mapped registers. Writing to $dff080 set up the copper list. Writing to $dff096 controlled DMA channels. You didn't call an API. You talked directly to the silicon.

I reverse-engineered demos to understand how they worked. Found a demo I liked — the "Babbnasendemo" — and traced through the entire thing. No fancy tools. I read the disassembly on screen and wrote the code down on graph paper. By hand. Multiple A4 pages of move.l, swap, dbf, jsr — tracing execution paths through copper lists, blitter operations, and audio DMA setup.

I ripped music playback routines from demos by reverse engineering them, then wrote my own tools to dump and decode tracker modules from memory. At 16, I was doing the same thing I'd do at 26 with IDA Pro and Xbox kernels — just with a pen and paper instead of a disassembler.

The BBS — 1991-1992

I ran it on the family phone line. An Ami-Express (AmiEx) BBS, accessible to anyone who knew the number. Which meant: when the BBS was online, nobody in the family could make phone calls. And when someone dialed in from across Germany, the phone bill went up.

800 Deutschmarks in one month. My parents were furious. My father paid the bill anyway. He was angry, but he didn't shut it down. That distinction matters.

The BBS was affiliated with scene groups — Tarkus Team in 1991, then Supplex in 1992. I wasn't a cracker or a trainer coder. I was the sysop. I ran the infrastructure. And I built tools for it.

The Tools

Ami-Express was powerful BBS software, but I wanted more. So I coded my own extensions. All in 68000 assembly:

Tools I built for Ami-Express:
  - Nuker: a tool for sysops to invalidate uploads. When someone
    uploaded garbage, the Nuker removed it and displayed a custom
    banner: "The sysop has executed his power to remove this
    release and punish you by deducting credits." Pure theater.
  - Upload charts: ranked uploaders by volume and quality.
    Gamification before the word existed.
  - DMS/Validate tools: automated archive verification for
    incoming uploads. DMS (Disk Masher System) was the
    standard disk image format on the Amiga scene.
    Quality control at the gate.

Building BBS tools in assembly was what brought me into the scene in the first place. I wasn't there for the warez. I was there because I liked building infrastructure and making systems work better. The same impulse that would later drive me to build web platforms, trading tools, and eventually a DAC from scratch.

POST — Learnings · Afterthoughts · Timeline

What happened:

At 18, I gave the entire BBS setup to a friend. He ran it for a while longer. I was moving out, trying to find a job, attempting to "get serious." The hyperfocus shifted from the Amiga scene to music production — a thread that would run for the next two decades.

The Commodore era ended, but the patterns it established never did. Every project on this site traces back to the same impulses that drove a 13-year-old to teach himself assembly from magazines: understand how the machine works, build tools that make things better, find your people through the work.

Learnings:
  - The best way to learn is to reverse engineer something you
    admire. Not courses, not tutorials — find something
    beautiful, take it apart, understand every instruction.
    Then build your own.
  - Assembly language teaches you that there is no magic.
    Every abstraction eventually becomes move, add, branch.
    Once you understand that, nothing in computing is truly
    intimidating. Just complicated.
  - Running a BBS on your parents' phone line teaches you
    about infrastructure, community, and the cost of
    connectivity — literally, in Deutsche Mark.
  - The scene was a meritocracy. Nobody cared how old you
    were. If your code was good, you were respected. A
    14-year-old could teach assembly to a room full of
    people and nobody questioned it. That shaped how I
    think about credibility: show the work, skip the
    credentials.
  - My father sponsoring hardware he didn't understand,
    paying phone bills he didn't cause — that was the
    original angel investment. Every project I've ever
    built started with someone believing in me before
    the results were in.

Timeline:
  - ~1984: Commodore C16, then C64 + 1541 floppy. Games,
    BASIC, the usual on-ramp.
  - ~1988: Amiga 500. Everything changed.
  - 1989: CompuCamp. Already knew assembly. Won the
    boomerang competition instead. Asked to teach
    the 68000 lesson at 14.
  - 1989-1992: Self-taught 68k assembly via books and
    magazines. Seka Assembler. Reverse engineering demos.
    Handwriting disassembly on graph paper. Building
    AmiEx tools. Letter disks via postal mail.
  - 1991: BBS goes online. Tarkus Team.
    Family phone line. 800 DM phone bill.
  - 1992: BBS affiliated with Supplex. Peak activity.
  - ~1993: Gave the setup to a friend at 18. Moved out.
    Hyperfocus shifted to music.

Status: The Amiga is gone. The boomerangs are in a drawer.
  The letter disk might still be readable. And somewhere on
  yellowed graph paper, there are pages of handwritten 68000
  assembly from the Babbnasendemo — proof that I've been
  reverse engineering systems since before the internet
  existed.