KA Archive - vanjac/zoomscape-info GitHub Wiki

Data for ZoomScape games is stored in KA Archive files. These have various extensions but all have the same format. The files can be extracted with QuickBMS using the Knowledge Adventure BMS script, or by using my kaarchive.py script.

KA Archives are simple directories of files and ZoomScape treats them as such (even allowing paths to nested files). Their extensions label the type of data inside, but this isn't enforced.

Extensions

The following archive extensions have been found in ZoomScape games (not including archives used by the related KA Interactive Book engine):

Archive extensions Contained file extensions
.ADL .ADL, .XMI
.ARC Generic
.BUL .BUM
.CFL .CMD
.CLL .CLK
.CMS .CMS
.CXL .CMX
.EVL, .E .BUM, .CLK, .CMD
.IML, .I .CMP, .CUR, .IMG, .IM2, .IM5
.IMS .IMS
.RLD .RLD, .XMI
.SNL, .VOL, .S .SND, .VOC
.TXL, .T .TXT
.XML .XMI
.ZAL .ZA0
.ZSL, .Z .ZI, .ZA0, .CMD

File format description

  • Files start with the signature string KA Archive followed by 10 null bytes
  • 0x14 WORD: number of files
  • 0x16 Files list (21 bytes each)
    • +0x00 13 bytes: name string in 8.3 format with a null terminator (usually with garbage following)
    • +0x0D DWORD: offset
    • +0x11 DWORD: size

This forum post possibly indicates another version of the format?