APA Definition
Intro
There have been a lot of people lately asking “What is APA?” and I don’t know how many times I (as well as a few others) have had to explain it. So, let’s get down to business…
APA is an acronym for All Points Addressable. What it is, basically, is direct access to individual elements of an array (eg. a LCD). Now, I know a lot of you NDS developers out there are going to say “well, the DS already has the bitmap modes”. This is true, however, and they do fit the definition of APA but sometimes you’d like to use a tile mode yet be able to directly draw to it.
On some older systems, for instance, the original Game Boy, you had no means of directly drawing to the screen. This raised some problems for people who wanted to draw shapes & such on the screen instead of making a tileset for each item they wanted to draw. Enter APA. With it, you could write an incrementing-value map to your VRAM and then draw write to the tile location in VRAM.
One downside, however, is the fact that since you’re using unique tiles for this method, a map of 256*192 pixels or 32*24 tiles at 4bpp (in the case of the NDS) comes out to ~24576 bytes… way bigger than a single tile block. So this application is better used on small sections of a tilemap rather than for full screen drawing. If you need to do full screen, the bitmap modes provide ample space for this.