Programming guide
From NESdev Wiki
Jump to navigationJump to search
The programming guide is the complement to the nes reference guide. You will find more in dept documentation about specific topics, tutorials to the most common problem encountered, a list of existing tools that will assist you during you development phase and more. If you're new to nes development, you should give a look to the getting started section first.
General reference
- Getting started (not done yet)
- Waiting for the PPU to power on
- CHR-ROM vs CHR-RAM and how to switch an NROM project from the former to the latter
- Emulation Libraries
- Catch-up technique used by emulators
- Buggy PowerPak mappers
- Music: Audio expansion, tools
- Tools
- Graphic tools
- Battery holder (note: must find proper section for this)
Tutorials (stub)
- CPU basics
- APU basics
- Compression
- Programming Mappers
- Programming Techniques
- Limitations
- Emulation Tutorials
- How to organize data (interleaved, column based, screen based compressed etc)
- Sample RAM map
- PPU scrolling
- How to scroll an infinite map
- How to scroll with less artifact
- How to split the screen for a status bar
- How to do parallax scrolling with the scroll register
- How to make raster effects by Bregalad (external link)
- How to keep state
- Frame based algorithm
- The frame and NMIs by Disch
- NMI thread: Make your status bar rock-solid
- Trick of the trade from well known commercial games
- Music, how to make, to play, sound fx
- Do and don't
Libraries and samples
Useful reference materials
Books
- Leventhal, Lance A. (1986). 6502 Assembly Language Programming 2nd Edition. Osborne/McGraw-Hill. ISBN 0-07-881216-X.
- Eyes, David; Lichty, Ron (1986). Programming the 65816 including the 6502, 65C02, and 65802. New York: Brady Books/Prentice Hall Press (Simon & Schuster, Inc). ISBN 0-89303-789-3.
- Zaks, Rodnay (1983). Programming the 6502 (Fourth Edition). Sybex, Inc. ISBN 0-89588-135-7.
- Zaks, Rodnay (1980). Programming the 6502 (Third Edition). Sybex, Inc. ISBN 0-89588-046-6.
Online
- Programming the 65816 by Western Design Center. PDF version
Links
- The infamous 6502.txt: allegedly complete info on the 6502 instructions
- Machine Language for Beginners: a 1983 introduction to 6502 assembly language