Sega Master System Graphics Specs
Resolution and Colors
SMS games had a resolution of 256x192 pixels (NTSC) and 256x224 pixels (PAL). Unlike the NES, the SMS resolution represented a true 4:3 aspect ratio. Therefor, on the TVs available at the time, the pixels displayed by the SMS were not stretched as drastically like the NES.
Color-wise, the SMS used a palette of 64 colors that was mathematically created by 2-bit RGB values (6-bit color, 2 bits per channel). By default, a game can have 16 colors available for sprites, and 16 colors available for background tiles, with a total of 32 on-screen colors. However, background tiles can be displayed using either of the two 16-color palettes available.
Moving Objects: Sprites
There is a single sprite layer available on the SMS. Unlike the NES, which divided the sprite colors into different palettes, the SMS could use all available 16 colors on any sprite (with 1 index being used for transparency). This allowed for potentially much more attractive moving objects.
The SMS could store in vram up to 256 8x8 pixel sprite tiles (a total image size of 128x128 pixels). However, the SMS had a total limit of 448 8x8 pixel tiles for VRAM, any of which could be used as background tiles. So if a game had lots of background tiles, it might limit the number of sprite tiles that could be made. This is more flexible than the NES's hard number dedicated to background and sprite tiles, but is a bit of a trade-off in terms of how a game must manage its graphics. Unfortunately, the SMS could not flip sprites, which makes the limited sprite tiles more problematic.
Of these tiles, the system could handle up to 64 of these 8x8 sprites on-screen before causing any visual flicker (just like the NES), or rather some sprites missing from frames. If more than 8 sprites were displayed horizontally across a single scanline, this would also cause flicker.
Background Graphics
The system could display a single background tile layer on the screen. Any of the 448 tiles available in vram could be used as background tiles, including any sprite tiles. Also, background tiles could be flipped both horizontally and vertically, allowing for lots of flexibility when it comes to creating environments. Background tiles can use either of the two 16-color palettes available.
There are some tricks that can be used to give paralaxing effects to backgrounds. Like the NES, the SMS had the ability to 'split' the screen horizontally at any given vertical point, so that each portion of the split could scroll independently of one another. This is how many HUDs are created for the SMS, and also how large bosses with an otherwise single color background, seemed to move around on screen and be much bigger than what you could create using only sprites.
Special Effects & Tricks
There are some techniques you can use for SMS graphics that help bring your games to life. Below are the most common tricks that were used for many games.
Color Cycling & Swapping
The SMS can swap out palette colors on the fly. In many games you may see a flowing waterfall or river of lava. This is usually created by dedicating a unique palette to this section of the map and simply swapping out the colors in such a way to mimic a 'flow' effect with the values being changed. In this case the tile itself is not changing, only the palette is. There are other ways you can use color swapping to great effect, such as flashing environments or changing the overall color scheme on the fly (for night or day effects, or other purposes). This can be done with both tiles and sprites.
Tile Animation
The SMS is capable of full-on animated tiles which can be used to great effect. Of course the biggest limitation here is the number of tiles you can fit into vram, so the effect would need to be used sparingly and/or intelligently as to still allow enough tiles to represent the rest of the present screen.
Detailed Info
Although the information above is a concise run-down of the most common basic graphical abilities of the SMS, there is a lot more to learn as always.
For more detailed information, click HERE.
If you like the retro games, tutorials, and other content we create, you can donate via PayPal or become a Patreon backer. Thanks very much for your support.
You can also back our projects via a Bitcoin donation.
Our BTC address is: bc1qf2k0dqp2p3cys43wfs4tmdnsxzyzr4ptvkyyxz
or scan this QR code with your mobile app.
Become a patron to gain private access to behind the scenes development videos and update posts and to enable us to finish this and our other retro game projects more quickly.