If you know any useful links not in the list below, please add it and contribute with a brief description. I hope you'll find it useful! NES Programming on wikibooks
Useful links for NES programming
These two articles give a good overview/introduction to NES programming.
If you know any useful links not in the list below, please add it and contribute with a brief description. I hope you'll find it useful!
NES Programming on wikibooks
Nerdy Nights NES programming
This series of tutorials cover everything you need to get started and also gets into more advanced topics, including dynamic bank switching, scrolling backgrounds and an in-depth guide to sound programming for the NES.
NES ASM Tutorials by Patater
I have not checked through this tutorial completely, since the author recommends following the Nerdy Nights tutorials instead. However, this guide by Patater is quite in-depth, and serves as a very good complement to the Nerdy Nights tutorials.
Reference for NES assembly (6502 assembly)
This reference is a must-have when you're programming for the NES.
Covers instructions and memory addressing modes of the NES CPU.
Reference for CPU address mapping and hardware
- Hardware details
- overview of how the 16 bit address space is mapped by the CPU
- List of special addresses used to communicate with various hardware, for example when writing sprites to the graphics memory
Reference for address mapping, both CPU and PPU
The CPU address map is not as detailed as in the previous reference. However, this article also covers how addresses are mapped to the PPU
NesDev Misc Collection
Contains LOTS of links to different resources. I haven't checked all of it, but you're likely to find something useful here if you dig it through.