Micro Machines Asset Arena Format

From ModdingWiki
Jump to navigation Jump to search
Micro Machines Asset Arena Format
There is no example of an image in this format — upload one!
Format typeImage
HardwareVGA
Colour depth8-bit (VGA)
Minimum size (pixels)8×8
Maximum size (pixels)248×96
PaletteExternal
Plane count1
Transparent pixels?Yes
Hitmap pixels?No
Games

The graphics for the menus and front-end screens of Micro Machines are stored in COMPRESS.PI0 to COMPRESS.PI6. The palette is INTRO.PAL (VGA Palette).

File format

Each file is compressed with Micro Machines Compression. PI0-PI5 decompress to 0xC000 bytes each, PI6 to 0xA000. Joined together they form one 335,872-byte (0x52000) block of memory, a memory dump that the developers cut into 48 kB pieces.

The block contains 18 images, originally separate .CHR files. There is no directory in the files: the names, sizes and offsets are stored in a table inside the game's executable. Each image is a number of frames, stored one after another, each frame row by row with one byte per pixel. Colour 0 is transparent.

Name Offset Size Frames Content
FCHAPPY.CHR 0x00000 48×48 22 The 11 characters' faces, happy (2 frames each)
FCSAD.CHR 0x0C600 48×48 22 Faces, sad
FCFROWN.CHR 0x18C00 48×48 11 Faces, frowning
FCNORMAL.CHR 0x1EF00 48×48 14 Faces, neutral
THUMB.CHR 0x26D00 48×32 3 Fist, pointing hand, thumbs up (menu cursor)
MINATURE.CHR 0x27F00 32×16 38 Vehicle miniatures in 4 colour sets
BADGE.CHR 0x2CB00 72×32 1 Winged badge
CASE.CHR 0x2D400 8×8 100 Tiles of the vehicle display case
CASE.MAP 0x2ED00 674 bytes - Tile map of the display case, see below
CUP.CHR 0x2EFB0 96×8 10 The trophy, in 10 horizontal strips (96×80 when stacked)
INTRO.CHR 0x30D70 96×64 9 One picture per vehicle class, for the title screen
WORDS.CHR 0x3E570 96×16 3 "MicroMachines", "Head to Head", "Challenge"
SELGAM.CHR 0x3F770 96×64 6 Game selection panels
LOGO.CHR 0x48780 248×96 1 Micro Machines logo
NOS.CHR 0x4E480 24×32 4 Numbers 1-4
FONT1.CHR 0x4F080 8×8 38 Small font: 0-9, A-Z, !, ?
FONT2.CHR 0x4FA00 8×16 38 Tall font, same characters
FRAME.CHR 0x51630 8×8 4 Frame corners

Display case map

CASE.MAP is the tournament board: a byte giving the number of columns (32), a byte giving the number of rows (21), then 32×21 bytes of tile numbers into CASE.CHR, row by row. Drawn, it is a 256×168 image.

Notes

The race loads its own graphics into the same memory, so the game reloads all seven files after every race.

Credits

This file format was reverse engineered by VorticonCmdr. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)