sprite pixel definition database

A place for your artistic side. Discuss techniques and tools for pixel art on the NES, GBC, or similar platforms.

Moderator: Moderators

Post Reply
User avatar
Rick314
Posts: 2
Joined: Sat Feb 01, 2025 3:24 pm

sprite pixel definition database

Post by Rick314 »

I am new to the forum and looking for a database of NES game sprite definitions -- 8x8, 16x16, 16x32, 32x32... pixel data and RGB colors for old retro games. It can be any language (C, Java, Python, assembly...) and RGB format (24-bit RGB, 16-bit RGB, ...) as long as the interpretation is clearly documented somewhere. I found https://github.com/BrianEnigma/NES_Sprite_Display and am looking for more of the same.
User avatar
Anna_TeamRocket
Posts: 24
Joined: Sat Jan 04, 2025 3:21 am

Re: sprite pixel definition database

Post by Anna_TeamRocket »

I'm not sure what you're looking for, but usually sprites take from 1 tile of 8 pixels wide up to 8 tiles of 64 pixels per scanline, limited by the 64 records in the PPU's Only Access Memory, and even that is not a hard limit. Sometimes with the flicker effect, they bypass this limitation, although at this point it's more useful to just hard-code the big sprite into one large background chunk.
User avatar
Rick314
Posts: 2
Joined: Sat Feb 01, 2025 3:24 pm

Re: sprite pixel definition database

Post by Rick314 »

Anna_TeamRocket wrote: Sat Feb 01, 2025 3:55 pm I'm not sure what you're looking for...
I am looking for the sprite definitions used in popular NES games such as Super Mario Bros, Duck Hunt, Teenage Mutant Ninja Turtles, The Legend of Zelda, Kung Fu, Dragon Quest... sprite frames showing the main characters doing the actions they did in the games. I am hoping someone has pulled the pixel/color sprite definitions out of those games and posted them somewhere for use in others' programs.
User avatar
tokumaru
Posts: 12590
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: sprite pixel definition database

Post by tokumaru »

It's very common for people to extract sprites from games and create sprite sheets to share in sites like The Spriter's Resource, but I don't think that sharing sprites in formats closer to what's used in actual ROMs (e.g. CHR + OAM + palette data) is a thing anyone does, if that's what you're asking.
User avatar
Anna_TeamRocket
Posts: 24
Joined: Sat Jan 04, 2025 3:21 am

Re: sprite pixel definition database

Post by Anna_TeamRocket »

Rick314 wrote: Sat Feb 01, 2025 7:02 pm
Anna_TeamRocket wrote: Sat Feb 01, 2025 3:55 pm I'm not sure what you're looking for...
I am looking for the sprite definitions used in popular NES games such as Super Mario Bros, Duck Hunt, Teenage Mutant Ninja Turtles, The Legend of Zelda, Kung Fu, Dragon Quest... sprite frames showing the main characters doing the actions they did in the games. I am hoping someone has pulled the pixel/color sprite definitions out of those games and posted them somewhere for use in others' programs.
Kung Fu have initially surprised me by the way they put over 4, 16 pixels wide character sprites in one scanline, but later I've realized that the main hero was actually a part of the background.
Pokun
Posts: 3082
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: sprite pixel definition database

Post by Pokun »

For the native CHR pattern definition format you could just take them directly from the CHR ROMs as long as the game isn't using CHR RAM (in which case it may be compressed in the PRG ROM). You can get both sprites and tiles from the CHR ROM as they use the same format. You wouldn't get the palette information in that case though as it's just character dot pattern data.
Nesscreentool (and the NEXXT variant) can extract them from the ROM image, display them and convert them to bitmaps or save them as CHR files (raw NES pattern data).
The CHR pattern format uses a 2bpp color depth and is explained at the wiki.

Anna_TeamRocket wrote: Sat Feb 01, 2025 3:55 pm PPU's Only Access Memory
Should be Object Attribute Memory (OAM) as it stores sprite (AKA object) attributes.
User avatar
Anna_TeamRocket
Posts: 24
Joined: Sat Jan 04, 2025 3:21 am

Re: sprite pixel definition database

Post by Anna_TeamRocket »

Pokun wrote: Sun Feb 02, 2025 1:41 pm
Anna_TeamRocket wrote: Sat Feb 01, 2025 3:55 pm PPU's Only Access Memory
Should be Object Attribute Memory (OAM) as it stores sprite (AKA object) attributes.
Oh sorry my bad, I'm still a beginner anyway. :) I was just trying to pop it from the top of my head.
Pokun
Posts: 3082
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: sprite pixel definition database

Post by Pokun »

It's usually called the sprite attribute table (SAT or something similar), but Nintendo always calls it OAM in all their consoles that has spriting hardware.
Post Reply