Results 1 to 1 of 1

Thread: Context mixing file compressor for MenuetOS (x86-64 asm)

  1. #1
    Join Date
    Dec 2015
    Thanked 7 Times in 1 Post

    Context mixing file compressor for MenuetOS (x86-64 asm)

    Hello Guys,

    This is a context mixing file compressor written in pure x86-64 assembly language.

    I would like to contribute to the forum by sharing it's source.

    The compressor is mainly made for MenuetOS which is an x86-64 based OS as well.

    So, 'mntcm' is not intended to be better than any of the other codecs, it just suits MeOS' needs.

    - the codec uses 12+2 models, from which two are low-order match models.
    - has a balance between speed and memory optimization (not the fastest out there, but can work by using a moderate amount of memory)
    - fits into 4k

    The codec is mainly based on the descriptions (Data Compression Explained) provided by Mr. Mahoney.

    The source contains a C-based 'template', both a nasm and a fasm version and a C-interface example 'mntcm.exe' for Win64 (can be compiled for Linux I suppose).

    Some test results here:

    kernel.mnt (Menuet's 1.0 kernel or so):

    original: 218880 bytes
    compressed: 77040 bytes
    x86-filtered and compressed: 72790 bytes


    compressed: 701,112 bytes
    RLE filtered and compressed: 698,705 bytes


    compressed: 22,112,131 bytes

    As can be seen, the compressor is mainly suitable - and tuned - for executables, especially when x86 filtering is done.
    Currently, it does not use any filter.

    It's speed is not as good as cmm's or ccm's, but operates around ~600KB/s on my Core2 Duo.
    (Since it's an old machine, the asm version employs only SSE2-3-SSSE3 instructions)

    Can be downloaded here:

    Details are later, the overall code is still not finalized, some models were removed etc..


  2. Thanks (7):

    Christoph Diegelmann (13th December 2015),comp1 (12th December 2015),Cyan (12th December 2015),Matt Mahoney (14th December 2015),Mike (13th December 2015),snowcat (12th December 2015),Turtle (12th December 2015)

Similar Threads

  1. Simple bytewise context mixing demo
    By Shelwien in forum Data Compression
    Replies: 13
    Last Post: 3rd April 2020, 17:04
  2. Kitty file compressor (Super small compressor)
    By snowcat in forum Data Compression
    Replies: 7
    Last Post: 26th April 2015, 17:46
  3. Context Mixing
    By Cyan in forum Data Compression
    Replies: 9
    Last Post: 23rd December 2010, 21:45
  4. Context mixing
    By Cyan in forum Data Compression
    Replies: 7
    Last Post: 4th December 2009, 19:12
  5. CMM fast context mixing compressor
    By toffer in forum Forum Archive
    Replies: 171
    Last Post: 24th April 2008, 14:57

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts