Commit Graph

116 Commits

Author SHA1 Message Date
Doug Masten
b5b8ca556a Rearrange match offset code to save 2 bytes in 6809 LZSA depacker 2020-06-21 01:09:15 -05:00
Doug Masten
7f0316b81c Update code byte counts for 6809 LZSA depackers 2020-06-20 12:45:51 -05:00
Doug Masten
e8edc3242d Restructure code to eliminate one BRA instruction in unlzsa1.s 6809 LZSA depacker 2020-06-20 12:27:31 -05:00
Doug Masten
1dd65731c4 Remove unnecessary "ADDB #$12" as B register will always have this value from 6809 LZSA depackers 2020-06-20 12:27:22 -05:00
Doug Masten
f233d552ca Remove unnecessary "TSTB" instruction from 6809 LZSA depackers 2020-06-20 12:11:35 -05:00
Emmanuel Marty
ee969968c1
Add backward depackers for 6809 2020-06-20 14:41:25 +02:00
Emmanuel Marty
f920485899
-3 bytes for 6809 LZSA2 depacker, slightly faster 2020-06-19 20:08:09 +02:00
Emmanuel Marty
2cdeda4784
-2 bytes for 6809 LZSA1 depacker, slightly faster 2020-06-19 20:07:41 +02:00
Emmanuel Marty
f198431a71
-2 bytes for 6809 LZSA2 depacker, speed unchanged 2020-06-19 18:26:25 +02:00
Emmanuel Marty
f80706ff7e
-5 bytes and faster 6809 LZSA2 depacker 2020-06-19 12:50:10 +02:00
Emmanuel Marty
c3b111cea6
-2 bytes and faster 6809 LZSA1 depacker 2020-06-19 12:49:46 +02:00
Emmanuel Marty
e253d3e628
-1 byte for 6809 LZSA2 depacker 2020-06-19 08:57:01 +02:00
Emmanuel Marty
26bf944d9f
Add 6809 depacker for LZSA2 2020-06-18 17:48:08 +02:00
Emmanuel Marty
1d0427ecae
Make 6809 depacker for LZSA1 smaller/faster 2020-06-18 17:46:42 +02:00
Emmanuel Marty
3ce9a2b36e
Add 6809 depacker for LZSA1 2020-06-18 13:26:25 +02:00
Emmanuel Marty
668204d953
Merge optimizations by Pavel Zagrebin
Manually merge PR #44
2020-04-04 13:29:25 +02:00
Emmanuel Marty
47e54ac110
Remove unused code 2020-03-24 20:18:22 +01:00
odzhan
5fddaca0f8 compact decompressors for x86 2020-01-13 18:14:11 +00:00
Emmanuel Marty
693618f100
More asm fixes 2020-01-08 13:11:43 +01:00
Emmanuel Marty
aa122d1e05
Fix assembly when not using LZSA_SHORT_CP 2020-01-08 10:40:26 +01:00
Peter Ferrie
9f020b3605 fix typos in original code 2020-01-07 17:02:43 -08:00
Peter Ferrie
22e2f80ae7 cut one byte 2020-01-07 16:57:49 -08:00
Peter Ferrie
45b91ddaa2 fasterer v2 2020-01-06 22:24:07 -08:00
Emmanuel Marty
fb7e03030f
Merge pull request #38 from specke/master
-2 bytes
2020-01-03 10:37:28 +01:00
Emmanuel Marty
29e8960e6f
Add faster LZSA1 6502 depacker by jbrandwood 2020-01-03 10:31:54 +01:00
Emmanuel Marty
410544f4e6
Fast 6502 LZSA2 depacker: smaller size, same speed 2020-01-03 10:01:23 +01:00
introspec
96b9933bd3
remove temporary label 2020-01-02 14:32:30 +00:00
introspec
9cd9fa5939
-2 bytes
(same speed)
2020-01-02 14:30:00 +00:00
Emmanuel Marty
8721c11041
Add faster LZSA2 depacker by jbrandwood 2019-12-24 12:02:34 +01:00
Emmanuel Marty
a46796b6a9
Fix assembling of 6502 fast v1 depacker 2019-12-24 10:16:01 +01:00
Peter Ferrie
302234a91b fast v2 2019-10-31 23:01:00 -07:00
Peter Ferrie
9fc9a49d67 fast v1 2019-10-31 22:20:02 -07:00
mobygamer
30192238ea Rewrite 8088 jumptable decompressor for maximum speed
This is a rewrite of LZSA1JMP.ASM to use a 256-element jumptable, which
allows the code to handle all of the hot paths (common cases) without
any branching.  This not only reduces branches (which are very costly on
x86) to a bare minimum, but also grants us foreknowledge in a decode
path of what steps can be skipped.

The new code is 12.7% faster than the old code, and assembles to less
than 3K of object code and data.
2019-10-26 23:34:24 -05:00
introspec
d5d788946e
Added an option for unrolling long match copying
Usually useless and costing +57 bytes, this option can bring dramatic performance improvements on very compressible data dominated by long matches
2019-10-22 20:11:46 +01:00
introspec
495a12216f
-1 byte
Very slightly faster too
2019-10-11 00:23:43 +01:00
introspec
566e3a94e8
+0.2% speed
also, added an option to unroll LDIR for longer matches (which adds 38 bytes, but can be significantly faster for files with many long matches)
2019-10-10 22:50:23 +01:00
Emmanuel Marty
6a62f7d795
Update Z80 depackers changes history 2019-09-26 11:42:52 +02:00
Emmanuel Marty
681f78d1e8
Rename 2019-09-26 07:48:59 +02:00
Emmanuel Marty
8015ab8650
Rename 2019-09-26 07:48:44 +02:00
Emmanuel Marty
2f15298343
Rename 2019-09-26 07:48:33 +02:00
Emmanuel Marty
648a308d87
Rename 2019-09-26 07:48:19 +02:00
Emmanuel Marty
587a92f4ab
Rename Z80 depackers, add version history to LZSA1 2019-09-26 07:47:43 +02:00
Emmanuel Marty
7d9135c548
Update Z80 decompressors 2019-09-25 08:09:18 +02:00
Emmanuel Marty
9de7e930e9
Faster LZSA1 z80 decompression 2019-08-27 13:16:20 +02:00
uniabis
a807344343 2bytes shorter 2019-08-22 12:55:55 +09:00
introspec
be30cae636
-1 byte
slightly slower, but this is the size-optimized branch
2019-08-06 12:36:27 +01:00
introspec
44bff39de3
New faster and shorter decompressors
This update is mostly about better integration of improvements by uniabis, with spke contributing several smaller size optimizations.
2019-08-01 15:07:14 +01:00
introspec
e7bb1faece
Merge branch 'master' into master 2019-07-31 23:24:30 +01:00
introspec
51ef92cdab
incorporated improvements by uniabis
also, slightly faster decompression for fast packer in backwards mode
2019-07-31 20:42:47 +01:00
uniabis
8d0528fddc hd64180 support
a bit faster, a bit smaller
2019-07-31 01:39:27 +09:00