mirror of
https://github.com/emmanuel-marty/lzsa.git
synced 2025-08-08 03:25:26 +00:00
Update Z80 depackers changes history
This commit is contained in:
@@ -2,12 +2,12 @@
|
|||||||
; Speed-optimized LZSA1 decompressor by spke & uniabis (111 bytes)
|
; Speed-optimized LZSA1 decompressor by spke & uniabis (111 bytes)
|
||||||
;
|
;
|
||||||
; ver.00 by spke for LZSA 0.5.4 (03-24/04/2019, 134 bytes);
|
; ver.00 by spke for LZSA 0.5.4 (03-24/04/2019, 134 bytes);
|
||||||
; ver.01 by spke for LZSA 0.5.6 (25/04/2019, -24 bytes, +0.2% speed);
|
; ver.01 by spke for LZSA 0.5.6 (25/04/2019, 110(-24) bytes, +0.2% speed);
|
||||||
; ver.02 by spke for LZSA 1.0.5 (24/07/2019, added support for backward decompression);
|
; ver.02 by spke for LZSA 1.0.5 (24/07/2019, added support for backward decompression);
|
||||||
; ver.03 by uniabis (30/07/2019, -1 byte, +3.5% speed);
|
; ver.03 by uniabis (30/07/2019, 109(-1) bytes, +3.5% speed);
|
||||||
; ver.04 by spke (31/07/2019, small re-organization of macros);
|
; ver.04 by spke (31/07/2019, small re-organization of macros);
|
||||||
; ver.05 by uniabis (22/08/2019, -2 bytes, same speed);
|
; ver.05 by uniabis (22/08/2019, 107(-2) bytes, same speed);
|
||||||
; ver.06 by spke for LZSA 1.0.7 (27/08/2019, +4 bytes, +2.1% speed);
|
; ver.06 by spke for LZSA 1.0.7 (27/08/2019, 111(+4) bytes, +2.1% speed);
|
||||||
; ver.07 by spke for LZSA 1.1.0 (25/09/2019, added full revision history)
|
; ver.07 by spke for LZSA 1.1.0 (25/09/2019, added full revision history)
|
||||||
;
|
;
|
||||||
; The data must be compressed using the command line compressor by Emmanuel Marty
|
; The data must be compressed using the command line compressor by Emmanuel Marty
|
||||||
|
@@ -3,9 +3,9 @@
|
|||||||
;
|
;
|
||||||
; ver.00 by spke for LZSA 0.5.4 (23/04/2019, 69 bytes);
|
; ver.00 by spke for LZSA 0.5.4 (23/04/2019, 69 bytes);
|
||||||
; ver.01 by spke for LZSA 1.0.5 (24/07/2019, added support for backward decompression);
|
; ver.01 by spke for LZSA 1.0.5 (24/07/2019, added support for backward decompression);
|
||||||
; ver.02 by uniabis (30/07/2019, -1 byte, +3.2% speed);
|
; ver.02 by uniabis (30/07/2019, 68(-1) bytes, +3.2% speed);
|
||||||
; ver.03 by spke for LZSA 1.0.7 (31/07/2019, small re-organization of macros);
|
; ver.03 by spke for LZSA 1.0.7 (31/07/2019, small re-organization of macros);
|
||||||
; ver.04 by spke (06/08/2019, -1 byte, -1.2% speed);
|
; ver.04 by spke (06/08/2019, 67(-1) bytes, -1.2% speed);
|
||||||
; ver.05 by spke for LZSA 1.1.0 (25/09/2019, added full revision history)
|
; ver.05 by spke for LZSA 1.1.0 (25/09/2019, added full revision history)
|
||||||
;
|
;
|
||||||
; The data must be compressed using the command line compressor by Emmanuel Marty
|
; The data must be compressed using the command line compressor by Emmanuel Marty
|
||||||
|
@@ -1,6 +1,13 @@
|
|||||||
;
|
;
|
||||||
; Speed-optimized LZSA2 decompressor by spke (v.2 02-27/08/2019, 216 bytes);
|
; Speed-optimized LZSA2 decompressor by spke & uniabis (216 bytes)
|
||||||
; with improvements by uniabis (30/07/2019, -5 bytes, +3% speed and support for Hitachi HD64180).
|
;
|
||||||
|
; ver.00 by spke for LZSA 1.0.0 (02-07/06/2019, 218 bytes);
|
||||||
|
; ver.01 by spke for LZSA 1.0.5 (24/07/2019, added support for backward decompression);
|
||||||
|
; ver.02 by spke for LZSA 1.0.6 (27/07/2019, fixed a bug in the backward decompressor);
|
||||||
|
; ver.03 by uniabis (30/07/2019, 213(-5) bytes, +3.8% speed and support for Hitachi HD64180);
|
||||||
|
; ver.04 by spke for LZSA 1.0.7 (01/08/2019, 214(+1) bytes, +0.2% speed and small re-organization of macros);
|
||||||
|
; ver.05 by spke (27/08/2019, 216(+2) bytes, +1.1% speed);
|
||||||
|
; ver.06 by spke for LZSA 1.1.0 (26/09/2019, added full revision history)
|
||||||
;
|
;
|
||||||
; The data must be compressed using the command line compressor by Emmanuel Marty
|
; The data must be compressed using the command line compressor by Emmanuel Marty
|
||||||
; The compression is done as follows:
|
; The compression is done as follows:
|
||||||
|
@@ -1,6 +1,11 @@
|
|||||||
;
|
;
|
||||||
; Size-optimized LZSA2 decompressor by spke (v.1 02-09/06/2019, 140 bytes);
|
; Size-optimized LZSA2 decompressor by spke & uniabis (140 bytes)
|
||||||
; with improvements by uniabis (30/07/2019, -1 byte, +3% speed and support for Hitachi HD64180).
|
;
|
||||||
|
; ver.00 by spke for LZSA 1.0.0 (02-09/06/2019, 145 bytes);
|
||||||
|
; ver.01 by spke for LZSA 1.0.5 (24/07/2019, added support for backward decompression);
|
||||||
|
; ver.02 by uniabis (30/07/2019, 144(-1) bytes, +3.3% speed and support for Hitachi HD64180);
|
||||||
|
; ver.03 by spke for LZSA 1.0.7 (01/08/2019, 140(-4) bytes, -1.4% speed and small re-organization of macros);
|
||||||
|
; ver.04 by spke for LZSA 1.1.0 (26/09/2019, removed usage of IY, added full revision history)
|
||||||
;
|
;
|
||||||
; The data must be compressed using the command line compressor by Emmanuel Marty
|
; The data must be compressed using the command line compressor by Emmanuel Marty
|
||||||
; The compression is done as follows:
|
; The compression is done as follows:
|
||||||
@@ -84,22 +89,22 @@
|
|||||||
|
|
||||||
IFNDEF HD64180
|
IFNDEF HD64180
|
||||||
|
|
||||||
MACRO LD_IY_DE
|
MACRO LD_IX_DE
|
||||||
ld iyl,e : ld iyh,d
|
ld ixl,e : ld ixh,d
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
MACRO LD_DE_IY
|
MACRO LD_DE_IX
|
||||||
ld e,iyl : ld d,iyh
|
ld e,ixl : ld d,ixh
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
|
|
||||||
MACRO LD_IY_DE
|
MACRO LD_IX_DE
|
||||||
push de : pop iy
|
push de : pop ix
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
MACRO LD_DE_IY
|
MACRO LD_DE_IX
|
||||||
push iy : pop de
|
push ix : pop de
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -117,7 +122,7 @@ CASE01x: cp %01100000 : rl d
|
|||||||
|
|
||||||
OffsetReadE: ld e,(hl) : NEXT_HL
|
OffsetReadE: ld e,(hl) : NEXT_HL
|
||||||
|
|
||||||
SaveOffset: LD_IY_DE
|
SaveOffset: LD_IX_DE
|
||||||
|
|
||||||
MatchLen: and %00000111 : add 2 : cp 9 : call z,ExtendedCode
|
MatchLen: and %00000111 : add 2 : cp 9 : call z,ExtendedCode
|
||||||
|
|
||||||
@@ -150,7 +155,7 @@ CASE110: ld d,(hl) : NEXT_HL : jr OffsetReadE
|
|||||||
|
|
||||||
CASE11x cp %11100000 : jr c,CASE110
|
CASE11x cp %11100000 : jr c,CASE110
|
||||||
|
|
||||||
CASE111: LD_DE_IY : jr MatchLen
|
CASE111: LD_DE_IX : jr MatchLen
|
||||||
|
|
||||||
ExtendedCode: call ReadNibble : inc a : jr z,ExtraByte
|
ExtendedCode: call ReadNibble : inc a : jr z,ExtraByte
|
||||||
sub #F0+1 : add c : ret
|
sub #F0+1 : add c : ret
|
||||||
|
Reference in New Issue
Block a user