Each stage's map is composed of six separate variable-length streams of data. They are:

Curvature controls the left-right turn of the road. It is stored as a sequence of bytes of the form $CT where $C is a count (1..15) and $T is a type. The valid types are:

A zero byte in the stream is an escape which can be followed by one of:

This escape format is the same for all the other streams.

Height controls the up-down inclination of the road. It uses the same encoding as curvature but the type field instead defines the road's inclination. Its valid values are:

Lanes use a different scheme: pairs of bytes. The first byte is a count and the following byte is the data. The currently understood valid data values are:

Right and Left side objects are encoded in nibbles as for curvature data. The object types (for Stage 1) are:

Hazards are encoded only as byte counters and an extended form of the escapes with the following additional codes: