Sprites

Eric Ball wrote (on AA):

For direct sprites, the address pointer in the display list entry points to the first byte of the last line of the sprite (the bottom left corner). The width is the number of bytes in the sprite.

For indirect sprites, the address pointer in the display list entry points to the first byte in the character/tile string and the width is the number bytes in the character/tile string. The address pointer formed by the CHARBASE register * 256 + the byte value from the character/tile string is then used the same way as the address pointer in the direct sprite case. 

Bruce Tomlin wrote (on AA):

I really wouldn't go so far as to call them "sprites". A proper sprite allows you to set the X and Y position.

How the 7800 graphics work is that you're setting up a bunch of bitmaps all over the screen. Moving them around is the tricky part, because you have to rebuild the DLs to move them vertically. Holey DMA is the only vertical support you get for doing sprites, and you still have to put both halves of the sprite into separate DL zones. 

Eric Ball wrote (on AA):

They're sprites; just describing their vertical position isn't as simple as a single Y position. The NES has normal sprites - X & Y position + pointer to the graphics data. But then it's limitted to 64 sprites unless you update the sprite array mid-screen. The 7800 can handle 30 on a single line.

But it's all just terminology, really. "Sprite" fits the bill close enough for me. (That's also why I refer to indirect sprites as tiles.) Taking about bitmaps makes me thing of full screen graphics. (Plus in some 7800 graphics modes the relationship between the bitmaps and the pixel colors is really strange.) 

Dan Boris wrote (on AA):

On the 7800 a single character (tile) can be anywhere from 1 to 16 lines high (depending on zone height), and 1 or 2 bytes wide (depending on the Character Width CTRL bit) where each byte can be either 2, 4, or 8 pixels wide depending on the graphics mode you are using. So a character could be 2, 4, 8 or 16 pixels wide. 

Sprites may be 1 - 32 bytes wide (32 bytes requires a 5 byte display list entry).