From 2f79779bebdb9dd393f532cc8c452859be6757a5 Mon Sep 17 00:00:00 2001 From: Emmanuel Marty Date: Sat, 20 Jun 2020 23:57:22 +0200 Subject: [PATCH 1/5] Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e526760..dacb0f9 100755 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ License: * Z80 decompressors (size- and speed-optimized) written by [introspec](https://github.com/specke) * 6502 and 8088 size-optimized improvements by [Peter Ferrie](https://github.com/peterferrie) * 8088 speed-optimized decompressor by [Jim Leonard](https://github.com/mobygamer) -* 6809 decompressors (for the Tandy CoCo, Thomson MO5/MO6/TO7/TO8/TO9, Dragon 32/64..) +* 6809 decompressors (Tandy Coco, Thomson MO/TO, Dragon 32/64..) optimized by [Doug Masten](https://github.com/dougmasten) External links: From 798c07f6e026cbc9cab587ccddaf4dc5b7c137b4 Mon Sep 17 00:00:00 2001 From: Emmanuel Marty Date: Sat, 20 Jun 2020 23:59:01 +0200 Subject: [PATCH 2/5] Update README again --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dacb0f9..a8f1af5 100755 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ License: 8-bit assembly code: -* Z80 decompressors (size- and speed-optimized) written by [introspec](https://github.com/specke) +* Z80 decompressors (size- and speed-optimized) written by [introspec](https://github.com/specke) with optimizations by [uniabis](https://github.com/uniabis) * 6502 and 8088 size-optimized improvements by [Peter Ferrie](https://github.com/peterferrie) * 8088 speed-optimized decompressor by [Jim Leonard](https://github.com/mobygamer) * 6809 decompressors (Tandy Coco, Thomson MO/TO, Dragon 32/64..) optimized by [Doug Masten](https://github.com/dougmasten) From f724663ba8ff19a0fa8ee60e91bffadfc3f2b591 Mon Sep 17 00:00:00 2001 From: Emmanuel Marty Date: Sun, 21 Jun 2020 00:04:03 +0200 Subject: [PATCH 3/5] Update README some more --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a8f1af5..e2b90df 100755 --- a/README.md +++ b/README.md @@ -73,8 +73,9 @@ License: * Z80 decompressors (size- and speed-optimized) written by [introspec](https://github.com/specke) with optimizations by [uniabis](https://github.com/uniabis) * 6502 and 8088 size-optimized improvements by [Peter Ferrie](https://github.com/peterferrie) +* 6502 speed-optimized decompressor by [John Brandwood](https://github.com/jbrandwood) * 8088 speed-optimized decompressor by [Jim Leonard](https://github.com/mobygamer) -* 6809 decompressors (Tandy Coco, Thomson MO/TO, Dragon 32/64..) optimized by [Doug Masten](https://github.com/dougmasten) +* 6809 decompressors (Tandy CoCo, Thomson MO/TO, Dragon 32/64..) optimized by [Doug Masten](https://github.com/dougmasten) External links: From 07c39694325872770c64eee1b77f6d0b74c1996e Mon Sep 17 00:00:00 2001 From: Emmanuel Marty Date: Mon, 22 Jun 2020 00:13:14 +0200 Subject: [PATCH 4/5] Compress LZSA2 raw files one byte shorter --- src/shrink_block_v2.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/shrink_block_v2.c b/src/shrink_block_v2.c index 32d76b9..67d9b81 100644 --- a/src/shrink_block_v2.c +++ b/src/shrink_block_v2.c @@ -1048,7 +1048,7 @@ static int lzsa_write_block_v2(lzsa_compressor *pCompressor, lzsa_match *pBestMa return -1; if (pCompressor->flags & LZSA_FLAG_RAW_BLOCK) - pOutData[nOutOffset++] = (nTokenLiteralsLen << 3) | 0x47; + pOutData[nOutOffset++] = (nTokenLiteralsLen << 3) | 0xe7; else pOutData[nOutOffset++] = (nTokenLiteralsLen << 3) | 0x00; nOutOffset = lzsa_write_literals_varlen_v2(pOutData, nOutOffset, nMaxOutDataSize, &nCurNibbleOffset, &nCurFreeNibbles, nNumLiterals); @@ -1081,7 +1081,6 @@ static int lzsa_write_block_v2(lzsa_compressor *pCompressor, lzsa_match *pBestMa if (nOutOffset >= nMaxOutDataSize) return -1; - pOutData[nOutOffset++] = 0; /* Match offset */ nOutOffset = lzsa_write_nibble_v2(pOutData, nOutOffset, nMaxOutDataSize, &nCurNibbleOffset, &nCurFreeNibbles, 15); /* Extended match length nibble */ if (nOutOffset < 0) return -1; @@ -1119,12 +1118,12 @@ static int lzsa_write_raw_uncompressed_block_v2(lzsa_compressor *pCompressor, co int nTokenLiteralsLen = (nNumLiterals >= LITERALS_RUN_LEN_V2) ? LITERALS_RUN_LEN_V2 : nNumLiterals; int nOutOffset = 0; - int nCommandSize = 8 /* token */ + lzsa_get_literals_varlen_size_v2(nNumLiterals) + (nNumLiterals << 3) + 8 + 4 + 8; + int nCommandSize = 8 /* token */ + lzsa_get_literals_varlen_size_v2(nNumLiterals) + (nNumLiterals << 3) + 4 + 8; if ((nOutOffset + ((nCommandSize + 7) >> 3)) > nMaxOutDataSize) return -1; pCompressor->num_commands = 0; - pOutData[nOutOffset++] = (nTokenLiteralsLen << 3) | 0x47; + pOutData[nOutOffset++] = (nTokenLiteralsLen << 3) | 0xe7; nOutOffset = lzsa_write_literals_varlen_v2(pOutData, nOutOffset, nMaxOutDataSize, &nCurNibbleOffset, &nCurFreeNibbles, nNumLiterals); if (nOutOffset < 0) return -1; @@ -1137,8 +1136,6 @@ static int lzsa_write_raw_uncompressed_block_v2(lzsa_compressor *pCompressor, co /* Emit EOD marker for raw block */ - pOutData[nOutOffset++] = 0; /* Match offset */ - nOutOffset = lzsa_write_nibble_v2(pOutData, nOutOffset, nMaxOutDataSize, &nCurNibbleOffset, &nCurFreeNibbles, 15); /* Extended match length nibble */ if (nOutOffset < 0) return -1; From 40212975c2a15ae6be5bed6b8223792ea3b34c07 Mon Sep 17 00:00:00 2001 From: Emmanuel Marty Date: Mon, 22 Jun 2020 10:08:40 +0200 Subject: [PATCH 5/5] Bump version --- src/lzsa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lzsa.c b/src/lzsa.c index 82aa902..29d4aa5 100755 --- a/src/lzsa.c +++ b/src/lzsa.c @@ -48,7 +48,7 @@ #define OPT_RAW_BACKWARD 8 #define OPT_STATS 16 -#define TOOL_VERSION "1.2.2" +#define TOOL_VERSION "1.3.0" /*---------------------------------------------------------------------------*/