In the second episode of his Commander X16 tutorial series, Matt Heffernan digs deep into 65C02 addressing modes—the quirks, shortcuts, and tricks that give 8-bit assembly its charm and flexibility. While the first episode laid the groundwork, this updated installment takes things further, working with real hardware and the latest toolchain.
Matt walks viewers through the 65C02’s memory map and shows where things live in the Commander X16’s 64KB address space. That includes which memory ranges are usable, which are off-limits, and which ones are best saved for careful footwork—like that coveted “Golden RAM.” From absolute and immediate addressing to the more puzzling indirect and indexed varieties, 65C02 addressing modes are broken down with examples, live code, and commentary.
What makes this video especially useful is Matt’s hands-on walkthrough using VSCodium and a build script to assemble the code, load it into an emulator, and inspect it with the built-in debugger. Every addressing mode gets real screen time, including how indirect indexed with Y is practically essential for writing reusable code. And yes, if you’ve ever wanted to jump through arrays with flair, 65C02 addressing modes can help make it happen.
Then, for those ready to break free from the emulator, Matt switches over to the actual Commander X16 hardware to verify that all those hex values landed exactly where they should. Between peeking memory locations and using the built-in monitor, it’s a full end-to-end test.
New to the 6502 family or brushing up for the X16? This tutorial doesn’t just explain the concepts—it demonstrates them step by step, byte by byte. Watch it, pause it, rewind it—then try it yourself.
The source code, additional instructions, and useful reference links are available on Matt’s GitHub repository:
https://github.com/SlithyMatt/x16-assembly-tutorial
Click Here to view Lesson 1 in this series.