About Code Like It's 198x

What is this?

Code Like It's 198x is a long-term personal project to learn how to write code—especially games—for the home computers and consoles of the 1980s and early 90s. Starting with the ZX Spectrum, I'm working my way through a range of machines like the Commodore 64, BBC Micro, Amiga, and NES.

It's not just about nostalgia. It's about understanding how these machines really worked: how they drew graphics, produced sound, handled input, managed memory, and got around hard limitations with clever hacks. It's part learning journey, part creative outlet, and part attempt to finally finish what I started as a kid.

But it's also become something bigger—a structured educational platform where you can learn these same skills through hands-on lessons, interactive emulators, and real projects. All code, tools, and learnings are shared openly as we go.


Why?

When I was about four years old, I watched my stepdad code a Hangman game on his C64. I didn't know what he was doing, but I knew it mattered. A few years later I got my own ZX Spectrum, and spent hours typing in magazine listings, tweaking code, and dreaming of making my own games.

I never finished any. Life got in the way.

I missed the original bedroom coder boom by a few years, but the dream stuck. I kept coding—Amiga, PC, modern languages, real software—but I never went back to really understand those old machines. I never closed that loop.

This is me doing exactly that. And now, hopefully, helping others do the same.


What you'll find here

We've built a structured curriculum around four iconic systems: the Commodore 64, ZX Spectrum, Nintendo Entertainment System, and Commodore Amiga. Each offers a complete learning pathway from basic concepts to advanced programming:

  • Step-by-step lessons teaching assembly language programming from scratch
  • Interactive emulators so you can run real code immediately
  • Historical context about the people, companies, and events that shaped computing
  • Real projects building actual games and applications
  • The Vault with deep dives into computing history and technical innovations

Plus reflections on programming, childhood, creativity, and memory. And actual games (eventually), written for machines with less RAM than a JPEG.

Why learn vintage programming?

Working within the tight constraints of 1980s hardware—64KB of RAM, single-digit MHz processors—forces creative problem-solving that makes you a better programmer. Every byte counts, every cycle matters, and elegant solutions become essential.

It's also about understanding fundamentals that modern abstractions hide: how computers actually work at the hardware level, memory management, CPU cycles, and direct I/O manipulation. These skills are invaluable for systems programming, embedded development, and performance optimisation.

And honestly? It's just fascinating to explore the creativity and ingenuity of early computer designers working with minimal resources.


Who this is for

This project is for anyone who ever felt the spark.

  • Maybe you had a ZX Spectrum, a C64, or a BBC Micro—and you typed in listings from magazines, not knowing what half of it meant, but somehow knowing it mattered.
  • Maybe you grew up just after that era, watching it fade away, and always wondered what it would've been like to be part of it.
  • Maybe you wrote disk mags or unfinished games at school, then grew up and moved on, and now feel the itch to go back—not just to remember, but to understand.
  • Maybe you work in modern software, but want to know what came before—not just historically, but viscerally. What it felt like to write for machines that had hard limits, weird architectures, and no safety nets.
  • Or maybe you're just curious. About the machines. About the people. About what it meant to create something from almost nothing.

If so, you're welcome here.

The systems we explore

Commodore 64

Learn 6502 assembly on the best-selling home computer ever made. Master the VIC-II graphics chip and create music with the legendary SID sound synthesiser.

ZX Spectrum

Master Z80 assembly on the machine that brought affordable computing to British homes. Learn to work with extreme constraints and attribute-based colour.

Nintendo Entertainment System

Program the console that revived gaming after the 1983 crash. Build games using 6502 assembly, sprites, and the NES's unique architecture.

Commodore Amiga

Explore 68000 assembly on the multimedia pioneer. Work with custom chipsets, multitasking, and professional-quality graphics and sound.


If you want to follow along

This project is personal, but it's not private.

I'm documenting everything I learn: the code, the tools, the weird emulator configs, the bugs I hit and the ones I caused. Whether you're just curious, thinking of dusting off an old project, or want to dive in and try writing your own game from scratch—feel free to use what we build.

Each lesson includes interactive emulators so you can run code immediately. No need to dig through 40-year-old forums just to get started. Choose a system that interests you and begin with lesson one—each platform offers a complete learning pathway.

New to assembly programming?

Start with the Commodore 64 lessons. The 6502 processor has a clean, beginner-friendly instruction set, and the C64's excellent documentation makes it ideal for learning assembly programming concepts.

There's no signup, no newsletter, no funnel.

Just the joy of figuring it out together.


Where to find the code

All source code, tools, and experiments for this project live here:
github.com/code198x

It's a work in progress, just like everything else.