Amiga - Original Chip Set (OCS)

The original Amiga computers, OCS (Original Chip set) and ECS (Enhanced Chip set) used 4 bits per color channel (Red, Green and Blue), which meant that they could display a limited selection of colors (usually 16 or 32) from a total range of 4,096 colors.

In modes useful for video games, the OCS Amiga's allowed for 32 color indexes (individual colors) to be used at a time. ECS Amiga's had an additional special mode called Extra Half Bright, which used a trick to give you an additional 32 colors which were the first 32 colors but half the brightness. This means if your first color (index zero) was white, then color index 32 (the first of the Half bright colors) would be a 50 percent gray. Of course, if you had a completely black color in one of your initial 32 indexes, it's Extra Half Bright partner would also be black, essentially wasting one of your potential 64 total colors.

Though ECS Amigas could display 64 colors using EHB mode, it wasn't used much for games, due to the extra memory and drawing time required for the extra color data. In fact most fast action/arcade style games tended to use either 16 color or 32 color indexes.

On paper OCS and ECS Amigas seemed quite weak compared to 16 bit consoles like the MegaDrive and SNES, which could display drastically more sprites on-screen, as well as more colors per layer when using "dual playfield" scrolling where typically back layers scrolled more slowly than the foreground layer for a nice effect of depth.

The reason the Amiga's sprite capabilities were so limited is that the designers decided to use a different approach to handle the moving objects in games. Instead of powerful sprites, they gave the Amigas a custom "blitter" chip, which could blit (draw) nearly a million pixels per second, drawing directly into the background, capable of using some or all of the colors (indexes) used in the background. This could allow for a great many moving objects on screen, without the color limits, sprite-size, and number of sprite's per scan-line limits common to nearly all 16 bit consoles. Blitted objects also don't suffer the infamous "flicker" problem that sprites have when more than a specified amount end up occupying the same horizontal space on screen (scan-line).

When Amiga game creators wanted to add layered scrolling to their games using the standard methods they faced some severe limitations. For the Amiga hardware to display 2 overlapping layers which could scroll individually, they had to break the available "bit-planes" 6 bit planes into two layers of 3 bit planes each. This meant if you wanted to use true Hardware based dual playfield scrolling on classic Amiga's then the back layer was limited to 8 colors and the front layer was limited to 7 colors plus one index used to represent transparent pixels, so you could see the back layer behind it!

To make matters worse, the Amiga couldn't rely on its weak sprite capabilities, (which have their own color indexes separate from the 16 used for the two layers) to make the front layer and moving objects more colorful like 16 bit consoles could. While the blitter could draw and move lots of objects on screen, it could only use those same 7 colors the front layer has at its disposal. What many Amiga developers did was use the few sprites the Amiga had to create a nice looking 16 color player character, but then would use the blitter for almost all other moving objects, effects and enemies. This typically meant a smoothly scrolling game with a noticeably duller and lower-colored foreground layer, enemy sprites and effects such as explosions than console games would have.

More sophisticated Amiga developers were able to use other methods, using the Amiga's custom chips in less straight forward ways to create much more impressive games which rivaled many console games including eventual ports of the same game.

One important trick is to use the Amigas "copper" to change the color of any given color index at any particular scan line. This was used frequently for so-called "rainbow" or gradient effects to make prettier sky's which get lighter towards the horizon, but a creative and technically minded artist can do much more with this feature.
For layered scrolling, two fantastic alternatives to strict hardware "dual playfield mode" were developed and used to great effects in some of the most impressive Amiga games.

The first method puts incredible use to the Amiga's seemingly feeble sprites. Through some trickery too complicated to cover here, it was discovered that sprites could be cloned horizontally across the entire screen with no flicker problem. Combining this with the fact that sprites can be displayed behind the background instead of over it, clever developers realized they could create colorful and detailed 16 color back layers entirely from a repeating pattern of sprites! This meant that even OCS Amiga games could have full screen double layered scrolling with a 16 color back layer made of Sprites and a 16 or even 32 layer foreground! Now the blitter could be used to make nice, colorful 16 or 32 color player objects, enemies, effects etc. on the front layer! It's very important to note that the last 16 color indexes in an Amiga's 32 indexes are always used for the sprites, so, if you used sprites to make a back playfield (layer) and made a 32 color front layer, the front layer would share its last 16 colors with the 16 colors of the sprites. To get a 16 color Sprite the Amiga must combine 2 of its three color sprites. This means the Amiga can produce four 16 color sprites in total, at 16 pixels wide each. That means the pattern you can design to repeat across the screen should be 64 pixels wide and as tall as the screen. Also keep in mind, the first color index for sprites (color index 16) is used for transparent pixels, so you can't use it in the repeating pattern.

The second method is to use a combination of the Amiga's CPU and powerful blitter to use raw blitting horsepower to draw a back-layer first (typically just 2, or 8 color to keep drawing time fast) and then draw the front layer and all characters, effects etc. on top. The sprites can also be used in combination with this for additional moving objects. The greatest example of this method being used is the Amiga version of Toki.

For those who want to dig deeper into the incredible hardware trickery that the most impressive Amiga games used to in many cases rival console games in layers of scrolling and number of colors on screen, the following website is an unbeatable resource!

http://codetapper.com/amiga/sprite-tricks/

Graphical summary

Standard game resolution: 320x200 (USA) or 320x240 (often reduced to 288 pixels wide to provide the game more time to process sprites, color changes object blitting etc.)
color range: 4,096 possible, 4 bits per color channel.
Number of color indexes available:
typically 16 or 32
Dual playfield mode (for layered scrolling) two separate palettes, 8 for the back player and then 7 plus a transparent color for the front layer.
Sprites: 8 sixteen pixel wide 3 color (plus a "clear" index for transparent pixels) sprites per scan line which can be as tall as the screen. 2 three color sprites can be combined to create a single 16 color sprite! This means you can have 4 sixteen color sprites or 2 sixteen color sprites and 4 three color sprites etc. You can have many more sprites than 8 on screen, but any more than 8 per scan line will result in sprites flickering (becoming invisible) unless you're using a programming trick which clones the same sprite image at another x location. NOTE: Most Amiga games use "blitter" objects instead of or in addition to sprites to allow for many more, larger, and more colorful objects on screen. Blitter objects draw right into the background so can only use the same color indexes as the background. This means if you're using dual playfield mode for layered scrolling, blitter objects can only use the same 7 color indexes as the foreground play-field.

NOTE2: There are several programming tricks developers use to get drastically more colors on screen and alternate methods to create games with layered parallax scrolling which circumvent the severe color limitations imposed by using the typical 8 and 7 color "dual playfield" method.

The following website is a fantastic resource for learning the best methods to achieve 16 bit console quality visuals on classic Amiga hardware.
http://codetapper.com/amiga/sprite-tricks/
For more detailed technical references: https://en.wikipedia.org/wiki/Original_Chip_Set

Pro Motion can help you to build multi layer projects and combine graphics with the built-in layer system that allows to display different projects with their respective settings at a single master project. See layer effect setting "Display other project" to see how to do that basically.

sample projects


Last modified: 29 January 2023