The graphics ripping mode determines how to extract the graphics data from the memory dump. The following ripping modes are available:
- Amiga ACBM - Amiga Contiguous Bitmap
- Amiga ILBM - Amiga Interleaved Bitmap
- Atari ST - Interleaved 16-pixel words
- Amiga Sprites - 16 pixels wide in 4 or 16 colours
In this mode, an entire plane of graphics data is displayed continuously in memory, followed by subsequent bitplanes.
This is extremely common for moving graphics when games use blitter objects (bobs) because a separate mask is required to overlay the background. It is also commonly used for the screen buffer, especially in early Amiga games. An example is the 16-colour display buffer for SWIV (which has been truncated to 64 pixels high here, but the game uses a real height of 352 pixels!):
Interleaved bitmaps store an entire row of graphics data for a single bitplane, and then display subsequent bitplanes. Once all bitplanes are displayed, the next row of data will be stored.
This is the most efficient way to display scrolling graphics on the Amiga as you can use a small buffer. The majority of Amiga games store their graphic tiles in this format (with 16x16 being the most popular). An example is the 16-colour display buffer for Turrican 2 (which has been truncated to 80 pixels wide here, but the game uses a much wider screen size of course!):
The Atari ST stores graphics data as interleaved 16-pixel words across the screen. This is the standard Atari ST display format, and is also used in NEOChrome and PI1 files (as well as PC1 files, which are basically compressed PI1 files). An example is from the 16-colour title screen from Road Runner:
Amiga OCS/ECS sprites are always 16-pixels wide, any height, and available in either 4 colours (one being transparent) or 16 colours (one being transparent) by attaching two sprites together. 4 colour sprites have a choice of 4 colour palettes (colour indexes 16-19, 20-23, 24-27 and 28-31) with the first colour always being treated as transparent.
16 colour sprites always use colour palette indexes 16-31 (with colour index 16 treated as transparent). Because two sprites are attached to form the 16 colour sprite, the second sprite can be located anywhere in memory. However, it is most logical for the programmer to store the graphics for the second sprite directly after the first. An example of this are the Brian the Lion sprites:
To detect sprites, it is easiest to work in 1 bitplane mode with a large height. If you see a pair of graphics that fit together, it will be a 4 colour sprite. If you see two pairs in a row, it will be a 16 colour sprite. Work out the approximate height and then increase the bitplane count to 2 or 4. If the height is correct, the graphics will fit perfectly on top of one another. If not, adjust the height until they line up.
If the sprites turn out to be 4-colour sprites, you will have to try all 4 possible palette combinations (by using shortcut keys 1-8) until the sprites look correct. In this example from Shadow of the Beast, the blimp and moon use different palettes, so you will have to keep pressing the shortcut keys until the colours are correct:
In the game, the blimp is drawn with sprites 0-3 (colours 16-23 in the 3rd row of the palette) and the moon is drawn with sprites 4-7 (colours 24-31 in the 4th row of the palette). Looking at the palette you can see the game duplicates the same shades of blue in the top section of the screen to achieve this effect.
When ripping the sprites with Maptapper, you will have to change sprite colour banks to extract the correct palettes for both objects.
You may enjoy these articles...
If you look inside many Amiga games, secret messages have been hidden by the programmers. Richard Aplin was the king of hiding messages in the startup-sequence file, and his Line of Fire and Final Fight startup-sequences have become legendary! The Sensible Software team were also prolific at hiding messages in their games.
A collection of technical interviews with Amiga programmers that worked on commercial software in the glory days of the Amiga (late 1980s to early 1990s!)
The Ultimate Amiga Graphics, Level and Map Ripper!
A random assortment of rants relating to the Amiga!
An explanation of how many famous Amiga games utilised sprites in weird and interesting ways