diff --git a/src/LibHac/Fs/ConcatenationFileSystem.cs b/src/LibHac/Fs/ConcatenationFileSystem.cs
index 0cc8dd90..9d1c8273 100644
--- a/src/LibHac/Fs/ConcatenationFileSystem.cs
+++ b/src/LibHac/Fs/ConcatenationFileSystem.cs
@@ -7,14 +7,39 @@ using System.Runtime.InteropServices;
namespace LibHac.Fs
{
+ ///
+ /// An that stores large files as smaller, separate sub-files.
+ ///
+ ///
+ /// This filesystem is mainly used to allow storing large files on filesystems that have low
+ /// limits on file size such as FAT filesystems. The underlying base filesystem must have
+ /// support for the "Archive" file attribute found in FAT or NTFS filesystems.
+ ///
+ /// A may contain both standard files or Concatenation files.
+ /// If a directory has the archive attribute set, its contents will be concatenated and treated
+ /// as a single file. These sub-files must follow the naming scheme "00", "01", "02", ...
+ /// Each sub-file except the final one must have the size that was specified
+ /// at the creation of the .
+ ///
public class ConcatenationFileSystem : IFileSystem
{
private const long DefaultSubFileSize = 0xFFFF0000; // Hard-coded value used by FS
private IAttributeFileSystem BaseFileSystem { get; }
private long SubFileSize { get; }
+ ///
+ /// Initializes a new .
+ ///
+ /// The base for the
+ /// new .
public ConcatenationFileSystem(IAttributeFileSystem baseFileSystem) : this(baseFileSystem, DefaultSubFileSize) { }
+ ///
+ /// Initializes a new .
+ ///
+ /// The base for the
+ /// new .
+ /// The size of each sub-file. Once a file exceeds this size, a new sub-file will be created
public ConcatenationFileSystem(IAttributeFileSystem baseFileSystem, long subFileSize)
{
BaseFileSystem = baseFileSystem;