1(config file for best .exe and .dll compression 2derived from max.cfg with E8E9 preprocessor) 3 4comp 5 9 0 3 22 (hh hm ph pm n) 5 0 const 160 6 1 icm 5 (orders 0-6) 7 2 isse 13 1 (sizebits j) 8 3 isse 16 2 9 4 isse 18 3 10 5 isse 19 4 11 6 isse 20 5 12 7 isse 20 6 13 8 match 22 24 14 9 icm 17 (order 0 word) 15 10 isse 19 9 (order 1 word) 16 11 icm 10 (sparse with gaps 1-3) 17 12 icm 10 18 13 icm 10 19 14 icm 14 (pic) 20 15 mix 16 0 15 24 255 (mix orders 1 and 0) 21 16 mix 8 0 16 10 255 (including last mixer) 22 17 mix2 0 15 16 24 0 23 18 sse 8 17 32 255 (order 0) 24 19 mix2 8 17 18 16 255 25 20 sse 16 19 32 255 (order 1) 26 21 mix2 0 19 20 16 0 27hcomp 28 c++ *c=a b=c a=0 (save in rotating buffer) 29 d= 2 hash *d=a b-- (orders 1,2,3,4,5,7) 30 d++ hash *d=a b-- 31 d++ hash *d=a b-- 32 d++ hash *d=a b-- 33 d++ hash *d=a b-- 34 d++ hash b-- hash *d=a b-- 35 d++ hash *d=a b-- (match, order 8) 36 d++ a=*c a&~ 32 (lowercase words) 37 a< 65 jt 14 a> 90 jt 10 38 d++ hashd d-- (added: update order 1 word hash) 39 *d<>a a+=*d a*= 20 *d=a jmp 9 40 a=*d a== 0 jt 3 (order 1 word) 41 d++ *d=a d-- 42 *d=0 d++ 43 d++ b=c b-- a=0 hash *d=a (sparse 2) 44 d++ b-- a=0 hash *d=a (sparse 3) 45 d++ b-- a=0 hash *d=a (sparse 4) 46 d++ a=b a-= 212 b=a a=0 hash 47 *d=a b<>a a-= 216 b<>a a=*b a&= 60 hashd (pic) 48 d++ a=*c a<<= 9 *d=a (mix) 49 d++ 50 d++ 51 d++ d++ 52 d++ *d=a (sse) 53 halt 54pcomp exe_jo e ; 55 b=a 56 a=d a== 0 if 57 d=b d++ (block type + 1 saved in d) 58 c=0 r=a 0 59 elsel a=d a< 9 if 60 (read block size) 61 a=c a<<= 8 a+=b c=a 62 d++ d++ 63 elsel a=d a== 9 if 64 (default block) 65 a=b out 66 c-- a=c a== 0 if d=0 endif 67 elsel 68 (exe block) 69 a=d a< 14 if 70 a=r 0 a<<= 8 a+=b r=a 0 71 d++ 72 elsel 73 a=d a== 14 if a=c r=a 1 a= 6 r=a 2 endif 74 a=d a< 19 if 75 a= 18 a-=d c=a *c=b (fill queue) 76 elsel 77 a=b r=a 3 78 a= 5 do c=a a-- b=a *c=*b a> 0 while 79 c=0 a=r 3 *c=a 80 81 b=0 82 c=0 a=*c a== 255 if b++ endif a== 0 if b++ endif (c[0]==0x00 || c[0]==0xFF) 83 c= 4 a=*c a== 232 if b++ endif a== 233 if b++ endif (c[4]==0xE8 || c[4]==0xE9) 84 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) 85 a=b a== 2 if 86 ({{{offset-1}^{offset-6}}&-BLOCK}==0) 87 a= 1 a<<= 16 c=a a=0 a-=c c=a 88 a=r 2 a-= 6 b=a a=r 2 a-- a^=b a&=c 89 a== 0 if 90 ({{c[1]^176}|{c[2]^176}<<8|{c[3]^176}<<16|c[0]<<24}-offset-begin) 91 c=0 a=*c a<<= 24 b=a 92 c++ a=*c a^= 176 b<>a a|=b b=a 93 c++ a=*c a^= 176 a<<= 8 b<>a a|=b b=a 94 c++ a=*c a^= 176 a<<= 16 b<>a a|=b 95 b=r 2 a-=b b=r 0 a-=b 96 97 c= 3 *c=a 98 c-- a>>= 8 *c=a 99 c-- a>>= 8 *c=a 100 c-- a>>= 8 a&= 1 a*= 255 *c=a 101 endif 102 endif 103 104 105 c= 5 a=*c out 106 a=r 2 a++ r=a 2 107 endif 108 d++ 109 a=r 1 a-- r=a 1 a== 0 if 110 c= 4 a=*c out 111 c-- a=*c out c-- a=*c out 112 c-- a=*c out c-- a=*c out 113 d=0 114 endif 115 endif 116 endif endif endif 117 halt 118end