How xortroll/goldleaf works
Goldleaf is a Nintendo Switch homebrew utility; its central user workflow is navigating mounted filesystems and performing file/content operations, including NSP installation and remote-PC browsing through Quark. It also provides title, ticket, account, Amiibo, settings, firmware-update, and web-browser features. Quark is the companion desktop app: it connects over USB and serves filesystem commands to Goldleaf. Source excerpts are limited, so edges between Goldleaf UI and domain handlers are documented capability links rather than verified call sites.
Main entry points: ui_MainApplication.cpp Goldleaf app · MainApplication.java Quark UI · ui_BrowserLayout.cpp Filesystem explorer · ui_ApplicationListLayout.cpp Title browser
Components 29
Goldleaf UI
- Goldleaf app
Goldleaf/source/ui/ui_MainApplication.cpp - Filesystem explorer
Goldleaf/source/ui/ui_BrowserLayout.cpp - Title browser
Goldleaf/source/ui/ui_ApplicationListLayout.cpp - Ticket browser
Goldleaf/source/ui/ui_TicketsLayout.cpp - Account manager
Goldleaf/source/ui/ui_AccountLayout.cpp - Amiibo dump
Goldleaf/source/ui/ui_AmiiboDumpLayout.cpp - Settings
Goldleaf/source/ui/ui_SettingsLayout.cpp - Web browser
Goldleaf/source/ui/ui_WebBrowserLayout.cpp
Switch features
- Explorer backends
Goldleaf/source/fs - File operations
Goldleaf/source/fs/fs_Explorer.cpp - FAT filesystem
Goldleaf/source/fatfs/ff.c - Title content
Goldleaf/source/cnt/cnt_Content.cpp - NSP installer
Goldleaf/source/nsp/nsp_Installer.cpp - Content export
Goldleaf/source/expt/expt_Export.cpp - Firmware updates
Goldleaf/source/upd/upd_Update.cpp
Quark desktop
- Quark launcher
Quark/src/main/java/xortroll/goldleaf/quark/Main.java - Quark UI
Quark/src/main/java/xortroll/goldleaf/quark/ui/MainApplication.java - UI controller
Quark/src/main/java/xortroll/goldleaf/quark/ui/MainController.java - Host filesystem
Quark/src/main/java/xortroll/goldleaf/quark/fs/FileSystem.java
Quark protocol
- USB interface
Quark/src/main/java/xortroll/goldleaf/quark/usb/USBInterface.java - Command handlers
Quark/src/main/java/xortroll/goldleaf/quark/usb/cf/CommandFramework.java - USB command block
Quark/src/main/java/xortroll/goldleaf/quark/usb/cmd/CommandBlock.java - Handler interface
Quark/src/main/java/xortroll/goldleaf/quark/usb/cf/CommandHandler.java - Command definition
Quark/src/main/java/xortroll/goldleaf/quark/usb/cf/Command.java - Protocol buffer
Quark/src/main/java/xortroll/goldleaf/quark/Buffer.java
Other components
- Console user
- PC user
- PC filesystem
- Nintendo Switch
Connections 30
- Console user → Goldleaf app: uses
README.md - Goldleaf app → Filesystem explorer: opens
README.md - Filesystem explorer → Explorer backends: browses mounts
README.md - Filesystem explorer → File operations: performs operations
README.md - Explorer backends → FAT filesystem: uses FAT support
- Goldleaf app → Title browser: opens
README.md - Title browser → Title content: manages titles
README.md - Title browser → NSP installer: installs NSPs
README.md - Title browser → Content export: exports content
README.md - Goldleaf app → Ticket browser: opens
README.md - Goldleaf app → Account manager: opens
README.md - Goldleaf app → Amiibo dump: opens
README.md - Goldleaf app → Settings: opens
README.md - Settings → Firmware updates: checks updates
README.md - Goldleaf app → Web browser: opens
README.md - PC user → Quark launcher: launches
Quark/src/main/java/xortroll/goldleaf/quark/Main.java - Quark launcher → Quark UI: runs
Quark/src/main/java/xortroll/goldleaf/quark/Main.java - Quark UI → USB interface: connects over USB
Quark/src/main/java/xortroll/goldleaf/quark/ui/MainApplication.java - Quark UI → Command handlers: starts USB task
Quark/src/main/java/xortroll/goldleaf/quark/ui/MainApplication.java - Quark UI → UI controller: loads UI controller
Quark/src/main/java/xortroll/goldleaf/quark/ui/MainApplication.java - UI controller → Quark UI: updates UI config
Quark/src/main/java/xortroll/goldleaf/quark/ui/MainController.java - Command handlers → USB command block: handles blocks
Quark/src/main/java/xortroll/goldleaf/quark/usb/cf/CommandFramework.java - Command handlers → Host filesystem: queries filesystem
Quark/src/main/java/xortroll/goldleaf/quark/usb/cf/CommandFramework.java - Command handlers → Command definition: registers commands
Quark/src/main/java/xortroll/goldleaf/quark/usb/cf/CommandFramework.java - Command definition → Handler interface: dispatches to
Quark/src/main/java/xortroll/goldleaf/quark/usb/cf/CommandHandler.java - USB command block → USB interface: reads and writes
Quark/src/main/java/xortroll/goldleaf/quark/usb/cmd/CommandBlock.java - USB command block → Protocol buffer: encodes data
Quark/src/main/java/xortroll/goldleaf/quark/usb/cmd/CommandBlock.java - Host filesystem → PC filesystem: reads and writes
- Nintendo Switch → USB interface: connects to Quark
README.md - Filesystem explorer → Nintendo Switch: browses remote PC
README.md