diff --git a/SabreTools.Serialization/Wrappers/WrapperFactory.cs b/SabreTools.Serialization/Wrappers/WrapperFactory.cs
index 6f4ed2f8..1a891554 100644
--- a/SabreTools.Serialization/Wrappers/WrapperFactory.cs
+++ b/SabreTools.Serialization/Wrappers/WrapperFactory.cs
@@ -21,6 +21,7 @@ namespace SabreTools.Serialization.Wrappers
case WrapperType.BSP: return BSP.Create(data);
case WrapperType.BZip2: return null; // TODO: Implement wrapper
case WrapperType.CFB: return CFB.Create(data);
+ case WrapperType.CHD: return CHD.Create(data);
case WrapperType.CIA: return CIA.Create(data);
case WrapperType.Executable: return CreateExecutableWrapper(data);
case WrapperType.GCF: return GCF.Create(data);
@@ -218,6 +219,13 @@ namespace SabreTools.Serialization.Wrappers
#endregion
+ #region CHD
+
+ if (magic.StartsWith(new byte?[] { 0x4D, 0x43, 0x6F, 0x6D, 0x70, 0x72, 0x48, 0x44 }))
+ return WrapperType.CHD;
+
+ #endregion
+
#region CIA
if (extension.Equals("cia", StringComparison.OrdinalIgnoreCase))
diff --git a/SabreTools.Serialization/Wrappers/WrapperType.cs b/SabreTools.Serialization/Wrappers/WrapperType.cs
index a0070ca3..5d9d94fd 100644
--- a/SabreTools.Serialization/Wrappers/WrapperType.cs
+++ b/SabreTools.Serialization/Wrappers/WrapperType.cs
@@ -41,6 +41,11 @@ namespace SabreTools.Serialization.Wrappers
///
CFB,
+ ///
+ /// MAME Compressed Hunks of Data
+ ///
+ CHD,
+
///
/// CTR Importable Archive
///