Amiga Maps
Scrolling worlds on the Amiga are built from tiles blitted into an oversized bitplane bitmap. The blitter stamps each tile into the bitplanes, hardware scroll registers and the copper slide the visible window across that bitmap, and a second playfield can scroll at its own speed for parallax.
Overview
A game map is a grid of tile numbers, each pointing at a small reusable bitmap. To show a level the blitter draws the needed tiles into a playfield bitmap that is larger than the screen, and the display shows only a window onto it. Moving that window with the hardware scroll registers pans the view smoothly, and new tiles are blitted into the edge just outside the window as it goes, so the world can be far bigger than memory could hold as one picture.
| Piece | Role |
|---|---|
| Tile set | Small reusable tile bitmaps |
| Map | Grid of tile numbers |
| Playfield bitmap | Oversized bitplanes holding drawn tiles |
| Blitter | Stamps tiles into the bitmap |
| Scroll registers | Move the visible window |
Tiles and the bitmap
A tile is a small bitplane image, commonly 16×16 pixels, held in the same planar form as the screen. The map is a compact grid where each cell is just a tile number, so a large level costs little memory. The playfield bitmap the tiles are drawn into is wider and taller than the display, giving a margin of already-drawn scenery around the visible area so the view can move before more tiles are needed.
Because tiles and the bitmap share the planar layout, drawing a tile is a plane-by-plane copy the blitter handles quickly.
Blitting tiles
Drawing a tile is a blitter copy from the tile bitmap into the playfield bitmap at the target cell. The blitter copies each bitplane of the tile into the matching bitplane of the destination, so a colourful tile is drawn in one operation across all its planes. As the view scrolls, only the fresh column or row of cells entering at the edge is blitted, not the whole screen, so the cost per frame stays small.
The blitter's speed at these plane copies is what makes full-screen tiled scrolling practical, leaving the CPU free for game logic.
Hardware scroll
The display window is moved without redrawing by two mechanisms. Coarse scroll changes the bitplane pointers so the beam starts reading further into the oversized bitmap, shifting the view a word at a time. Fine scroll uses a scroll register that delays the pixels within a word, sliding the picture the remaining 0 to 15 pixels for a smooth pixel-by-pixel pan. The copper can rewrite these values every frame, and even mid-screen, to steer the scroll.
| Mechanism | Granularity |
|---|---|
| Bitplane pointers | Coarse, one word (16 pixels) at a time |
| Scroll register | Fine, 0 to 15 pixels within a word |
| Copper | Applies the values per frame or mid-screen |
Parallax with dual playfield
Two layers moving at different speeds give the illusion of depth. The Amiga's dual-playfield mode splits the bitplanes into a front and a back playfield, each with its own scroll. Scrolling the front faster than the back makes the near scenery sweep past while the far scenery drifts, all in hardware with no extra blitting. Where the front playfield pixel is colour 0 it is transparent and the back layer shows through.
For more than two layers, games add hardware sprites or extra blitted layers on top, but the cheap two-speed parallax comes straight from dual playfield and the scroll registers.