The AMB (Ancient Machine Book) format specification[containr]


The AMB file is a container - one could say it is a very simplistic archive format. It starts with a 4-bytes format signature (magic value) "AMB1". Then comes a 2-bytes number that tells how many files are present in the container, followed by the list of all files: each file is described by a file entry. All values are little-endian. offset 0 format signature: "AMB1" 4 files count (16-bit value) 6 FILE ENTRY #1 FILE ENTRY #2 FILE ENTRY #3 .... DATA Each file entry is a 20-bytes structure: offset 0 filename, 12 characters, zero-padded ("FILE.EXT\0\0\0\0") 12 offset where this file starts (32 bits) 16 file length, in bytes (16 bits) 18 BSD sum (16-bit) of the file The AMB archive is expected to contain a set of AMA (Ancient Machine Article) files, and optionally a title file, an index dictionary and a codepage map. An AMB archive must contain at least one AMA file named "index.ama" - this is the first file that an AMB reader will try loading. Note: Names of files contained in an AMB archive are to be processed in a case insensitive way and must be composed exclusively of 7-bit characters.