diff --git a/SabreTools.Models/Compression/Deflate/BlockHeader.cs b/SabreTools.Models/Compression/Deflate/BlockHeader.cs
deleted file mode 100644
index ab677cd..0000000
--- a/SabreTools.Models/Compression/Deflate/BlockHeader.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-namespace SabreTools.Models.Compression.Deflate
-{
- ///
- public class BlockHeader
- {
- ///
- /// Set if and only if this is the last block of the data set.
- ///
- /// Bit 0
- public bool BFINAL { get; set; }
-
- ///
- /// Specifies how the data are compressed
- ///
- /// Bits 1-2
- public CompressionType BTYPE { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Compression/Deflate/CompressedDataHeader.cs b/SabreTools.Models/Compression/Deflate/CompressedDataHeader.cs
deleted file mode 100644
index 9803998..0000000
--- a/SabreTools.Models/Compression/Deflate/CompressedDataHeader.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace SabreTools.Models.Compression.Deflate
-{
- ///
- /// Compression with Huffman codes (BTYPE=01 or BTYPE=02)
- ///
- ///
- ///
- public abstract class CompressedDataHeader : DataHeader
- {
- ///
- /// Huffman code lengths for the literal / length alphabet
- ///
- public virtual uint[]? LiteralLengths { get; set; }
-
- ///
- /// Huffman distance codes for the literal / length alphabet
- ///
- public virtual uint[]? DistanceCodes { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Compression/Deflate/Constants.cs b/SabreTools.Models/Compression/Deflate/Constants.cs
deleted file mode 100644
index a41e679..0000000
--- a/SabreTools.Models/Compression/Deflate/Constants.cs
+++ /dev/null
@@ -1,136 +0,0 @@
-namespace SabreTools.Models.Compression.Deflate
-{
- ///
- public static class Constants
- {
- ///
- /// Bits in base literal/length lookup table
- ///
- public const int ZIPLBITS = 9;
-
- ///
- /// Bits in base distance lookup table
- ///
- public const int ZIPDBITS = 6;
-
- ///
- /// Maximum bit length of any code
- ///
- public const int ZIPBMAX = 16;
-
- ///
- /// Maximum number of codes in any set
- ///
- public const int ZIPN_MAX = 288;
-
- #region Fixed Huffman Codes
-
- ///
- /// Fixed Huffman code lengths for the literal / length alphabet
- ///
- public static readonly uint[] FixedLiteralLengths =
- [
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7,
- 8, 8, 8, 8, 8, 8, 8, 8,
- ];
-
- ///
- /// Fixed Huffman distance codes for the literal / length alphabet
- ///
- public static readonly uint[] FixedDistanceCodes =
- [
- 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5,
- ];
-
- #endregion
-
- #region Literal and Length Alphabets
-
- ///
- /// Extra bits for distance codes
- ///
- public static readonly ushort[] DistanceExtraBits =
- [
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3,
- 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
- 9, 9, 10, 10, 11, 11, 12, 12, 13, 13
- ];
-
- ///
- /// Copy offsets for distance codes 0..29
- ///
- public static readonly ushort[] DistanceOffsets =
- [
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25,
- 33, 49, 65, 97, 129, 193, 257, 385, 513, 769,
- 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577
- ];
-
- ///
- /// Extra bits for literal codes 257..285
- ///
- public static readonly ushort[] LiteralExtraBits =
- [
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
- 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,
- 4, 4, 4, 4, 5, 5, 5, 5, 0,
- ];
-
- ///
- /// Copy lengths for literal codes 257..285
- ///
- public static readonly ushort[] LiteralLengths =
- [
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13,
- 15, 17, 19, 23, 27, 31, 35, 43, 51, 59,
- 67, 83, 99, 115, 131, 163, 195, 227, 258,
- ];
-
- ///
- /// Order of the bit length code lengths
- ///
- public static readonly byte[] BitLengthOrder =
- [
- 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15
- ];
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Compression/Deflate/DataHeader.cs b/SabreTools.Models/Compression/Deflate/DataHeader.cs
deleted file mode 100644
index d4bd244..0000000
--- a/SabreTools.Models/Compression/Deflate/DataHeader.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace SabreTools.Models.Compression.Deflate
-{
- ///
- /// Base class for all data headers (BTYPE=00, BTYPE=01, or BTYPE=02)
- ///
- ///
- public abstract class DataHeader
- {
- // No common fields between all data headers
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Compression/Deflate/DynamicCompressedDataHeader.cs b/SabreTools.Models/Compression/Deflate/DynamicCompressedDataHeader.cs
deleted file mode 100644
index 5cb51e9..0000000
--- a/SabreTools.Models/Compression/Deflate/DynamicCompressedDataHeader.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace SabreTools.Models.Compression.Deflate
-{
- ///
- /// Compression with dynamic Huffman codes (BTYPE=10)
- ///
- ///
- public class DynamicCompressedDataHeader : CompressedDataHeader
- {
- // Codes are provided externally
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Compression/Deflate/Enums.cs b/SabreTools.Models/Compression/Deflate/Enums.cs
deleted file mode 100644
index 35b246a..0000000
--- a/SabreTools.Models/Compression/Deflate/Enums.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-namespace SabreTools.Models.Compression.Deflate
-{
- ///
- public enum CompressionType : byte
- {
- ///
- /// no compression
- ///
- NoCompression = 0b00,
-
- ///
- /// Compressed with fixed Huffman codes
- ///
- FixedHuffman = 0b01,
-
- ///
- /// Compressed with dynamic Huffman codes
- ///
- DynamicHuffman = 0b10,
-
- ///
- /// Reserved (error)
- ///
- Reserved = 0b11,
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Compression/Deflate/FixedCompressedDataHeader.cs b/SabreTools.Models/Compression/Deflate/FixedCompressedDataHeader.cs
deleted file mode 100644
index 39c3b8e..0000000
--- a/SabreTools.Models/Compression/Deflate/FixedCompressedDataHeader.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-namespace SabreTools.Models.Compression.Deflate
-{
- ///
- /// Compression with fixed Huffman codes (BTYPE=01)
- ///
- ///
- ///
- public class FixedCompressedDataHeader : CompressedDataHeader
- {
- #region Properties
-
- ///
- /// Huffman code lengths for the literal / length alphabet
- ///
- public override uint[]? LiteralLengths => Constants.FixedLiteralLengths;
-
- ///
- /// Huffman distance codes for the literal / length alphabet
- ///
- public override uint[]? DistanceCodes => Constants.FixedDistanceCodes;
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Compression/Deflate/NonCompressedDataHeader.cs b/SabreTools.Models/Compression/Deflate/NonCompressedDataHeader.cs
deleted file mode 100644
index dce6c44..0000000
--- a/SabreTools.Models/Compression/Deflate/NonCompressedDataHeader.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace SabreTools.Models.Compression.Deflate
-{
- ///
- /// Non-compressed blocks (BTYPE=00)
- ///
- ///
- public class NonCompressedBlockHeader : DataHeader
- {
- ///
- /// The number of data bytes in the block
- ///
- /// Bytes 0-1
- public ushort LEN { get; set; }
-
- ///
- /// The one's complement of LEN
- ///
- /// Bytes 2-3
- public ushort NLEN { get; set; }
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Compression/MSZIP/Block.cs b/SabreTools.Models/Compression/MSZIP/Block.cs
index 3b2636c..5ac36f5 100644
--- a/SabreTools.Models/Compression/MSZIP/Block.cs
+++ b/SabreTools.Models/Compression/MSZIP/Block.cs
@@ -26,8 +26,8 @@ namespace SabreTools.Models.Compression.MSZIP
public BlockHeader? BlockHeader { get; set; }
///
- /// Compressed blocks
+ /// Compressed data
///
- public DeflateBlock[]? CompressedBlocks { get; set; }
+ public byte[]? Data { get; set; }
}
}
\ No newline at end of file
diff --git a/SabreTools.Models/Compression/MSZIP/Constants.cs b/SabreTools.Models/Compression/MSZIP/Constants.cs
deleted file mode 100644
index 537dc9f..0000000
--- a/SabreTools.Models/Compression/MSZIP/Constants.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace SabreTools.Models.Compression.MSZIP
-{
- ///
- public static class Constants
- {
- ///
- /// Window size
- ///
- public const ushort ZIPWSIZE = 0x8000;
-
- ///
- /// And'ing with Zipmask[n] masks the lower n bits
- ///
- public static readonly ushort[] BitMasks =
- [
- 0x0000, 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
- 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
- ];
- }
-}
\ No newline at end of file
diff --git a/SabreTools.Models/Compression/MSZIP/DeflateBlock.cs b/SabreTools.Models/Compression/MSZIP/DeflateBlock.cs
deleted file mode 100644
index 9a6fcb3..0000000
--- a/SabreTools.Models/Compression/MSZIP/DeflateBlock.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-namespace SabreTools.Models.Compression.MSZIP
-{
- ///
- /// Each MSZIP block is the result of a single deflate compression operation, as defined in [RFC1951].
- /// The compressor that performs the compression operation MUST generate one or more RFC 1951
- /// blocks, as defined in [RFC1951]. The number, deflation mode, and type of RFC 1951 blocks in each
- /// MSZIP block is determined by the compressor, as defined in [RFC1951]. The last RFC 1951 block in
- /// each MSZIP block MUST be marked as the "end" of the stream(1), as defined by [RFC1951]
- /// section 3.2.3. Decoding trees MUST be discarded after each RFC 1951 block, but the history buffer
- /// MUST be maintained.Each MSZIP block MUST represent no more than 32 KB of uncompressed data.
- ///
- ///
- public class DeflateBlock
- {
- ///
- /// Deflate block (RFC-1951) header
- ///
- public Deflate.BlockHeader? Header { get; set; }
-
- ///
- /// Compression-specific data header
- ///
- public Deflate.DataHeader? DataHeader { get; set; }
-
- ///
- /// MSZIP data
- ///
- ///
- /// Depending on the implementation of these models, this property could either be
- /// compressed or uncompressed data. Keep this in mind when using the built
- /// versions of this model.
- ///
- public byte[]? Data { get; set; }
- }
-}
\ No newline at end of file