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.

Amiga Maps

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.

PieceRole
Tile setSmall reusable tile bitmaps
MapGrid of tile numbers
Playfield bitmapOversized bitplanes holding drawn tiles
BlitterStamps tiles into the bitmap
Scroll registersMove 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.

MechanismGranularity
Bitplane pointersCoarse, one word (16 pixels) at a time
Scroll registerFine, 0 to 15 pixels within a word
CopperApplies 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.