minor reformatting and rewording
use legacy hex notation for wider compatibility
jumps are made explicitely short so the output code is the same with nasm -O0
minor comments
ECM: calculate maxbytesahead during first depack run, display (picked from https://hg.pushbx.org/ecm/mvcomp/rev/0cc061c18c01)
ECM: allow empty unit parameter (picked from https://hg.pushbx.org/ecm/mvcomp/rev/04a4af663882)
ECM: allow to specify different allocation unit, default 16 (picked from https://hg.pushbx.org/ecm/mvcomp/rev/5b599752225e)
ECM: change rounding overflow differently (picked from https://hg.pushbx.org/ecm/mvcomp/rev/fae4318abace)
ECM: fix typos (picked from https://hg.pushbx.org/ecm/mvcomp/rev/d49e7a66aeac)
updated links
20241010
added a makefile target for releases
added test for expected compression ratio
merged testchk.sh with test.sh
added a clear message about test result
8086 assembly routine for mvpack depacking
some words about in-place decompression
ECM: imported from https://hg.pushbx.org/ecm/mvcomp/rev/338250570cff
www update
20241007
basic sanity check on input stream
empty files are considered to be an error
removed dysfunctional file
reworded documentation
increased buffers, 5% speedup
buffer sizes are properly calculated based on defines
preserve const while casting
x4 speedup
never break an even-sized literal queue
added a test file with NLS strings
extend test to big file
do not display differences, just tell if files are different
less willing to break a literal queue of an even length, as such break is more expensive than breaking an uneven queue
primitive test suite
speed-up step 2: reduced the number of matches tested (33x faster than the original code)
speed-up step 1: replace memcmp() by own implementation (3x faster)
a suite of files for testing compression/decompression
imported mvsize by ECM, from https://hg.pushbx.org/ecm/mvcomp/file/6ffb58fb1838/mvsize.c
zero input produces an explicit message, avoids calculating a percent value on 0
use memmove() instead of memcpy() because the rewind buffer usually overlaps with itself
gcc compatibility
updated link to reference implementation
20241002
operating on percentage points instead of % makes results look more favorable to mvcomp, and add a "scientific-like" sound to it
ZIP comparison stands for small files only. on big files the ZIP advantage is more pronounced (up to 30%), likely because of its much wider backreference window
mvcomp is able to compress files larger than 64K (up to size_t bytes)
a back reference smaller than offset is perfectly valid, make compressor use it for RLE and self-duplicating strings
title improved
fixed link
renamed tag
20241001
improved wording
website
fixed a fclose() that was too early
minor fixes
compiles
mvcomp is the compressor
improved documentation
renamed mvcomp uncompressor to mvucomp
to-be-tested implementation of the unpacker
initial commit