MIF (MSX Interchange Format) is a compressed graphics file format designed for use on MSX computers. MIG is a newer version of the format, designed for quicker loading.
A package containing a converter, sources for both the MIF (z80 asm) and MIG (in C), and some samples files can be downloaded at this page.
The MIG compression looks like a variant of bitbuster, but I have no sample files.
The MIF compression is hard to figure out from the Z80 asm.
I converted the MIF samples to MIG, so you can have some files to test.
Implemented MIG.
Can you get me MIF decompression in pseudocode? Understanding Z80 demif.as is not impossible, but it would take me considerable amount of time.
I'll reach Louthrax, the author of the MIF format, to see if he can provide it.
Waiting for the MIF algorithm.
Louthrax, author of this format, described it as this "MIF is very close from the GIF format but specific to MSX".
iow, MIF = "MSX GIF". It seems that the section headers are the biggest difference.
Thanks for the hint. The header is trivial, but the compression is not identical to GIF. I'd appreciate pseudocode - just for the decompression, because I think I understand everything else.
Last edit: Piotr Fusik 2023-02-20
Implemented for the samples from mifpackage.zip. The hint about GIF was very helpful!
If you have sample files for GFX9000 (64 colors and 32768 colors), please attach them.
Also, are interlaced screen 2 and screen 3 possible?