<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/core/loader/loader.h, branch nx2</title>
<subtitle>Mirror of github.com/cira0100/Eglantine-public nx2, a fork of Djihads80/Eglantine.</subtitle>
<id>https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2</id>
<link rel='self' href='https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/'/>
<updated>2026-11-01T18:53:47+00:00</updated>
<entry>
<title>loader: add NUP (Unencrypted (Archival) Package) container support</title>
<updated>2026-11-01T18:53:47+00:00</updated>
<author>
<name>a55uka</name>
<email>59313695+a55uka@users.noreply.github.com</email>
</author>
<published>2026-11-01T18:53:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=31b901b93b992580d608fc2f4db9ddac1d755e43'/>
<id>urn:sha1:31b901b93b992580d608fc2f4db9ddac1d755e43</id>
<content type='text'>
</content>
</entry>
<entry>
<title>loader: read a loose dump's display version from its own files</title>
<updated>2026-10-30T20:41:32+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-10-30T08:39:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=3e950dd677b6d7dca04541855ad5751d057371ea'/>
<id>urn:sha1:3e950dd677b6d7dca04541855ad5751d057371ea</id>
<content type='text'>
Mario Kart World 1.8.0 reported 1.0.0: GetDisplayVersion only knew
installed titles' metadata, and a loose ExeFS/RomFS dump has none. The
dump's version now comes from its control.nacp (in ExeFS, or up to three
directories above it), else from RomFS
System/Resource/ResourceSizeTable.Product.NNN (Mario Kart World has no
NACP; Product.180 is 1.8.0). Folder names are never parsed.
</content>
</entry>
<entry>
<title>[core] Support block-compressed NSZ and XCZ (#4552)</title>
<updated>2026-10-26T16:23:18+00:00</updated>
<author>
<name>PavelBARABANOV</name>
<email>pavelbarabanov94@gmail.com</email>
</author>
<published>2026-10-26T16:23:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=58968bd1274d8ebb1f159ad31500dde8d74abea6'/>
<id>urn:sha1:58968bd1274d8ebb1f159ad31500dde8d74abea6</id>
<content type='text'>
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md).
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------
- Add NCZBLOCK (nsz -B / .xcz) reader: each read decodes only the covered blocks and re-encrypts CTR sections, no disk output.
- Allow installing solid .nsz to NAND via DecompressNCZForInstall (lazy, incremental decode with frontier, O(n) instead of O(n^2)).
- Accept BKTR updates with thousands of sections (MaxSectionCount = 0x10000).
- Wire .nsz/.xcz into loader, registered cache, scanner, and NAND install (content_manager.h), and reject solid NCZ from the game list.
- Bump the pinned zstd to 33618c8 in cpmfile.json, which includes the upstream AArch64 revert ([33618c89](https://github.com/facebook/zstd/commit/33618c89e511637f8a6ef955b3501766d71feb53)) for a ZSTD_decodeSequence branch optimization that could corrupt data on ARM64; without it, solid NCZ decoding on Android fails with "Data corruption detected".

NCZ format and CTR counter semantics follow the reference nsz tool and its
Rust port:
- https://github.com/nicoboss/nsz (Decompressor.py, BlockDecompressorReader.py)
- https://docs.rs/nsz-rs/0.3.0/src/nsz_rs/decompress.rs.html

The last-block edge case (decompressed size is an exact multiple of block
size) is handled as described in https://github.com/nicoboss/nsz/issues/210

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4552
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Reviewed-by: Shinmegumi &lt;shinmegumi@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[android/fs] external content loader + nca/xci patches (#3596)</title>
<updated>2026-03-04T21:51:35+00:00</updated>
<author>
<name>xbzk</name>
<email>xbzk@eden-emu.dev</email>
</author>
<published>2026-03-04T21:51:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=7f5de6bcd651f8145e4746c76d0531b6560fd5e4'/>
<id>urn:sha1:7f5de6bcd651f8145e4746c76d0531b6560fd5e4</id>
<content type='text'>
Foreword: WHY DON'T EVERYBODY USE ONE FOLDER FOR EACH GAME+CONTENTS? AIN'T THIS THE FORMAT GAMES COME WHEN YOU BUE THEM? DO YOU LIVE WITH ALL YOUR FRIENDS AND HAVE A 2ND HOUSE FOR ALL THE CHILDREN?

Nice, i feel better now.

This feat extends Maufeat's work on external content loading. It harmonically additions:
"...also, if in each game folder X, you find a folder Y, and in this folder Y you detect ONLY a single game, then mount all external content for that game found in that folder Y and its subfolders."
Permanent (not toggleable). External Content folders are supported equally.

Also:
-Reworked several routines for preserving single source of truth between android and other systems;
-Fixed the annoying unknown format error for content files, by providing proper format detection.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3596
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
Reviewed-by: Lizzie &lt;lizzie@eden-emu.dev&gt;
Co-authored-by: xbzk &lt;xbzk@eden-emu.dev&gt;
Co-committed-by: xbzk &lt;xbzk@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>vfs: Move vfs files to their own directory</title>
<updated>2024-01-25T21:40:42+00:00</updated>
<author>
<name>FearlessTobi</name>
<email>thm.frey@gmail.com</email>
</author>
<published>2024-01-16T05:23:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=24f979a4b83922027a3e72c579b50db7f6801446'/>
<id>urn:sha1:24f979a4b83922027a3e72c579b50db7f6801446</id>
<content type='text'>
</content>
</entry>
<entry>
<title>core: implement basic integrity verification</title>
<updated>2023-09-06T20:49:27+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2023-09-06T05:06:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=76671fdede2a0a07e22b4e9d03b8a022394b1c24'/>
<id>urn:sha1:76671fdede2a0a07e22b4e9d03b8a022394b1c24</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vfs: expand support for NCA reading</title>
<updated>2023-08-15T21:47:25+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2023-08-11T01:34:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=5e3139e7c6ca3905eb578bcf47887c516904fa37'/>
<id>urn:sha1:5e3139e7c6ca3905eb578bcf47887c516904fa37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>file_sys/content_archive: Detect compressed NCAs (#11047)</title>
<updated>2023-07-12T21:17:18+00:00</updated>
<author>
<name>Tobias</name>
<email>thm.frey@gmail.com</email>
</author>
<published>2023-07-12T21:17:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=16590ff2d09425c7f17c80dc31c21db91e40c690'/>
<id>urn:sha1:16590ff2d09425c7f17c80dc31c21db91e40c690</id>
<content type='text'>
</content>
</entry>
<entry>
<title>core/loader: remove ELF loader</title>
<updated>2022-08-01T21:19:23+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2022-08-01T21:19:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=9080ea9ab16158b02880427e82ab604be2255d9c'/>
<id>urn:sha1:9080ea9ab16158b02880427e82ab604be2255d9c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>general: Convert source file copyright comments over to SPDX</title>
<updated>2022-04-23T09:55:32+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2022-04-23T08:59:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=2b87305d319f0bd04da36fb96314934f37b12637'/>
<id>urn:sha1:2b87305d319f0bd04da36fb96314934f37b12637</id>
<content type='text'>
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
</content>
</entry>
</feed>
