- 18 hours on-demand video content
- Lifetime access
- Live meetup
- Downloadable resources and exercises
- Certificate on completion
- Access on mobile and desktop
- Secure checkout via Credit Card or PayPal
- 14-day money back guarantee
- Last updated December 2023
$49.99
ENROLL NOW FREE PREVIEWThis course is a gentle introduction to the fundamentals of computer architecture and 6502 assembly language. We'll learn how to program games for the Atari 2600 console and understand what makes digital machines tick. The minimal hardware of the Atari 2600 is a perfect sandbox for us to learn more about low-level programming.
At the end of the course, you'll have a working knowledge of 6502 assembly language, a comprehensive understanding of the Atari 2600 hardware, and a complete homebrew game for the VCS that we'll code together from scratch.
We'll use a simple code editor, an assembler called DASM, and a VCS emulator called Stella. All these tools are multi-platform, so you'll be able to use either Windows, macOS, or Linux!
This is a self-contained course with no formal prerequisites. However, you will probably get the most out of it if you already know the basics of coding (if-else, loops, functions).
If you like retro game development and want to learn more about computer architecture and low-level programming, then this course is definitely for you!
Gustavo Pezzi is a university lecturer in London, UK. He has won multiple education awards as a teacher and is also the founder of pikuma.com.
Gustavo teaches fundamentals of computer science and mathematics; his academic path includes institutions such as Pittsburg State University, City University of London, and University of Oxford.
The 6502 processor is an extremely important part of computing history, powering many popular game consoles and microcomputers of the past, like the Atari VCS, the NES, the Commodore 64, the Apple II, and even the Tamagotchi.
Differently than other online resources about retro game programming, this course is not simply a loose list of assembly mnemonics that only experienced developers can digest. This course tries to be as beginner-friendly as possible, giving you the chance to learn assembly in a fun way.
Trying to understand how modern computers work under the hood can be overwhelming. That's why the small architecture of the Atari 2600 is our chance to take a step back and look at the fundamental building blocks of computing. So, if you want to really learn how digital machines work and finally lose your fear of the expression "assembly programming", then get ready and buckle up! We are about to go on a super cool nerd trip together.
73% of our students come back for another course
We don't offer discounts on our courses. Ever.
"It's awesome! I've learned more in one day of taking this course than I have in a semester of taking undergraduate computer science courses... Okay, maybe a bit of an exaggeration, but it is well worth the money if you are serious about programming for the 6502. It may be a bit daunting if you have never programmed before, but the instructor does a great job of setting up the foundations you will need to begin programming in assembly. Also rubber ducks!"
"Great resource for learning and nostalgia! This course offers a gentle introduction to the Atari 2600's architecture and the 6502 processor, making complex concepts accessible even for beginners. From graphics to game logic and audio, it covers essential techniques, culminating in a hands-on game project. Highly recommended for enthusiasts aiming to create authentic retro games."
"Excellent! Learned a lot till now. Thanks."
"Great introduction to scanlines! I only heard about this so far and never actually thought about the details. So this practical introduction was fantastic to close a knowledge gap hear. I have to deduct one star though for completely ignoring PAL here. This would have been very relevant to me as a European."
"Strong foundation in 6502/6507 assembly for the Atari 2600!
The thing I loved about this course is that it really hammered home the fundamentals and built on them in every lesson. Gustavo made sure we were using the things we'd learned previously each step of the way so by the time I reached the end of the course, it was second nature.
A great example is the use of the carry flag for addition and subtraction operations. An easy thing to forget, but every time those operations were used in the code, Gustavo emphasized remembering to set and clear the carry flag.
That kind of attention to fundamentals helps them really stay with you, and I feel like I have a firm foundation to dive deeper into techniques used to produce a polished Atari 2600 game.
I found this course to be a tremendous value and highly recommend it!"