You learn how to build simple NES games with 6502 Assembly. You see how the console works and how each part of the system shapes your code.
What You Learn
You start with the basics of the 6502 processor. You write small code samples to see how it handles memory and data. You then explore how the NES draws graphics, plays sound, and reads input.
How the Course Works
You build skills step by step. Each lesson adds one clear idea. You write short programs and test them on an emulator. These small pieces help you build a simple game by the end of the course.
Your Final Project
You finish with a working NES game. It uses real hardware rules, simple sprites, and clear game logic. This project ties together the ideas you learn in the course.
Gustavo Pezzi is a UK-based computer-science lecturer (Pikuma) and one of the most distinctive teachers working at the intersection of low-level programming and game development. His material is unusual in the modern course market for how deep it goes into the foundations: assembly, computer architecture, classical raycasting / rasterisation algorithms, and the math underneath modern graphics.
His CourseFlix listing reflects that range: courses on 3D Computer Graphics Programming, Raycasting Engine Programming, 2D Game Physics Programming, NES Programming with 6502 Assembly, PS1 Programming with MIPS Assembly & C, Atari 2600 Programming, Compilers, Interpreters and Formal Languages, plus C++ engine programming and Lua scripting. Material is paid and aimed at developers who want to understand systems from the ground up rather than ship CRUD apps.
Watch Online 144 lessons
This is a demo lesson (10:00 remaining)
You can watch up to 10 minutes for free. Subscribe to unlock all 144 lessons in this course and access 10,000+ hours of premium content across all courses.
This is the original, legendary Arduino course on Udemy, by Tech Explorations, fanatically supported by Dr Peter Dalmaris. It is trusted by thousands of studen
If you want to make career in Internet of Things: an evolving technology than this course is for you. You will learn everything from high level controllers to i
3h 25m
Frequently asked questions
What are the prerequisites for enrolling in this course?
This course assumes no prior knowledge of assembly language, but a basic understanding of programming concepts is helpful. Familiarity with binary and hexadecimal numbers will also be beneficial, as these topics are covered in the early lessons to help understand the 6502 processor's operation.
What is the final project for this course?
The final project involves creating a working NES game. This project incorporates real hardware rules, simple sprites, and clear game logic. It serves as a culmination of the skills learned throughout the course, including graphics manipulation, sound integration, and input handling.
Who would benefit most from this course?
This course is ideal for individuals interested in retro game development and those looking to deepen their understanding of low-level programming with 6502 Assembly. It suits hobbyists and programmers who wish to explore the historical aspects of gaming consoles and learn how hardware constraints influence software design.
How does the scope of this course compare to other programming courses?
Unlike many programming courses that focus on high-level languages, this course dives into low-level programming with 6502 Assembly. It provides a unique perspective by detailing how the NES console's hardware directly affects coding decisions, offering insight into the constraints and challenges of early game development.
What specific tools will I learn to use in this course?
You will learn to use the CA65 assembler for writing 6502 Assembly code and the FCEUX emulator for testing your programs. These tools are essential for developing NES games, and the course includes detailed instructions for installing CA65 on macOS, Linux, and Windows.
Are there any topics not covered in this course?
The course does not cover advanced game development techniques or optimization strategies for modern platforms. It focuses exclusively on the NES hardware and the 6502 Assembly language, providing foundational skills to build a simple NES game.
How much time should I expect to dedicate to this course?
The course consists of 144 lessons, each designed to build progressively on the previous one. While the exact time commitment may vary, students should be prepared to spend significant time writing and testing code, especially when working on the final project to develop a complete NES game.