Commit Graph

83 Commits

Author SHA1 Message Date
Emmanuel Marty
b7b3ca1907
Merge pull request #8 from MobyGamer/decompressor/8086_speed - thank you!
8088-speed-optimized LZSA1 decompression
2019-07-08 09:17:51 +02: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
Peter Ferrie
111403c052 a little more 2019-07-07 12:05:02 -07:00
Emmanuel Marty
fe0dcf107f
Use db rather than .byte 2019-07-04 18:09:29 +02:00
Peter Ferrie
32b98f3085 a bit faster, a bit smaller 2019-07-03 19:38:27 -07:00
Emmanuel Marty
da4f6f7882
Restore CLC 2019-07-03 23:39:05 +02:00
Peter Ferrie
6f46c60259 slightly faster 2019-07-03 12:11:50 -07:00
Emmanuel Marty
8d8f50a509
Don't use 80186 opcodes. Issue #3 2019-06-27 18:32:49 +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
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
659f6c14a9
Small improvement over 6502 LZSA2 depacker 2019-06-08 16:18:36 +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
d70830b525 Simplify nibble handling in LZSA2 8088 depacker 2019-05-11 11:42:00 +02:00
emmanuel-marty
8b7b4a2b4f Check in LZSA2 implementation (ratio competitive with ZX7, faster decompression) 2019-05-09 16:51:29 +02:00
emmanuel-marty
97dd3ffc1f Update fast Z80 decompressor 2019-04-25 17:19:58 +02:00
emmanuel-marty
2b9780bd65 Finalize lzsa1 compressed format, speed up and simplify decompression 2019-04-24 09:47:40 +02:00
emmanuel-marty
f837ed096e Add size-optimized Z80 decompressor, contributed by spke 2019-04-21 08:15:43 +02:00
emmanuel-marty
4c5d44fff4 Improve hotpath of 6502 depacker further 2019-04-10 19:41:41 +02:00
emmanuel-marty
8c3fc6d652 Simplify short offset handling in 6502 depacker 2019-04-10 17:37:36 +02:00
emmanuel-marty
c220694531 Add 6502 decompressor 2019-04-10 17:30:24 +02:00
emmanuel-marty
02592cfe3b Fix typo in 8088 decompressor comments 2019-04-10 17:30:13 +02:00
emmanuel-marty
be54a4f889 Check in optimized-for-speed Z80 decompressor contributed by spke 2019-04-07 00:01:42 +02:00
emmanuel-marty
e24320b23b Save 1 byte in 8088 decompressor 2019-04-06 00:21:15 +02:00
emmanuel-marty
a785010448 Revert token to O|LLL|MMMM; revert to always shifting the match offset by 1; set raw block end marker as a large zero-size match 2019-04-05 23:16:05 +02:00
emmanuel-marty
1ef1ad8111 Reorganize token byte for faster decoding on 8-bit CPUs, without affecting the compression ratio 2019-04-05 11:58:44 +02:00
emmanuel-marty
c7692cf688 Store 16-bit lengths and match offsets directly, to simplify decompression on 8-bit CPUs without affecting the compression ratio 2019-04-05 10:42:06 +02:00
emmanuel-marty
0744ec99de Unpack raw blocks in 8088 decompressor 2019-04-03 13:05:32 +02:00
emmanuel-marty
06396f5ba6 Save 2 bytes in 8088 decompressor 2019-04-02 13:21:45 +02:00
marty-emmanuel
e216b0c544 Initial checkin 2019-04-01 18:04:56 +02:00