Commit Graph

115 Commits

Author SHA1 Message Date
mobygamer
c38b582e73 Time-efficient LZSA2 decompressor
This commit provides a time-effecient LZSA2 decompressor for
the 8088 (and higher) CPU.  Decompression speed is roughly 50% faster
than ZX7 on the same hardware.
2019-07-13 22:35:28 -05:00
mobygamer
f123a6d9df Submit 8086-optimized decompressor using jump tables
Because the 8086's BIU is more efficient and can read a word in
a single operation, we can skew LZSA1 decompression faster on 8086
by using a jump table to eliminate 2 comparions.
2019-07-11 17:22:29 -05:00
mobygamer
638c33b432 Additional minor speedups 2019-07-11 00:58:46 -05:00
mobygamer
9a180a59f9 Additional 1% speedup from to introspec suggestions 2019-07-09 13:05:10 -05:00
mobygamer
b0c9d61aab 8088-speed-optimized LZSA1 decompression
This commit contributes LZSA1 raw block format decompression code,
optimized for speed for the 8088 and higher processors.  With
appropriate compression options (-f1 -m5), decompression speed is
comparable to LZ4.
2019-07-07 20:25:50 -05:00
Emmanuel Marty
3c50727421
Update VS2017 project 2019-07-01 09:26:55 +02:00
Emmanuel Marty
59eb891394
Improve LZSA2 compression ratio further and allow incompressible raw blocks 2019-07-01 09:25:19 +02:00
Emmanuel Marty
8d8f50a509
Don't use 80186 opcodes. Issue #3 2019-06-27 18:32:49 +02:00
Emmanuel Marty
3c8c4283c7
Use real cost of rep offset when considering a reduction; fix small bug in repmatch handling when doing reductions. 2019-06-26 13:55:00 +02:00
Emmanuel Marty
2a265f9cf9
Remove erroneous comment 2019-06-25 11:13:13 +02:00
Emmanuel Marty
7867618f87
Fix matchfinder limitation 2019-06-25 11:09:19 +02:00
Emmanuel Marty
5a531cd4ce
Remove 2019-06-21 17:40:33 +02:00
Emmanuel Marty
d1245c7d6a
Fix small typo in z80 depackers 2019-06-21 17:39:50 +02:00
Emmanuel Marty
63c261ce2d
Small improvement of the LZSA2 compression ratio 2019-06-21 17:28:17 +02:00
Emmanuel Marty
1c3911a659
Add Pareto frontier graph by spke 2019-06-11 10:43:41 +02:00
Emmanuel Marty
71f262081b
Use -m3 as an upper bound for LZSA2 2019-06-11 10:38:47 +02:00
Emmanuel Marty
028163c42a
Fix typo in final LZSA2 block format description 2019-06-10 14:10:57 +02:00
Emmanuel Marty
43ff88477f
Update tool version number 2019-06-10 14:09:23 +02:00
Emmanuel Marty
a8e3f7bbcc
Update to final LZSA2 block format 2019-06-10 14:08:53 +02:00
Emmanuel Marty
931f5fff9b
Add Z80 decompressors for LZSA2 2019-06-10 13:24:15 +02:00
Emmanuel Marty
435e157239
Save 3 more bytes 2019-06-08 23:59:34 +02:00
Emmanuel Marty
aab82fa022
Save 9 bytes in 6502 LZSA1 depacker 2019-06-08 23:52:18 +02:00
Emmanuel Marty
d564c1ecb8
Fixes 2019-06-08 19:03:33 +02:00
Emmanuel Marty
2e48e926a1
Fix self-tests, in-memory benchmarks in raw mode 2019-06-08 18:05:00 +02:00
Emmanuel Marty
659f6c14a9
Small improvement over 6502 LZSA2 depacker 2019-06-08 16:18:36 +02:00
Emmanuel Marty
affa08c213
Update Xcode project 2019-06-08 13:37:48 +02:00
Emmanuel Marty
318dffe87c
Update VS2017 project 2019-06-08 13:37:16 +02:00
Emmanuel Marty
6e1201e221
Moved 2019-06-08 13:36:40 +02:00
Emmanuel Marty
3008d47012
Moved 2019-06-08 13:36:20 +02:00
Emmanuel Marty
79ed7bf91e
Further update LZSA2 format; avoid name conflicts 2019-06-08 13:35:03 +02:00
Emmanuel Marty
272f2e7a29
Update LZSA2 6502 and 8088 depackers 2019-06-07 23:22:34 +02:00
Emmanuel Marty
62003a82c2
Add Xcode project as well 2019-06-07 23:21:35 +02:00
Emmanuel Marty
fa2439a383
Update VS2017 project after code split 2019-06-07 23:21:04 +02:00
Emmanuel Marty
a7fbc93964
Update Makefile after code split 2019-06-07 23:20:26 +02:00
Emmanuel Marty
ddd2ac4c56
Remove file after restructuring 2019-06-07 23:18:52 +02:00
Emmanuel Marty
8ef0396b50
Remove file after restructuring 2019-06-07 23:18:43 +02:00
Emmanuel Marty
ee6ab423fc
Remove file after restructuring 2019-06-07 23:18:14 +02:00
Emmanuel Marty
59d2383b03
Remove file after restructuring 2019-06-07 23:18:05 +02:00
Emmanuel Marty
74e8d82231
Remove file after restructuring 2019-06-07 23:17:56 +02:00
Emmanuel Marty
026537f7f2
Remove file after restructuring 2019-06-07 23:17:47 +02:00
Emmanuel Marty
998714d714
Remove file after restructuring 2019-06-07 23:17:37 +02:00
Emmanuel Marty
124adf8ade
Remove file after restructuring 2019-06-07 23:17:16 +02:00
Emmanuel Marty
59d7074da1
Remove file after restructuring 2019-06-07 23:17:07 +02:00
Emmanuel Marty
e924390c8e
Remove file after restructuring 2019-06-07 23:16:47 +02:00
Emmanuel Marty
47315447fd
Remove file after restructuring 2019-06-07 23:16:29 +02:00
Emmanuel Marty
b4e3c07d3a
Split code, add automated tests, update LZSA2 2019-06-07 23:15:40 +02:00
emmanuel-marty
45cb124c4d Simplify and speed up in-tool decompressors; add in-memory benchmark 2019-05-17 08:57:01 +02:00
Emmanuel Marty
055a80abfd
Fix another typo 2019-05-14 18:45:46 +02:00
Emmanuel Marty
d5d879adea
Fix typo 2019-05-14 18:44:29 +02:00
Emmanuel Marty
3ae13b5410
Fix links to new documents 2019-05-14 18:42:22 +02:00