Skip to content

Release Notes v0.2

Latest

Choose a tag to compare

@jiraiya78 jiraiya78 released this 16 Aug 09:12
· 1 commit to main since this release
4f0caaf

Modded Nyx — Release Notes v0.2

Release date: 2026-08-16
Mod version: 0.2
Base: hekate 6.5.3 / stock Nyx 1.9.3
Artifact: output/nyx.binSD:/bootloader/sys/nyx.bin


Summary

v0.2 completes the System Rescue tab for recovering a Switch that still boots hekate but fails to launch Atmosphere. The focus is SD-side cleanup, selective CFW reinstall from a staging folder, overlay tooling, and clearer UI feedback — all without a PC at repair time.

Not included: native sysNAND firmware downgrade. That requires Horizon + Atmosphere Daybreak (see Firmware downgrade below).


What’s New in v0.2

System Rescue tab (Tools → 3rd sub-tab)

Feature Description
Version bar One-line FW + Atmosphere display from atmosphere/package3 when present; fuse-based FW fallback otherwise
Step 1 — Fast Purge Removes known-bad themes/overlays/sysmodules + clears atmosphere/erpt_reports
Step 2 — Advanced Reset Removes reboot_payload.bin, system_settings.ini, cheat_vm_logs/
Step 3 — Selective reinstall Options window with toggles: Atmosphere ZIP, fusee.bin, hekate update, modded nyx staging
Staging scan #FF8000 Scan:# Atmo/Fusee/Hek/Nyx status before you confirm
Install Overlay Tools Extracts nx-ovlloader*, ovlmenu*, sys-patch* from rescue folder
Full Instructions Scrollable help (archive bit, cheat fix, download links, workflow)
Step 1 info Compact help button instead of inline text clutter

Step 3 behavior

  • Backs up existing atmosphere/ to atmosphere_YYYYMMDD/ before ZIP extract
  • fusee.binSD:/fusee.bin (root only; streamed copy with size verify)
  • hekate.zip* → SD:/payload.bin, bootloader/update.bin, and bootloader/ tree
  • nyx.bin (optional in rescue folder) → SD:/bootloader/sys/nyx.bin — runs after hekate so stock Nyx is not left in place
  • Log: SD:/bootloader/rescue/rescue_log.txt

UI fixes

  • Step 3 toggles use a single full-width column (fixes clipped ON/OFF on the right)
  • Result summaries use _rescue_summary_append() — one recolor segment per line
  • Result dialog uses standard lv_mbox with left-aligned text and OK via nyx_mbox_action
  • Rescue tab column layout spacing adjusted under the version bar (col_y)

Build / toolchain

File Change
nyx/nyx_gui/frontend/gui_tools.c System Rescue mod (~1,940 lines custom block)
nyx/nyx_gui/link.ld __end__ symbol in .bss
bdk/utils/util.c Guard custom strtol when GCC ≥ 15 (avoids Nyx link conflict)

Build: make nyx (or Docker switch-nvk-build, then make -C nyx)
Typical output size: ~616 KB (output/nyx.bin)


Installation

  1. Build or obtain output/nyx.bin from this repo.
  2. Copy to SD:/bootloader/sys/nyx.bin.
  3. Boot hekate → Tools → sub-tab System Rescue.

Prepare SD:/bootloader/rescue/ before Step 3:

bootloader/rescue/
├── atmosphere*.zip
├── fusee.bin          (recommended)
├── hekate*.zip
├── nyx.bin            (optional — restore this mod after hekate update)
├── nx-ovlloader*.zip  (after Step 3, for games)
├── ovlmenu*.zip
└── sys-patch*.zip

See readme_modded_nyx.md for the full user guide.


Upgrade from v0.1

If you already had an early rescue build:

  1. Replace bootloader/sys/nyx.bin with the v0.2 build.
  2. No SD layout changes required — same bootloader/rescue/ folder.
  3. Step 3 now opens an options window; defaults follow what is found in the rescue folder.
  4. Re-stage nyx.bin in bootloader/rescue/ if you use Step 3’s hekate option (hekate update overwrites sys nyx with stock).

Known Limitations

  • Runs only when hekate/Nyx and SD are accessible.
  • ZIP files load into RAM; very large archives may fail on Nyx heap.
  • Step 1/2 delete specific paths only — not a full SD wipe.
  • hekate self-update replaces bootloader/sys/nyx.bin with stock Nyx; keep a backup of modded nyx.bin.
  • UI preview in tools/nyx_rescue_ui_preview/ is approximate — verify on hardware.

Firmware Downgrade (Out of Scope)

Accidental Nintendo system firmware updates are not fixed by copying files from Nyx. Real downgrade uses Daybreak under a running Atmosphere session (ams:su → sysNAND content install from official update NCAs).

Practical path after accidental FW update:

  1. Use Step 3 to reinstall a matching Atmosphere + fusee for your target HOS.
  2. Boot into CFW → run Daybreak with NCAs on SD (e.g. SD:/firmware/<version>/).
  3. Do not expect a future Nyx-native NAND flasher — evaluated and deferred as too large a project.

Documentation

File Purpose
readme_modded_nyx.md User guide
context_nyx_rescue.md Developer porting guide
nyx_rescue_custom_code.c Paste-ready snippet (re-export from gui_tools.c before porting)
tools/nyx_rescue_ui_preview/ Optional browser layout mock

Credits

  • hekate / Nyx — CTCaer and contributors
  • System Rescue mod — custom fork work on hekate 6.5.3
  • miniz (BDK) — in-process ZIP deflate for Step 3
  • Reference trees under .tmp/ (stock hekate, Atmosphere Daybreak, HATS payload) used for research only

v0.1 → v0.2 at a Glance

v0.1  Initial System Rescue (Steps 1–3, basic reinstall)
v0.2  Version bar, selective Step 3, nyx staging, overlays,
      UI/result fixes, build toolchain fixes, docs complete
      (no native FW downgrader)