Mikados COMAL SAVE files (“B”files)

The COMAL interpreter for SPC/1 Mikados went through a number of versions which used different token encodings. The code below seems to manage to divine the correct version for the artifacts we have discovered until now.

Usage

from autoarchaeologist.vendor.dansk_data_elektronik import mikados_b
…
self.add_examiners(*mikados_b.ALL)

Notes

In retrospect, it may be possible to deduce the version with a one-pass algorithm, by having “meta-tokens” classes for the tokens outside the common set, which then resolve, based on their presence, and surroundings, for instance the byte < 0x20 after FOR, which version the artifact is.

Todo

save fd728bf60 ~= text ab5b3344c

fd728bf60 has <reclen(=0x4d)><rec><reclen> structure

Test input

  • DDE/SPC-1/SW

Documentation

None