Skip to content
About the Project

Code Like It's 198x

A comprehensive learning platform for vintage programming. Starting with the C64, expanding to cover the systems and techniques that defined early computing.

What is this?

Code Like It's 198x started as a personal project to finally understand how those magical 8-bit machines really worked. It's grown into something bigger—a complete learning platform where anyone can master vintage assembly programming through hands-on lessons and real projects.

We're starting with the Commodore 64 and building from there, focusing on one system at a time to do it properly. It's not just about nostalgia—it's about understanding how these machines drew graphics, produced sound, handled input, managed memory, and got around hard limitations with clever hacks.

All code, tools, and learnings are shared openly as we go. No gatekeeping, no paywalls, just the joy of figuring it out together.

The Story Behind This

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 Learn

Starting with the Commodore 64, then expanding to other classic systems

Your First Magic Moment

Remember that feeling when you first made something happen on screen? We'll get you there in minutes. Type a POKE command and watch a star appear. Change one number and it's a different color. That's when it clicks - you're in control of every pixel.
🎮

From POKE to Playable

Start by putting characters on screen. Then make them move. Add color. Create sprites. Play sounds. Before you know it, you're building actual games that would've been sold in shops in 1984. Every lesson ends with that "wow" moment.
🔮

Classic Techniques

Learn the techniques that pushed hardware to its limits: sprite multiplexing, raster interrupts, smooth scrolling. Understand how developers worked around hardware limitations to create impressive effects.

Modern Tools, Vintage Soul

Use VS Code, Docker, and GitHub - but write real 6502 assembly that runs on actual hardware. No emulation layers, no abstractions. When your code runs, it's talking directly to the VIC-II chip, just like Archer MacLean and Jeff Minter did.

Every System Gets Phase 0: The Gentle On-Ramp

We start where everyone started - with BASIC. Before diving into assembly, Phase 0 teaches each system's built-in language. Type your first PRINT statement. POKE a character to screen. Make a beep. Draw a line. Feel that first rush of control.

Whether it's Commodore BASIC, Sinclair BASIC, Applesoft, BBC BASIC, or even FORTH on the Jupiter Ace - you'll experience that same magic moment that hooked a generation. Then, when you're ready, we'll show you what's really happening under the hood.

The Vision: Preserving Every Platform

We're building toward covering every significant platform from the golden age. The home computers, the consoles, the handhelds - each one documented with the same depth:

• Commodore 64 • ZX Spectrum • Nintendo (NES) • Amiga 500 • Atari 800/XL • Apple II • MSX/MSX2 • BBC Micro • Amstrad CPC • Atari ST • Genesis/Mega Drive • Super Nintendo • Game Boy • TI-99/4A • VIC-20 • Many more...

This isn't just education - it's digital archaeology. Preserving the techniques, tricks, and culture of an entire era, one system at a time.

Beyond the Code

Building a complete ecosystem for vintage programming

🗄️

The Vault: Living Encyclopedia

Beyond lessons, we're building The Vault - a comprehensive encyclopedia of the era. Every legendary programmer, every groundbreaking game, every innovative technique. Cross-referenced with lessons so when you learn sprite multiplexing, you can instantly see which games used it and who invented it.

📅

Timeline: The Cultural Context

Programming didn't happen in isolation. Our Timeline weaves together technical breakthroughs with the culture around them. When the C64 launched, E.T. was in theaters and "Eye of the Tiger" topped the charts. When Elite revolutionized 3D graphics, "Ghostbusters" was breaking box office records. Understanding the era makes the code come alive.

🎬

More Than Code: Preserving a Culture

This isn't just about opcodes and memory maps. It's about bedroom coders staying up all night while "Miami Vice" played in the background. It's about typing in magazine listings while Duran Duran was on the radio. It's about the Cold War anxiety that made "WarGames" resonate. We're preserving not just how these machines worked, but what it felt like to use them.

🔮

Old Souls, New Hardware

We're not stuck in the past - we embrace the future of retro! Learn to code for modern recreations like the ZX Spectrum Next (the Spectrum that should have been), the MEGA65 (the C65 finally realized), and accelerators like Vampire and PiStorm that give classic Amigas supercomputer power.

🏛️ Our Golden Rule: Everything Must Be Emulatable

Whether you own the real hardware, a modern recreation, or just have a laptop - you can follow every lesson. We'll never gate content behind expensive or rare hardware. Learning should be accessible to everyone.

Join the Mission

Help preserve computing history for future generations

🤝

Were you there? If you coded in the 80s and 90s, your knowledge is gold. Share that trick you discovered for smooth scrolling. Document that technique you used to squeeze an extra sprite on screen. Write about the game you never finished. All contributions welcome - from typo fixes to entire system documentations.

Running a museum or event? We're seeking partnerships with computing history museums and retro events worldwide, especially in the UK. Let's create workshops, educational materials, and live demonstrations that bring this history to life.

Just passionate about preservation? Whether you're documenting obscure hardware, translating content, or helping newcomers in discussions - every contribution matters. This is a community effort to preserve an entire era of computing.

Why Learn Vintage Programming?

💡

Creative Problem-Solving

Working within 64KB of RAM and single-digit MHz processors forces elegant solutions. Every byte counts, every cycle matters.

🔧

Fundamental Understanding

Learn how computers actually work at the hardware level—memory management, CPU cycles, and direct I/O manipulation.

Historical Appreciation

Explore the creativity and ingenuity of early computer designers working with minimal resources. It's fascinating!

Who This Is For

This project is for anyone who ever felt the spark

👾

You had a ZX Spectrum, C64, or BBC Micro—and typed in listings from magazines, not knowing what half of it meant, but somehow knowing it mattered.

🕹️

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.

💾

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.

🖥️

You work in modern software, but want to know what came before—what it felt like to write for machines that had hard limits 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 any of this resonates, you're welcome here.

Ready to Start?

No signup, no newsletter, no funnel. Just the joy of figuring it out together.

Join the Discord to share your progress, get help when stuck, and connect with others on the same journey. That's where the magic happens - people showing off their first sprites, debugging each other's code, and sharing "holy cow it works!" moments.

All source code lives on GitHub. Contributions welcome!