github ppkantorski/nx-ovlloader v1.1.1
nx-ovlloader+ v1.1.1

latest releases: v2.0.0, v1.1.2
6 months ago

List of changes:

  1. Threading safety improvements.
    • Added loading flag (g_loading) to prevent concurrent loadNro() calls.
    • Added proper cleanup in __wrap_exit() for cached filesystem handle.
  2. Memory mapping optimizations.
    • Added cached address allocation system starting at 0x8000000000ull.
    • Implemented virtual address space management with 64GB reset threshold (0x8010000000ull).
    • Added 64MB spacing (0x4000000) between allocations to reduce mapping conflicts.
    • Fallback to random mapping only when cached allocation fails (improves overlay cycling performance).
  3. File I/O optimizations.
    • Replaced multi-part file reading (separate NroStart, NroHeader, rest reads) with single bulk file operation.
    • Added filesystem handle caching (g_sdmc) to avoid repeated open/close operations.
    • Eliminated manual offset management and size calculations during file reading.
  4. g_argv, g_nextArgv, g_nextNroPath buffer size reduction. (was a bit too generous)
    • g_argv and g_nextArgv reduced from 2048 to 512 bytes.
    • g_nextNroPath reduced from 512 to 256 bytes.
  5. Removal of HOS 9.0.0 checks (occur every single overlay launch).
    • WARNING: Does not work on HOS below 9.0.0 so do not try.
  6. Replacement of memcpy/memset with __builtin_memcpy/__builtin_memset.
  7. Code cleanup and comment removal.
    • Removed various inline comments for cleaner code.
    • Removed unnecessary variable initialization (s32 idx).

Full Changelog: v1.1.0...587395c

Update:

  • Restoration of HOS 9.0.0 or lower checks. ~ 08/03/2025 3:23 AM PST
    • They appear to actually only occur once, so there's no reason to remove the check.
  • Slight cleanup to variable initializations. ~ 08/03/2025 4:50 PM PST

Full Changelog: 587395c...2f60d5f

Don't miss a new nx-ovlloader release

NewReleases is sending notifications on new releases.