(config file for best .exe and .dll compression derived from max.cfg with E8E9 preprocessor) comp 5 9 0 3 22 (hh hm ph pm n) 0 const 160 1 icm 5 (orders 0-6) 2 isse 13 1 (sizebits j) 3 isse 16 2 4 isse 18 3 5 isse 19 4 6 isse 20 5 7 isse 20 6 8 match 22 24 9 icm 17 (order 0 word) 10 isse 19 9 (order 1 word) 11 icm 10 (sparse with gaps 1-3) 12 icm 10 13 icm 10 14 icm 14 (pic) 15 mix 16 0 15 24 255 (mix orders 1 and 0) 16 mix 8 0 16 10 255 (including last mixer) 17 mix2 0 15 16 24 0 18 sse 8 17 32 255 (order 0) 19 mix2 8 17 18 16 255 20 sse 16 19 32 255 (order 1) 21 mix2 0 19 20 16 0 hcomp c++ *c=a b=c a=0 (save in rotating buffer) d= 2 hash *d=a b-- (orders 1,2,3,4,5,7) d++ hash *d=a b-- d++ hash *d=a b-- d++ hash *d=a b-- d++ hash *d=a b-- d++ hash b-- hash *d=a b-- d++ hash *d=a b-- (match, order 8) d++ a=*c a&~ 32 (lowercase words) a< 65 jt 14 a> 90 jt 10 d++ hashd d-- (added: update order 1 word hash) *d<>a a+=*d a*= 20 *d=a jmp 9 a=*d a== 0 jt 3 (order 1 word) d++ *d=a d-- *d=0 d++ d++ b=c b-- a=0 hash *d=a (sparse 2) d++ b-- a=0 hash *d=a (sparse 3) d++ b-- a=0 hash *d=a (sparse 4) d++ a=b a-= 212 b=a a=0 hash *d=a b<>a a-= 216 b<>a a=*b a&= 60 hashd (pic) d++ a=*c a<<= 9 *d=a (mix) d++ d++ d++ d++ d++ *d=a (sse) halt pcomp exe_jo e ; b=a a=d a== 0 if d=b d++ (block type + 1 saved in d) c=0 r=a 0 elsel a=d a< 9 if (read block size) a=c a<<= 8 a+=b c=a d++ d++ elsel a=d a== 9 if (default block) a=b out c-- a=c a== 0 if d=0 endif elsel (exe block) a=d a< 14 if a=r 0 a<<= 8 a+=b r=a 0 d++ elsel a=d a== 14 if a=c r=a 1 a= 6 r=a 2 endif a=d a< 19 if a= 18 a-=d c=a *c=b (fill queue) elsel a=b r=a 3 a= 5 do c=a a-- b=a *c=*b a> 0 while c=0 a=r 3 *c=a b=0 c=0 a=*c a== 255 if b++ endif a== 0 if b++ endif (c[0]==0x00 || c[0]==0xFF) c= 4 a=*c a== 232 if b++ endif a== 233 if b++ endif (c[4]==0xE8 || c[4]==0xE9) c= 5 a=*c a== 15 if c= 4 a=*c a&= 240 a== 128 if b++ endif endif (c[5]==0x0F && {c[4]&0xF0}==0x80) a=b a== 2 if ({{{offset-1}^{offset-6}}&-BLOCK}==0) a= 1 a<<= 16 c=a a=0 a-=c c=a a=r 2 a-= 6 b=a a=r 2 a-- a^=b a&=c a== 0 if ({{c[1]^176}|{c[2]^176}<<8|{c[3]^176}<<16|c[0]<<24}-offset-begin) c=0 a=*c a<<= 24 b=a c++ a=*c a^= 176 b<>a a|=b b=a c++ a=*c a^= 176 a<<= 8 b<>a a|=b b=a c++ a=*c a^= 176 a<<= 16 b<>a a|=b b=r 2 a-=b b=r 0 a-=b c= 3 *c=a c-- a>>= 8 *c=a c-- a>>= 8 *c=a c-- a>>= 8 a&= 1 a*= 255 *c=a endif endif c= 5 a=*c out a=r 2 a++ r=a 2 endif d++ a=r 1 a-- r=a 1 a== 0 if c= 4 a=*c out c-- a=*c out c-- a=*c out c-- a=*c out c-- a=*c out d=0 endif endif endif endif endif halt end