Programming guide: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
(→Tutorials (stub): linked Scanning Large Tables) |
m (→Tutorials (stub): linked Synthetic Instructions) |
||
Line 24: | Line 24: | ||
** [[Scanning Tables]] | ** [[Scanning Tables]] | ||
** [[Scanning Large Tables]] | ** [[Scanning Large Tables]] | ||
** [[Synthetic Instructions]] | |||
* [[Limitations]] | * [[Limitations]] | ||
* [[Emulation_Tutorials]] | * [[Emulation_Tutorials]] |
Revision as of 23:36, 7 June 2010
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)
- 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)
- Compression
- Programming Mappers
- Programming Techniques
- Limitations
- Emulation_Tutorials
- How to organize data (interleaved, column based, screen based compressed etc)
- 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
- PPU_scrolling
- The frame and NMIs by Disch (external link)
- Trick of the trade from well known commercial games
- Music, how to make, to play, sound fx
- NMI thread: Make your status bar rock-solid
- Do and don't
Libraries and samples
Links
- The infamous 6502.txt: allegedly complete info on the 6502 instructions
- Machine Language for Beginners: a 1983 introduction to 6502 assembly language