SNES Background Modes

Did you know that some people still aren’t aware that the SNES has a whopping eight different background modes to play around with, not just the infamous Mode 7 that everyone has heard a load about already?

Well, the video below by Retro Game Mechanics Explained covers the first six of the SNES’ background modes in great detail and is well worth viewing (he has a whole separate video dedicated to Mode 7 too):

In this video, you’ll find a great overview of the SNES background modes 1-6

Despite being the best resource for how backgrounds work on SNES that I’ve found [that laymen can actually understand], there were a few things that still weren’t entirely clear to me when I first watched the video above, such as the actual amounts of colours per layer and overall for the backgrounds in Mode 0 for example, or that the amount of colours onscreen can be increased well beyond the standard 256-ish total [for background and sprites combined] using both HDMA on the background colour and colour math for transparency effects. So I’ll detail some of those things more below.

Note: Keep in mind, I’m just covering the backgrounds alone below. There’s also sprites too, which is a whole other topic that I’ll maybe cover in the future. But one thing I want to point out here is that any numbers you see for the likes of colours in the backgrounds and unique tiles, etc, are [usually] for the backgrounds alone. Sprites have an additional 128 colours entirely to themselves (except in the 256 modes, where the sprites share colours with the backgrounds), there’s 512 tiles specifically dedicated to them too (regardless of how many you use for each of the backgrounds), they can sit above or in between any of the background layers, can have their own transparency applied independently of backgrounds, and so on. Just some things to keep in mind when reading ahead.

Mode 0 (4 background layers)

Dragon Ball Z -Super Butouden 2 uses it during gameplay, allowing the split-screen effect plus parallax layers

Layers 1-4: 4 colours per tile (actually 3 plus transparency) using one of eight available 4-colour palettes per layer (actually 3-colour plus transparency), for a max of 24 visible colours per layer.

Background/Backdrop Colour: A single colour that is drawn to the screen if nothing else is shown on any particular pixels, which can be changed per scanline using HDMA.

Overall max of 97 visible colours across all the backgrounds (before HDMA and colour math are applied).

Tilemap Sizes: 32×32, 32×64, 64×32, 64×64 tiles. Tiles can be either 8×8 or 16×16 (selected size will be the same for all tiles), so the tilemap size ranges from 256×256 to 1024×1024 pixels.

Unique Tiles: Max 1024 per layer.

Other features: Row scrolling (every 8 pixels wide), line scrolling, layer priority shifting, window/shape masking, mosaic effect, colour math for transparency effects, HDMA (change main background colour per scanline, update window/shape masks per scanline, change background mode down screen, etc), interlaced mode (224-pixel image shown on even scanlines on one field and odd scanlines on the other field for a shaky pseudo 448-pixel effect, 30 full frames per second), pseudo high-res 512 half-blended pixels (dots) horizontally.

Some more examples of Mode 0 in games:

Used in the pillar level starting at 6:47:40 leading up to the Baby Bowser fight
My own Mode 0 game concept using four background layers in each level

Edit: I’ve just discovered that apparently most of the 3D flying sections in The Lawnmower Man on SNES are done using Mode 0 too, which is a really cool and novel use of the mode, so I though I’d add that in here another bonus example:

Every flying section that’s using Mode 0 in this game is just dang impressive (see 2:384:215:5510:0312:4516:5918:0529:0032:0536:1037:46), and all running on a stock SNES at a smooth 30fps too.

Mode 1 (3 background layers)

Used throughout most of the game

Layers 1-2: 16 colours per tile (actually 15 plus transparency) chosen from one of eight 16-colour palettes (actually 15-colour plus transparency), for a max of 120 colours visible per background layer.

Layer 3: 4 colours per tile (actually 3 plus transparency) chosen from one of eight 4-colour palettes (actually 3-colour plus transparency), for a max of 24 colours visible on the background layer. Shares colours and palettes with Layers 1 and 2.

Background/Backdrop Colour: A single colour that is drawn to the screen if nothing else is shown on any particular pixels, which can be changed per scanline using HDMA.

Overall max of 121 visible colours across all the backgrounds (before HDMA and colour math are applied).

Tilemap Sizes: 32×32, 32×64, 64×32, 64×64 tiles. Tiles can be either 8×8 or 16×16 (selected size will be the same for all tiles), so the tilemap size ranges from 256×256 to 1024×1024 pixels.

Unique Tiles: Max 1024 per layer.

Other features: Row scrolling (every 8 pixels wide), line scrolling, layer priority shifting, window/shape masking, mosaic effect, colour math for transparency effects, HDMA (change main background colour per scanline, update window/shape masks per scanline, change background mode down screen, etc), interlaced mode (224-pixel image shown on even scanlines on one field and odd scanlines on the other field for a shaky pseudo 448-pixel effect, 30 full frames per second), pseudo high-res 512 half-blended pixels (dots) horizontally. A single “bit-switch” can be set that moves layer 3 in front of all other layers, which is useful for HUDs (and some other cool effects and elements), and can be turned on/off per-scanline.

Some more examples of Mode 1 in games:

Used throughout the game in most levels
Used in most levels other than the stages/sections or bosses with Mode 7 rotating/scaling/shearing effects

Mode 2 (2 background layers)

Used for the vertically moving lines of blocks during gameplay

Layers 1 and 2: 16 colours per tile (actually 15 plus transparency) chosen from one of eight 16-colour palettes (actually 15-colour plus transparency), for a max of 120 colours visible per background layer.

Background/Backdrop Colour: A single colour that is drawn to the screen if nothing else is shown on any particular pixels, which can be changed per scanline using HDMA.

Overall max of 121 visible colours across all the backgrounds (before HDMA and colour math are applied).

Tilemap Sizes: 32×32, 32×64, 64×32, 64×64 tiles. Tiles can be either 8×8 or 16×16 (selected size will be the same for all tiles), so the tilemap size ranges from 256×256 to 1024×1024 pixels.

Unique Tiles: Max 1024 per layer.

Other features: Row scrolling (every 8 pixels high), line scrolling, column scrolling (every 8 pixels wide), layer priority shifting, window/shape masking, mosaic effect, colour math for transparency effects, HDMA (change main background colour per scanline, update window/shape masks per scanline, change background mode down screen, etc), interlaced mode (224-pixel image shown on even scanlines on one field and odd scanlines on the other field for a shaky pseudo 448-pixel effect, 30 full frames per second), pseudo high-res 512 half-blended pixels (dots) horizontally.

Some more examples of Mode 2 in games:

Used on the rocking/tilting icebergs on the level at 1:18:20
The final snake boss uses it for his undulating body at 37:37

Mode 3 (2 background layers)

Used on the detailed and varied city maps without worrying about the normal 16 colours per tile constraints

Layer 1: 256 colours per tile (actually 255 plus transparency) using the full 256-colour palette, for a max of 255 colours visible on the background layer.

Layer 2: 16 colours per tile (actually 15 plus transparency) chosen from one of eight 16-colour palettes (actually 15-colour plus transparency), for a max of 120 colours visible per background layer. Shares colours and palettes with Layer 1.

Background/Backdrop Colour: A single colour that is drawn to the screen if nothing else is shown on any particular pixels, which can be changed per scanline using HDMA.

Overall max of 256 visible colours across all the backgrounds (before HDMA and colour math are applied).

Tilemap Sizes: 32×32, 32×64, 64×32, 64×64 tiles. Tiles can be either 8×8 or 16×16 (selected size will be the same for all tiles), so the tilemap size ranges from 256×256 to 1024×1024 pixels.

Unique Tiles: Max 1024 per layer.

Other features: Row scrolling (every 8 pixels high), line scrolling, layer priority shifting, window/shape masking, mosaic effect, colour math for transparency effects, direct colour (BG1 uses its own set of RGB colours, up to 2048, separate from BG2 that uses the standard 128 indexed background colours), HDMA (change main background colour per scanline, update window/shape masks per scanline, change background mode down screen, etc), interlaced mode (224-pixel image shown on even scanlines on one field and odd scanlines on the other field for a shaky pseudo 448-pixel effect, 30 full frames per second), pseudo high-res 512 half-blended pixels (dots) horizontally.

Some more examples of Mode 3 in games:

Used for the high-colour intro screens and cutscenes throughout
The tiles during gameplay are unusually 12×14, so Mode 3’s 256-colours-per-tile limit is used here to avoid issues with the usual 16-colours per 8×8/16×16 tile limits

Mode 4 (2 background layers)

Used during gameplay so the different-coloured bubbles can fit next to each other within the tile-colour limits

Layer 1: 256 colours per tile (actually 255 plus transparency) using the full 256-colour palette, for a max of 255 colours visible on the background layer.

Layer 2: 4 colours per tile (actually 3 plus transparency) chosen from one of eight 4-colour palettes (actually 3-colour plus transparency), for a max of 24 colours visible per background layer. Shares colours and palettes with Layer 1.

Background/Backdrop Colour: A single colour that is drawn to the screen if nothing else is shown on any particular pixels, which can be changed per scanline using HDMA.

Overall max of 256 visible colours across all the backgrounds (before HDMA and colour math are applied).

Tilemap Sizes: 32×32, 32×64, 64×32, 64×64 tiles. Tiles can be either 8×8 or 16×16 (selected size will be the same for all tiles), so the tilemap size ranges from 256×256 to 1024×1024 pixels.

Unique Tiles: Max 1024 per layer.

Other features: Row scrolling (every 8 pixels high), line scrolling, column scrolling (every 8 pixels wide), layer priority shifting, window/shape masking, mosaic effect, colour math for transparency effects, direct colour (BG1 uses its own set of RGB colours, up to 2048, separate from BG2 that uses the standard 128 indexed background colours), HDMA (change main background colour per scanline, update window/shape masks per scanline, change background mode down screen, etc), interlaced mode (224-pixel image shown on even scanlines on one field and odd scanlines on the other field for a shaky pseudo 448-pixel effect, 30 full frames per second), pseudo high-res 512 half-blended pixels (dots) horizontally.

Another examples of Mode 4 in a game:

Used on the strange looking lined-wipe effect during the intro at 0:44, while also in 256-colour mode

Mode 5 (2 background layers)

Used throughout, but doesn’t nearly take advantage of either the full colour or layer limits of this mode

Layer 1: 16 colours per tile (actually 15 plus transparency) chosen from one of eight 16-colour palettes (actually 15-colour plus transparency), for a max of 120 colours visible on the background layer.

Layer 2: 4 colours per tile (actually 3 plus transparency) chosen from one of eight 4-colour palettes (actually 3-colour plus transparency), for a max of 24 colours visible on the background layer. Shares colours and palettes with Layer 1.

Background/Backdrop Colour: A single colour that is drawn to the screen if nothing else is shown on any particular pixels, which can be changed per scanline using HDMA.

Overall max of 121 visible colours across all the backgrounds (before HDMA and colour math are applied).

Tilemap Sizes: 32×32, 32×64, 64×32, 64×64 tiles. Tiles can be either 16×8 or 16×16 (selected size will be the same for all tiles), so the tilemap size ranges from 256×256 to 1024×1024 pixels.

Unique Tiles: Max 1024 per layer.

Other features: 512 full-pixels (dots) wide high-res mode, row scrolling (every 8 pixels high), line scrolling, layer priority shifting, window/shape masking, mosaic effect, colour math for transparency effects, HDMA (change main background colour per scanline, update window/shape masks per scanline, change background mode down screen, etc), interlaced mode (full 448-pixel image split vertically into even and odd scanlines, with the even scanlines shown on one field and odd scanlines on the other field, 30 full frames per second).

Some more examples of Mode 5 in games:

Used for the many faux semi-transparent effects throughout the game
Used for the HUD and pop-up info guides to fake transparency, as seen at 1:17 in this video

Edit: Actually, I think the Kirby’s Dream Land 3 and Jurassic Park examples above are not Mode 5, but they do use the horizonal 512-pixel [pseudo]-high-res effect in one of the other background modes (possibly Mode 1).

Mode 6 (2 background layers)

I don’t actually know of any commercially-released games that use this mode, but here’s a link to a pretty impressive demo of it in action with the other background modes all onscreen at once. You’ll have to run it in a SNES emulator to get it working.

1 background layer, 16 colours per tile (actually 15 plus transparency) using one of eight 16-colour palettes (actually 15-colour plus transparency), for a max max of 120 visible colours on the background.

Background/Backdrop Colour: A single colour that is drawn to the screen if nothing else is shown on any particular pixels, which can be changed per scanline using HDMA.

Overall max of 121 visible colours (before before HDMA and colour math are applied).

Tilemap Sizes: 32×32, 32×64, 64×32, 64×64 tiles. Tiles can be either 16×8 or 16×16 (selected size will be the same for all tiles), so the tilemap size ranges from 256×256 to 1024×1024 pixels.

Unique Tiles: Max 1024 per layer.

Other features: 512 full-pixels (dots) wide high-res mode, row scrolling (every 8 pixels high), line scrolling, column scrolling (every 16 half-pixels wide), layer priority shifting, window/shape masking, mosaic effect, colour math for transparency effects, HDMA (change main background colour per scanline, update window/shape masks per scanline, change background mode down screen, etc), interlaced mode (full 448-pixel image split vertically into even and odd scanlines, with the even scanlines shown on one field and odd scanlines on the other field, 30 full frames per second).

Edit: Finally found an example of Mode 6. It’s not from an officially released game, but any example of the most rare SNES background mode is appreciated at this point:

The elusive Mode 6 in action. You can see the blocks and water at the bottom waving up and down using the column scrolling, and it looks like it’s in the 512×448 higher resolution too.

Mode 7 (1 background layer)

Used during the races for the lovely 3D perspective effect on the courses

1 very special and unique background layer, 256 colours per tile (actually 255 plus transparency) and 255 colours total for the background.

Background/Backdrop Colour: A single colour that is drawn to the screen if nothing else is shown on any particular pixels, which can be changed per scanline using HDMA.

Overall max of 256 visible colours (before HDMA and colour math are applied).

Tilemap Size: 128×128 tiles, 8×8 tile size, and 1024×1024 pixels.

Unique Tiles: 256.

Other features: Layer priority shifting (using EXTBG setting), window/shape masking, mosaic effect, colour math for transparency effects, HDMA (change main background colour per scanline, update window/shape masks per scanline, change background mode down screen, background Rotation, scaling, shearing, etc).

Some more examples of Mode 7 in games:

Uses Mode 7 for the cool 3D-looking ground during racing
Used on the second top-down level and its boss starting at 4:41, and a few other places in the game
The base scaling slowly into view throughout this level from 7:02 is done with Mode 7
The very cool boss battle at 5:35:39 uses Mode 7 to rotate the entire screen
The swaying room during the escape sequence at 4:17 and the scaling space station and ship in the cutscenes that follow it are done using Mode 7
Uses Mode 7 for the spinning level backgrounds during gameplay
While E. Coyote falling to his death and scaling away from the camera at 7:16 is done using Mode 7, as are the scaling puffs of smoke when he hits the ground

I think that covers just about everything for the general background specs.

As you can see, there’s a whole lot that can be done with the backgrounds on SNES to create all kinds of interesting visuals and cool effects, and I think the background capabilities are a real strong point for for the system.

Note: If you notice any errors, then feel free to add a comment pointing them out, and I’ll fix them when I get a chance.

Advertisement

2 thoughts on “SNES Background Modes”

  1. The Mosaic filter is not Mode 7-specific; it can be applied to any and all background layers, but it does not affect sprites.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s