159 Commits

Author SHA1 Message Date
ITotalJustice
eca19aa4bf fix hdd createDirWithPath, improve flashcart detection in gc menu, bump version for new release 0.13.1 -> 0.13.2 2025-06-18 23:17:58 +01:00
ITotalJustice
8e02538405 fix nvjpg crashing when trying to load a non-jpg image, fix building with nvjpg disable, optimise invalid nro asset loading, bump version for new release 0.13.0 -> 0.13.1 2025-06-18 21:10:15 +01:00
ITotalJustice
928da0cbda bump version for new release 0.12.0 -> 0.13.0 2025-06-18 15:42:50 +01:00
ITotalJustice
267693c6ab Revert "disable mtp install"
This reverts commit 8e67e5f0fc.

While MTP install may not work for most people, i guess it's better to have it as an option still.
Who knows, someone may figure out why it randomly freezes on windows when installing heavily compressed nsz files.
2025-06-18 15:22:53 +01:00
ITotalJustice
3f99afaa38 add personalised -> common convert. patch bad common tickets. fix yati installing nca's if already installed.
- dumped nsp now have the tik/cert at the end of the file table, rather than the beginning.
- dumped nsp patches the ticket if needed (no personalised dumping yet).
- installing titles will now patch the ticket, performing personalised -> common convert if needed, as well as fixing bad common tickets.
- yati no longer tries to install ncas if they already exist.
- ticket only option now actually works.
- fixed some translations.
- removed unused error codes.
2025-06-18 15:07:07 +01:00
ITotalJustice
8e67e5f0fc disable mtp install
see #132
2025-06-17 22:16:54 +01:00
Ny'hrarr
cb1508e6d5 Update pt.json (#178)
* Remove duplicate keys

* Add translation for MTP install

* Resolve conflicts with latest upstream commit

* Update pt.json
2025-06-17 17:32:53 +01:00
ITotalJustice
070be1ff94 fix filebrowser touch (related to f2462cff81).
the fix in commit f2462cff81 broke split screen.
this commit properly fixes the touch and split screen buttons.
2025-06-17 11:46:34 +01:00
ITotalJustice
7730eacea8 fix mtp install (again) due to the next transfer trying to start before the previous one had finished. 2025-06-17 11:23:45 +01:00
ITotalJustice
c5e3373fe1 fix filebrowser mount name not being displayed as the current option if translations are enabled 2025-06-17 11:00:56 +01:00
ITotalJustice
d7ec620173 signal homebrew refresh when downloading an app via ghdl 2025-06-17 10:57:24 +01:00
ITotalJustice
1c72350d4a add mtp install, fix es ticket being the wrong size, fix yati not returning the read fail result, updated haze, updated translations
see #132
2025-06-17 10:48:07 +01:00
sandmaennchen5
4ef15f8b81 German File Update (#177) 2025-06-17 01:59:13 +01:00
Aistra
8fc7b614a0 update Chinese translation and fix typo (#172) 2025-06-17 01:58:39 +01:00
ITotalJustice
0789a69975 delete save file before restoring. always commit fs after every write + close, delete, rename, create. 2025-06-17 01:57:42 +01:00
ITotalJustice
b405a816c9 use actual save timestamp when creating a zip backup 2025-06-17 01:03:18 +01:00
ITotalJustice
99c1db3655 disable hdd->hdd threading. only open log write on write to allow for reads. log fw/ams version.
hdd->hdd threading is disabled due to a bug in libusbhsfs which causes a deadlock if 2 fs calls happen at the same time.
2025-06-17 00:57:46 +01:00
ITotalJustice
6b099de63c fix passing raw string to vsprintf.
fixes #173
2025-06-12 21:50:06 +01:00
ITotalJustice
275707fe27 add mtp custom mount support (image sd, image nand, install, speed test). 2025-06-12 14:47:33 +01:00
ITotalJustice
c535b96b12 bump oss-nvjpg version fdcaba8 -> 16c10a3 (fixes homebrew icon decoding). 2025-06-10 20:23:37 +01:00
ITotalJustice
6b77cbb0c0 enable boost mode as early as possible during init, and exit boost as late as possible during exit. 2025-06-09 12:32:43 +01:00
ITotalJustice
a33d8e1061 fix gc menu button::A not being enabled when a gamecard is not inserted. 2025-06-09 12:20:27 +01:00
ITotalJustice
aaf11211dc add basic error messages for internal sphaira errors. 2025-06-09 12:11:05 +01:00
ITotalJustice
83b2aca942 bump ftpsrv version from 8c18431 -> 8782f6b 2025-06-09 10:26:31 +01:00
impeeza
fbae286dff Spanish file Update (#170)
* Spanish file Update

Making Spanish file update to latest version changes.

Short some strings.
2025-06-08 22:08:46 +01:00
游家小少
ba9b6b54bf Update zh.json (#171)
* Update zh.json

Add relevant strings to the Chinese language file and translate it based on the latest “pt.json” language file.

* Update zh.json
2025-06-08 22:07:43 +01:00
Ny'hrarr
1677514355 Update pt.json (#169)
* Update pt.json

* Update BCAT fields
2025-06-07 20:37:18 +01:00
ITotalJustice
ec1042efa3 rename Bcat -> BCAT, rename bcat folder to BCAT, better impl for stripping leading '/' for zip_add. 2025-06-07 20:27:36 +01:00
ITotalJustice
b03ad4ade3 support for all save types (system, bcat, cache, device). 2025-06-07 17:55:04 +01:00
ITotalJustice
04f6e5d2a8 update homebrew menu when app is installed from the appstore, add same effect to a few other menus (unused). 2025-06-07 13:03:44 +01:00
ITotalJustice
16c074db1a strip leading '/' in fs::AppendPath(). 2025-06-07 11:54:56 +01:00
ITotalJustice
8d958a2d1d in save menu close account service as soon as account data is loaded. 2025-06-07 11:49:50 +01:00
ITotalJustice
74c1cd3be0 add support for backup/restore save to usb 2025-06-07 11:45:06 +01:00
shadow2560
0fd5f348e2 Update french translation and fix a small typing error. (#168)
Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>
2025-06-07 08:13:34 +01:00
redraz
0c9433d0d3 Update ru.json (#166) 2025-06-05 08:59:00 +01:00
ITotalJustice
8fb34d42dc fix very rare crash when closing sphaira from the appstore when saves/games menu has also been opened.
i've been trying to track down this bug for a while. i still don't understand why it happens, however i have managed to
reproduce it an narrow down the crash, and thus fix it.

the bug was caused calling nvgDeleteImage() inside ~LazyImage() on image 43. this would only trigger once games/saves menu
had been opened at least once also.

i can only assume that the image fd was still refrenced in deko3d when drawing, as it would only ever crash on the visible images.
destroying fb resources before the calls to nvg delete seems to fix the issue.

maybe the explicit call to waitIdle is what fixes it? or clearing the cmd buf? who knows...
2025-06-05 02:56:13 +01:00
Ny'hrarr
be831eb04a Update pt.json (#165)
* Update pt.json
2025-06-05 02:51:49 +01:00
ITotalJustice
43ebab52d4 bump version for new release 0.11.3 -> 0.12.0 2025-06-05 01:00:08 +01:00
ITotalJustice
a5f9eaa392 compress save backup by default 2025-06-05 00:42:29 +01:00
ITotalJustice
cc2064f296 remove save support from ftpsrv as it may conflict with the new save menu. 2025-06-05 00:32:40 +01:00
ITotalJustice
f2462cff81 add save backup/restore, fix filebrowser touch screen, optimise all zip/unzip file code by using bigger stdio buffers. 2025-06-05 00:17:55 +01:00
xHR
b2e25abf08 fixed long strings, translate untranslated (#164) 2025-06-04 14:13:57 +01:00
ITotalJustice
cd0817bd11 add explicit sleep in between batch delete calls in order to not pin core3.
otherwise, core3 is pinned and button inputs (including the power button) become unresponsive.
2025-06-03 02:36:53 +01:00
ITotalJustice
e88ca8ede1 fix nvjpg icon loading if w*bpp != pitch. add build option to enable/disable nvjpg (for testing). 2025-06-03 02:16:23 +01:00
ITotalJustice
7a83269d98 disable nvjpg for homebrew menu (for now).
see https://github.com/averne/oss-nvjpg/issues/1.
2025-06-02 23:09:31 +01:00
ITotalJustice
4be1d48215 use oss-nvjpg for loading jpeg images (homebrew, games and themezer).
slightly faster loading on avg compared to stbi.
2025-06-02 22:18:38 +01:00
ITotalJustice
8485ff1e99 use nxtc (nx title cache) for caching titles in the game menu. 2025-06-02 20:52:08 +01:00
Chronoss
be66b10f49 Update fr.json (#162) 2025-06-02 18:02:01 +01:00
游家小少
1f22971493 中文语言文件更新 (#163)
* Update zh.json

Revise some Chinese translations
2025-06-02 18:01:43 +01:00
ITotalJustice
ea943088e5 usbds only set zlt on write 2025-06-02 18:00:40 +01:00
ITotalJustice
298be4a344 appstore add option to show installed files for app, add option to launch app website. slightly round scrollbar. 2025-06-02 17:51:48 +01:00
ITotalJustice
f37fc13b7c bump yyjson version 0.10.0 -> 0.11.1 (silences cmake warning) 2025-06-01 23:51:41 +01:00
ITotalJustice
506b74868e remove old screenshots. 2025-05-31 22:15:16 +01:00
ITotalJustice
4a59d1cfda add support for loading custom forwarder gif/logo from file. 2025-05-31 22:14:02 +01:00
ITotalJustice
7201c8347f handle left/right side menu swapping.
see #153
2025-05-31 18:45:57 +01:00
ITotalJustice
c8a3df3cfc merge Chinese translation from #159
fixes #159
2025-05-31 18:20:10 +01:00
ITotalJustice
2ef7742903 Merge branch 'multi_thread_everything' 2025-05-31 18:08:17 +01:00
ITotalJustice
f98135325a fix icon/list layout where the highlighted border would be clipped. 2025-05-31 18:03:12 +01:00
Yorunokyujitsu
fd765aa8c8 Updated theme, new translated strings, adjust left side split-screen x position. (#156)
* Add a new ThemeEntryID for split-screen and selected items and modify the theme.

* Adjust the position of the left side split-screen in the filebrowser menu.

* Add new strings and update Korean and Japanese translations.

* fix ja.json.

---------

Co-authored-by: ITotalJustice <47043333+ITotalJustice@users.noreply.github.com>
2025-05-31 18:02:53 +01:00
Ny'hrarr
ec93dd5a7d Add default theme and update screenshots (#160)
* Create sphaira_theme.ini

* Tweak colors and add default

* Add updated screenshots
2025-05-31 17:36:54 +01:00
Ny'hrarr
0e885ff2d5 Pt patches (#157)
* Update pt.json

* Update pt.json

* Added plural and one missing entry.
2025-05-31 17:35:55 +01:00
ITotalJustice
5893cb575e fix ncz block installs, fix error module value being out of range, display error on install from filebrowser.
the issue with block installs was that i was not tracking the ncz block offset in between transfers.
this resulted in the block size being used for each transfer, rather then size-offset.

for blocks that were always compressed, this silently worked as zstd stream can handle multiple frames.
however, if there existed compressed and uncompressed blocks, then this bug would be exposed.

thanks to Marulv for reporting the bug.
2025-05-31 17:30:28 +01:00
ITotalJustice
b46136b959 optimise fs CreateDirectoryRecursively() by checking if the path already exists prior to the loop. 2025-05-30 13:16:39 +01:00
ITotalJustice
390c1e870d multi-thread zip and unzip code. option to download appstore zip to mem. hasher mem support. 2025-05-30 12:34:29 +01:00
ITotalJustice
17b341d83a fix ncz install due to write offset being applied twice, fix zlt, bump version 0.11.2 -> 0.11.3
bug was introduced in 6b56b7f.
2025-05-29 01:45:15 +01:00
redraz
391234ea7b Update Russian translation (#155) 2025-05-28 23:24:43 +01:00
ITotalJustice
92eb3a9ecd add some default url entries, add option to enter custom url.
see #135
2025-05-28 20:02:51 +01:00
ITotalJustice
491445a12f Revert "remove Web menu"
This reverts commit 2d7763444e.
2025-05-28 18:46:30 +01:00
ITotalJustice
04c3c64562 always display commit hash with the version, log version hash, bump version for new release. 2025-05-28 15:37:14 +01:00
ITotalJustice
36c8a60de0 multi-threaded file copy (2.5x speed improvement for sd -> hdd). 2025-05-28 15:25:50 +01:00
ITotalJustice
6b01735655 multi-threaded hasher. 2025-05-28 15:16:32 +01:00
ITotalJustice
a801e385ce reduce the size of all file assoc entries by removing the [config] section. 2025-05-28 15:15:32 +01:00
ITotalJustice
01bfcb05cd fix gamecard install due to fs==NULL. more explicit yields for sd card transfers for file based emummc. 2025-05-28 15:00:31 +01:00
ITotalJustice
6b56b7f7c2 make all threads preemptive. workaround file based emummc hanging due to fs r/w hanging the system.
the fix for file based emummc is to simply sleep between fs r/w to the sd card.
the performance impact is minimal, even with the reduced buffer size.

the above *only* applies for when using file based emummc. not affecting using partition or sysmmc.
2025-05-28 14:37:56 +01:00
impeeza
b0ff2eb4b7 Impeeza build enh (#144)
* Update README.md

add switch-mbedtls needed to build the code

* Update build_release.sh

improvement on dir change using pushd

* Update README.md
2025-05-28 11:58:42 +01:00
Ny'hrarr
8821dfcbe4 Update Portuguese translation (#152)
* Update pt.json

* Update pt.json

* Translate new entries and other tweaks

* Added proper context to some entries
2025-05-28 11:57:32 +01:00
redraz
f48e6e21a1 Make RU translation (#151) 2025-05-28 11:57:13 +01:00
ITotalJustice
37ab1a345c fix toggling ftp enable in options which could cause a crash / prevent it from re-starting ftp.
fixes #137
2025-05-28 11:55:15 +01:00
ITotalJustice
89fbb10ee6 change update behaviour to update all paths where sphaira exists and better prompt the user how to update. 2025-05-27 22:17:50 +01:00
ITotalJustice
6db0cc0615 hide left-side menu from appearing in the misc menu 2025-05-27 21:51:51 +01:00
ITotalJustice
8f6c5ff618 enable hdd mounting over ftp, bump ftpsrv commit, disable ftpsrv gc mount, reduce ftpsrv memory usage in half 2025-05-27 21:47:06 +01:00
ITotalJustice
e1e19b1001 fix native fs showing empty dir count. 2025-05-27 18:21:13 +01:00
ITotalJustice
695102405b fix filebrowser split crash due to capturing the lambda by ref, 0.11.1 2025-05-27 17:59:06 +01:00
ITotalJustice
aeb6c64077 bump version for new release 0.10.3 -> 0.11.0 2025-05-27 17:44:48 +01:00
⭐️NINIKA⭐️
9050229b12 Change NSP padding logic to follow nxdt and nsfw validation (#147) 2025-05-27 17:05:28 +01:00
ITotalJustice
af4aa836a9 add gamecard trim detection. remove duplicate value in error box. 2025-05-27 15:35:52 +01:00
ITotalJustice
fb2272546a bump usbhsfs git tag to include hack for adaptor mounting. fix applet mode text being draw at wrong offset. 2025-05-27 00:55:26 +01:00
ITotalJustice
4b25b2c5eb use usb mount flags to detect if its read only, rather than checking global config. 2025-05-26 23:18:14 +01:00
ITotalJustice
c11d9edc4e add support for changing the left-side menu.
fixes #148
2025-05-26 22:55:06 +01:00
ITotalJustice
e2a5454263 set fs view to the right side when split mode is enabled. 2025-05-26 20:27:54 +01:00
ITotalJustice
3ca82463cc mount hdd by default, add hdd write protect option. 2025-05-26 19:25:09 +01:00
ITotalJustice
793b36fd59 add hotkey for file browser to jump to advanced options (R2 + X). 2025-05-26 18:01:06 +01:00
ITotalJustice
66fe526754 add option to label trimmed xci dumps (disabled by default). 2025-05-26 17:55:54 +01:00
ITotalJustice
7c45d60e60 add nxmp and switch wave file assoc, remove old sphaira file assoc, replace ext/db assoc parse code with views::split 2025-05-26 17:42:32 +01:00
ITotalJustice
a9931a975d many more optimisations. cleaned up fs code. bug fixes etc (see below).
- fix usb using the wrong year when polling the timestamp.
- fs file/dir has been re-written to allow for simplified calling and remove the need of manually closing.
- add SetSize for stdio by using ftruncate.
- don't truncate the file when opened in stdio.
- add getcount api for stdio.
- display file/dir count in filebrowser for non-native fs.
- allow hash to be used on non-native fs.
- slightly optimise nro parsing by manually calculating nro size rather than doing an os call.
- slightly optimise nro parsing by keeping the fs struct alive between calls, rather than creating a new one on the stack.
- fix filebrowser peeking into zip files that are stored on non-sd fs.
- set the timestamp of a file moved to a stdio location (cut/paste).
- slightly optimise daybreak update folder detection by skipping opening/polling the dir size.
- set the fullpath of the file thats being hashed in progress box.
2025-05-26 17:06:04 +01:00
ITotalJustice
3e3ec71329 default to having boost mode enabled for progress bar 2025-05-26 01:46:28 +01:00
ITotalJustice
49abdc0590 hotkey R2 in filebrowser for when pressed along with L2, select all files. 2025-05-25 21:06:14 +01:00
ITotalJustice
4f931d2991 Merge branch 'master' into dev 2025-05-25 21:00:51 +01:00
ITotalJustice
f7c5ccfa87 huge optimisations (see below). Build with c++26 and c23.
- build with c++26 and c23, fixes warnings due to this change.
- use #embed over romfs where applicable.
- load all configs upfront in the app menu, massively improves boot time
- enable boost mode during load/scan time in all (slow loading) menus, huge load time improvement.
- enable boost mode when exiting the app, to speed up closing all the menus and saving the config.
- reduce the size of the nro nacp when loading to just the title + author + display version.
- add option to enable boost mode for all progress bar menus, huge perf improvement again.
- remove unused launch_count var from the playlog file.
- display full path when dumping.
- optimise appstore unzip code by iterating through the zip rather than finding a specific file, reduces retroarch extract time from 52s to 26s.

overall, this commit has reduced boot time from 0.4s to 0.3s and massively increased load times of other menus.
(it also reduced the binary size by 4kb, so yay)
2025-05-25 20:57:03 +01:00
ITotalJustice
5ce23f29fa GC add initial data and UID dumping (credit to nxdumptool). Fix gc bug where ns wasn't closed. Fix usb s2s being an option if dumping the bins. Always remount GC after storage has been mounted. 2025-05-25 13:24:03 +01:00
shadow2560
d13ad64099 Update french translation (#149)
Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>
2025-05-25 11:23:00 +01:00
ITotalJustice
be88bdb567 initial work towards support standard nsp spec.
see #147
2025-05-24 23:56:42 +01:00
ITotalJustice
1bff57f9c9 Merge branch 'master' into dev 2025-05-24 23:40:52 +01:00
Yorunokyujitsu
4172d5d5b6 Added new strings and update Korean, Japanese lang. (#146)
* Added new strings and update Korean, Japanese lang.

* Update ko.json, ja.json.
2025-05-24 23:32:38 +01:00
ITotalJustice
1cdea981de workaround for time / battery % x position changing every few seconds.
fixes #142
2025-05-24 23:13:53 +01:00
ITotalJustice
22ebfd4a82 fs display hdd at the top of mount list for quick access, change xci dump folder to Gamecard. 2025-05-24 22:31:24 +01:00
ITotalJustice
798ac47487 limit fs hash to a single file. 2025-05-24 22:17:12 +01:00
ITotalJustice
fba8051007 use feof and ferror to detect errors with stdio fs stream. 2025-05-24 22:14:06 +01:00
ITotalJustice
15721b8e8a split screen mode for fs. fix game dump. scrolling text for fs, progress, menu base. display icon when dumping. 2025-05-24 21:55:10 +01:00
ITotalJustice
d43ca37875 add file hashing to the file browser (crc32, md5, sha1, sha256) 2025-05-23 17:02:35 +01:00
ITotalJustice
1b5e7401f2 use stdio for minini to benefit from buffering (reduces startup by 300ms), reduce fatfs size by 60kb. 2025-05-23 14:51:49 +01:00
ITotalJustice
d8b2896bed fix native dump, fix xci dumps going to nsp folder.
native dump broke with prev commit due to not using the sd card, instead using an empty fs.
2025-05-23 13:07:00 +01:00
ITotalJustice
6475f4316a simplify stdio/native file paths by sharing the same code. 2025-05-23 12:44:56 +01:00
ITotalJustice
93c38da742 add support for mounting stdio (hdd) in the file browser. 2025-05-23 12:23:28 +01:00
ITotalJustice
8070268d2a add hdd dump support, cleanup dump code into a single generic file. 2025-05-22 15:50:50 +01:00
ITotalJustice
2e6d757852 update usbds_getspeed to match pr, fix appstore install returning a bool instead of Result. 2025-05-21 21:52:54 +01:00
ITotalJustice
a91550174a add dump options, allow for gamecard menu to be accessed without install enabled. 2025-05-21 19:52:22 +01:00
ITotalJustice
52b166932d Merge branch 'master' into dev 2025-05-21 17:42:07 +01:00
ITotalJustice
d50bcb650f fix crash if nro has corrupted asset entry, bump version for new release 0.10.2 -> 0.10.3
the nro that caused this was ClkrstQuery.nro

fixes #141
2025-05-21 17:29:18 +01:00
ITotalJustice
654f3a1446 replace progress box result from bool to Result. Display error box if progress box fails. 2025-05-21 16:50:18 +01:00
ITotalJustice
71415e5044 remove unused last_launch | prev_timestamp storing / fetching. 2025-05-21 15:32:42 +01:00
ITotalJustice
da33b9a6b9 add usbds speed / max packet detection, add zlt support for usbds, fix game usb transfer bug (see below).
due to the previous commit, i broke dumping multiple games via usb as the stream offset wasn't reset.
because of this, the first transfer would complete, but the 2nd one would fail.
2025-05-21 14:43:18 +01:00
ITotalJustice
fe2a1a3a80 add support for streamed usb upload, multi thread usb uploads / dumps.
Some notes i made when adding stream support:
The tinfoil API makes it hard / impossible to multi thread the file upload because each data transfer passes the the file name and offset, meaning that it can and will change files and offset in the middle of a transfer
So that prevents the read thread from running freely in the background and the pull thread pulling data when requested.
The extension adds a flag to the usb header which if set, enables stream mode (same as ftp installs). This removes random access, but allows for multi threading as the data will be requested in order.
2025-05-21 13:19:46 +01:00
ITotalJustice
a67171e2b8 disable sleep whilst downloading, uploading, using usb, inside ftp menu. 2025-05-20 23:33:51 +01:00
ITotalJustice
cf908d63b9 backport controller led flashing from ftpsrv (only flash 1 controller). 2025-05-20 23:13:20 +01:00
ITotalJustice
ef25c3edc7 multi thread game dumps and file uploads.
previous uploads were all single threaded, which meant that it only uploaded as fast as the slowest source.
usb transfer is still single threaded due it being random access for both files and data, making it
hard for the read thread to run freely.
2025-05-20 22:50:05 +01:00
ITotalJustice
f956adabc3 add xci dumping, add xci cert and id set dump.
still missing uid and initial dumping.
2025-05-20 17:56:55 +01:00
⭐️NINIKA⭐️
4244be9592 Fix handling of unicode filenames in usb_install_pc.py (#143) 2025-05-20 12:45:59 +01:00
Ny'hrarr
a7fc19e28a Pt patches (#140)
* Update pt.json

* Translate new keys

* Translate FTP, USB and GameCard menus

* Update pt.json

* Update pt.json

* Add missing comma and translate more entries

* Fix case

* Update pt.json

* Update pt.json
2025-05-20 09:00:39 +01:00
ITotalJustice
cf192fca85 fix hbmenu not being updated due to faulty string compare, bump version 0.10.1 -> 0.10.2 2025-05-19 20:34:22 +01:00
xHR
041bb2bbe5 Added Ukranian language (#139) 2025-05-19 19:57:15 +01:00
ITotalJustice
df558d5dcc bump version for new release 0.10.0 -> 0.10.1 2025-05-19 17:06:49 +01:00
ITotalJustice
33de03a923 fix sd card dumps due to the folder not being created. 2025-05-19 17:04:49 +01:00
ITotalJustice
1000b9c8ec fix sphaira not detecting latest update as we went from 0.9 to 0.10. 2025-05-19 16:23:45 +01:00
ITotalJustice
74fddecebc bump version for new release 0.9.1 -> 0.10.0 2025-05-19 16:09:33 +01:00
ITotalJustice
a64d4dce7a remove ns event from games menu (see below).
turns out that the event is auto cleared when waited.
this meant that if sphaira handled the event before qlaunch got chance to handle it,
then qlaunch won't update when app records changed.

this can result in a gamecard not being mounted, deleted games still apearing, installed games
not being displayed etc...
2025-05-19 16:07:24 +01:00
ITotalJustice
5daca4354c add support for webdav uploads by creating missing folders, game now dumps to title/title[id].nsp 2025-05-19 16:00:03 +01:00
ITotalJustice
da9235f58e fix upload url path not being encoded, add seek api for uploads. 2025-05-19 12:06:43 +01:00
ITotalJustice
bd6566524c enable ftp in the ftp menu if it isn't already enabled. 2025-05-19 08:32:05 +01:00
ITotalJustice
eadc46b0e4 add support for file uploads in the file browser, optimise curl single thread download.
- curl now keeps the handle alive for single threaded downloads, rather than creating it each time.
2025-05-18 23:00:51 +01:00
ITotalJustice
71df5317be add game dump uploading, fix download progress using u32 instead of s64, add progress and title for usb game dump.
- added support for custom upload locations, set in /config/sphaira/locations.ini
- add support for various auth options for download/upload (port, pub/priv key, user/pass, bearer).
2025-05-18 20:30:04 +01:00
ITotalJustice
bd7eadc6a0 add game dumping, add game transfer (switch2switch) via usb, add multi game selecting, fix bugs (see below).
- added more es commands.
- fixed usb install potential hang if the exit command is sent, but the client stops responding (timeout is now 3s).
- added multi select to the games menu.
- added game dumping.
- added switch2switch support by having a switch act as a usb client to transfer games.
- replace std::find with std::ranges (in a few places).
- fix rounding of icon in progress box being too round.
- fix file copy helper in progress box not updating the progress bar.
2025-05-18 13:46:10 +01:00
ITotalJustice
544272925d fix IsEmunand() failing due to the paths not being page aligned. 2025-05-15 16:13:35 +01:00
ITotalJustice
70a31be134 don't fail if the control nca cannot be parsed during install, as it may depend on ticket not yet installed. 2025-05-15 15:25:03 +01:00
ITotalJustice
55ae2a63d9 fix installing failing during setup if prod.keys isn't found. 2025-05-15 15:14:02 +01:00
ITotalJustice
5a53947a3e fix crash in list layout caused by rendering all previous hidden entries. 2025-05-14 18:00:56 +01:00
BIGBIGSUI
3bbb5ccb3c Update zh.json (#136)
A latest zh.json. Hope it helps.
2025-05-14 00:29:04 +01:00
ITotalJustice
83472f1020 fix game menu forcefully disabled manual loading of control data.
this was done during testing / benchmarking, but i forgot to undo this.
2025-05-14 00:06:36 +01:00
ITotalJustice
0167bf034c gc menu now tries to load control data from ns cache before manually loading.
on fw 19 and below, loading from cache takes ~5ms, whereas manually loading takes ~20ms.
manually loading is still faster than relying on ns to load control from storage (~50ms).
2025-05-14 00:04:47 +01:00
ITotalJustice
35abe363a6 optimise theme meta loading. 2025-05-13 23:52:34 +01:00
ITotalJustice
97d3fd396e optimise game menu for fw 20
- loading the control data is ran on its own thread, it does not block the main thread. allows for smooth scrolling like nintendos home menu.
- on fw20+, sphaira manually parses the control data, rather than using ns. manually parsing takes 20-40ms, which is faster than ms which can take 50-500ms.
- on fw19 and below, if the control data is not in ns cache, sphaira will manually parse the data as its twice as fast as ns. You can see how fast this is by loading the gamecard menu as that manually parses everything, and it loads the gamecard faster than the home menu
2025-05-13 23:51:06 +01:00
ITotalJustice
b98ccb927e fix appstore status icons no longer being rounded (bug added in e279a70) 2025-05-11 20:19:43 +01:00
ITotalJustice
db23f072a2 add sysmmc / emummc install enable options.
allows the user to enable installs for one config and disable it for the other.
by default, it will load the install option found in the config, if found.
otherwise, it will load from the new config option.
2025-05-11 20:14:34 +01:00
ITotalJustice
4d3d7e81d4 update libhaze to silence gcc 15 warning and run on core2 instead of core0. 2025-05-11 03:45:48 +01:00
ITotalJustice
441807bc53 fix building for gcc 15 2025-05-11 03:00:04 +01:00
ITotalJustice
20e2d85843 remove bubbles, no one likes easter eggs apparently.
fixes #138
2025-05-11 02:41:56 +01:00
ITotalJustice
e279a70606 add layout options to grid based menues. 2025-05-11 02:39:03 +01:00
ITotalJustice
5d9e24af31 use ns application event to detect when to re-scan for record changes. 2025-05-04 20:42:57 +01:00
Ny'hrarr
078627e07b Update pt.json (#133)
* Update pt.json

* Translate new keys

* Translate FTP, USB and GameCard menus
2025-05-03 22:27:31 +01:00
294 changed files with 18983 additions and 6845 deletions

1
.gitignore vendored
View File

@@ -11,6 +11,7 @@ old_code
created_ncas
assets/romfs/shaders
.vscode/settings.json
.idea
info/
romfs/shaders
assets/unused

View File

@@ -4,16 +4,16 @@ A homebrew menu for the Nintendo Switch.
[See the GBATemp thread for more details / discussion](https://gbatemp.net/threads/sphaira-hbmenu-replacement.664523/).
[We have now have a Discord server!](https://discord.gg/8vZBsrprEc). Please use the issues tab to report bugs, as it is much easier for me to track.
[We have now have a Discord server!](https://discord.gg/8vZBsrprEc) Please use the issues tab to report bugs, as it is much easier for me to track.
## Showcase
| | |
:-------------------------:|:-------------------------:
![Img](assets/screenshots/2024121522512100-879193CD6A8B96CD00931A628B1187CB.jpg) | ![Img](assets/screenshots/2024121522514300-879193CD6A8B96CD00931A628B1187CB.jpg)
![Img](assets/screenshots/2024121522513300-879193CD6A8B96CD00931A628B1187CB.jpg) | ![Img](assets/screenshots/2024121523084100-879193CD6A8B96CD00931A628B1187CB.jpg)
![Img](assets/screenshots/2024121522505300-879193CD6A8B96CD00931A628B1187CB.jpg) | ![Img](assets/screenshots/2024121522502300-879193CD6A8B96CD00931A628B1187CB.jpg)
![Img](assets/screenshots/2024121523033200-879193CD6A8B96CD00931A628B1187CB.jpg) | ![Img](assets/screenshots/2024121523070300-879193CD6A8B96CD00931A628B1187CB.jpg)
![Img](assets/screenshots/homebrew.jpg) | ![Img](assets/screenshots/games.jpg)
![Img](assets/screenshots/appstore.jpg) | ![Img](assets/screenshots/appstore_page.jpg)
![Img](assets/screenshots/file_browser.jpg) | ![Img](assets/screenshots/launch_options.jpg)
![Img](assets/screenshots/themezer.jpg) | ![Img](assets/screenshots/web.jpg)
## Bug reports
@@ -40,7 +40,6 @@ MTP can be enabled via the Network menu.
Sphaira has file association support. Let's say your app supports loading .png files, then you could write an association file, then when using the file browser, clicking on a .png file will launch your app along with the .png file as argv[1]. This was primarly added for rom loading support for emulators / frontends such as RetroArch, MelonDS, mGBA etc.
```ini
[config]
path=/switch/your_app.nro
supported_extensions=jpg|png|mp4|mp3
```
@@ -69,9 +68,11 @@ You will first need to install [devkitPro](https://devkitpro.org/wiki/Getting_St
Next you will need to install the dependencies:
```sh
sudo pacman -S switch-dev deko3d switch-cmake switch-curl switch-glm switch-zlib
sudo pacman -S switch-dev deko3d switch-cmake switch-curl switch-glm switch-zlib switch-mbedtls
```
Also you need to have on your environment the packages `git`, `make`, `zip` and `cmake`
Once devkitPro and all dependencies are installed, you can now build sphaira.
```sh
@@ -85,15 +86,22 @@ The output will be found in `build/MinSizeRel/sphaira.nro`
## Credits
- borealis
- stb
- yyjson
- nx-hbmenu
- nx-hbloader
- deko3d-nanovg
- libpulsar
- minIni
- GBATemp
- hb-appstore
- haze
- [borealis](https://github.com/natinusala/borealis)
- [stb](https://github.com/nothings/stb)
- [yyjson](https://github.com/ibireme/yyjson)
- [nx-hbmenu](https://github.com/switchbrew/nx-hbmenu)
- [nx-hbloader](https://github.com/switchbrew/nx-hbloader)
- [deko3d-nanovg](https://github.com/Adubbz/nanovg-deko3d)
- [libpulsar](https://github.com/p-sam/switch-libpulsar)
- [minIni](https://github.com/compuphase/minIni)
- [GBATemp](https://gbatemp.net/threads/sphaira-hbmenu-replacement.664523/)
- [hb-appstore](https://github.com/fortheusers/hb-appstore)
- [haze](https://github.com/Atmosphere-NX/Atmosphere/tree/master/troposphere/haze)
- [nxdumptool](https://github.com/DarkMatterCore/nxdumptool) (for gamecard bin dumping and rsa verify code)
- [Liam0](switch-010editor-templates) (for ticket / cert structs)
- [libusbhsfs](https://github.com/DarkMatterCore/libusbhsfs)
- [libnxtc](https://github.com/DarkMatterCore/libnxtc)
- [oss-nvjpg](https://github.com/averne/oss-nvjpg)
- [nsz](https://github.com/nicoboss/nsz)
- [themezer](https://themezer.net/)
- Everyone who has contributed to this project!

View File

Before

Width:  |  Height:  |  Size: 569 B

After

Width:  |  Height:  |  Size: 569 B

View File

Before

Width:  |  Height:  |  Size: 703 B

After

Width:  |  Height:  |  Size: 703 B

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 783 B

After

Width:  |  Height:  |  Size: 783 B

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/81_libretro_libnx.nro
supported_extensions=p|tzx|t81
database=Sinclair - ZX 81

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/DoubleCherryGB_libretro_libnx.nro
supported_extensions=cgb|dmg|gb|gbc|sgb
database=Nintendo - Game Boy|Nintendo - Game Boy Color

View File

@@ -0,0 +1 @@
supported_extensions=mp3|ogg|flac|wav|aac|ac3|aif|asf|mp4|mkv|m3u|m3u8|hls|vob|avi|dv|flv|m2ts|m2v|m4a|mov|mpeg|mpg|mts|swf|ts|vob|wma|wmv|png|jpg|jpeg|bmp|gif

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/a5200_libretro_libnx.nro
supported_extensions=a52|bin
database=Atari - 5200

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/ardens_libretro_libnx.nro
supported_extensions=hex|arduboy
database=Arduboy Inc - Arduboy

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/arduous_libretro_libnx.nro
supported_extensions=hex
database=Arduboy Inc - Arduboy

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/atari800_libretro_libnx.nro
supported_extensions=xfd|atr|dcm|cas|bin|a52|zip|atx|car|rom|com|xex|m3u
database=Atari - 5200|Atari - 8-bit

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/bk_libretro_libnx.nro
supported_extensions=bin
database=BK-0010/BK-0011

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/bluemsx_libretro_libnx.nro
supported_extensions=rom|ri|mx1|mx2|dsk|col|sg|sc|sf|cas|m3u
database=Microsoft - MSX|Microsoft - MSX2|Coleco - ColecoVision|Sega - SG-1000|Spectravideo - SVI-318 - SVI-328

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/boom3_libretro_libnx.nro
supported_extensions=pk4
database=Doom 3

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/boom3_xp_libretro_libnx.nro
supported_extensions=pk4
database=Doom 3

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/bsnes_hd_beta_libretro_libnx.nro
supported_extensions=smc|sfc|swc|fig|gb|gbc|bs
database=Nintendo - Super Nintendo Entertainment System|Nintendo - Sufami Turbo|Nintendo - Satellaview

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/bsnes_libretro_libnx.nro
supported_extensions=smc|sfc|swc|fig|gb|gbc|bs
database=Nintendo - Super Nintendo Entertainment System|Nintendo - Sufami Turbo|Nintendo - Satellaview

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/cannonball_libretro_libnx.nro
supported_extensions=game|88
database=Cannonball

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/cap32_libretro_libnx.nro
supported_extensions=dsk|sna|zip|tap|cdt|voc|cpr|m3u
database=Amstrad - CPC|Amstrad - GX4000

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/chailove_libretro_libnx.nro
supported_extensions=chai|chailove
database=ChaiLove

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/crocods_libretro_libnx.nro
supported_extensions=dsk|sna|kcr
database=Amstrad - CPC

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/desmume_libretro_libnx.nro
supported_extensions=nds|ids|bin
database=Nintendo - Nintendo DS|Nintendo - Nintendo DS (Download Play)

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/dinothawr_libretro_libnx.nro
supported_extensions=game
database=Dinothawr

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/dosbox_pure_libretro_libnx.nro
supported_extensions=zip|dosz|exe|com|bat|iso|chd|cue|ins|img|ima|vhd|jrc|tc|m3u|m3u8|conf|/
database=DOS

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/dosbox_svn_libretro_libnx.nro
supported_extensions=exe|com|bat|conf|cue|iso|img|/
database=DOS

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/easyrpg_libretro_libnx.nro
supported_extensions=ldb|zip|easyrpg
database=RPG Maker

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/ecwolf_libretro_libnx.nro
supported_extensions=wl6|n3d|sod|sdm|wl1|pk3|exe
database=Wolfenstein 3D

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/fbneo_libretro_libnx.nro
supported_extensions=zip|7z|cue|ccd
database=FBNeo - Arcade Games

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/fceumm_libretro_libnx.nro
supported_extensions=fds|nes|unif|unf
database=Nintendo - Nintendo Entertainment System|Nintendo - Family Computer Disk System

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/flycast_libretro_libnx.nro
supported_extensions=chd|cdi|elf|bin|cue|gdi|lst|zip|dat|7z|m3u
database=Sega - Dreamcast|Sega - Naomi|Sega - Naomi 2|Atomiswave

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/fmsx_libretro_libnx.nro
supported_extensions=rom|mx1|mx2|dsk|fdi|cas|m3u
database=Microsoft - MSX|Microsoft - MSX2

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/freechaf_libretro_libnx.nro
supported_extensions=bin|chf
database=Fairchild - Channel F

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/freeintv_libretro_libnx.nro
supported_extensions=int|bin|rom
database=Mattel - Intellivision

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/frodo_libretro_libnx.nro
supported_extensions=d64|t64|x64|p00|lnx|lyx|zip
database=Commodore - 64

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/fuse_libretro_libnx.nro
supported_extensions=tzx|tap|z80|rzx|scl|trd|dsk|dck|sna|szx|zip
database=Sinclair - ZX Spectrum +3|Sinclair - ZX Spectrum

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/gambatte_libretro_libnx.nro
supported_extensions=gb|gbc|dmg
database=Nintendo - Game Boy|Nintendo - Game Boy Color

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/gearboy_libretro_libnx.nro
supported_extensions=gb|dmg|gbc|cgb|sgb
database=Nintendo - Game Boy|Nintendo - Game Boy Color

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/gearcoleco_libretro_libnx.nro
supported_extensions=col|cv|bin|rom
database=Coleco - ColecoVision

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/gearsystem_libretro_libnx.nro
supported_extensions=sms|gg|sg|bin|rom
database=Sega - Game Gear|Sega - Master System - Mark III|Sega - SG-1000

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/genesis_plus_gx_libretro_libnx.nro
supported_extensions=mdx|md|smd|gen|bin|cue|iso|sms|bms|gg|sg|68k|sgd|chd|m3u
database=Sega - Game Gear|Sega - Master System - Mark III|Sega - Mega-CD - Sega CD|Sega - Mega Drive - Genesis|Sega - PICO|Sega - SG-1000

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/genesis_plus_gx_wide_libretro_libnx.nro
supported_extensions=mdx|md|smd|gen|bin|cue|iso|sms|bms|gg|sg|68k|sgd|chd|m3u
database=Sega - Game Gear|Sega - Master System - Mark III|Sega - Mega-CD - Sega CD|Sega - Mega Drive - Genesis|Sega - PICO|Sega - SG-1000

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/gpsp_libretro_libnx.nro
supported_extensions=gba|bin
database=Nintendo - Game Boy Advance

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/gw_libretro_libnx.nro
supported_extensions=mgw
database=Handheld Electronic Game

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/handy_libretro_libnx.nro
supported_extensions=lnx|lyx|o
database=Atari - Lynx

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/jaxe_libretro_libnx.nro
supported_extensions=ch8|sc8|xo8
database=CHIP-8

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/jumpnbump_libretro_libnx.nro
supported_extensions=dat
database=Jump 'n Bump

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/lowresnx_libretro_libnx.nro
supported_extensions=nx
database=LowRes NX

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/lutro_libretro_libnx.nro
supported_extensions=lutro|love|lua
database=Lutro

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mame2000_libretro_libnx.nro
supported_extensions=zip|7z
database=MAME 2000

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mame2003_libretro_libnx.nro
supported_extensions=zip
database=MAME 2003

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mame2003_plus_libretro_libnx.nro
supported_extensions=zip
database=MAME 2003-Plus

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mednafen_lynx_libretro_libnx.nro
supported_extensions=lnx|lyx|o
database=Atari - Lynx

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mednafen_ngp_libretro_libnx.nro
supported_extensions=ngp|ngc|ngpc|npc
database=SNK - Neo Geo Pocket|SNK - Neo Geo Pocket Color

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mednafen_pce_fast_libretro_libnx.nro
supported_extensions=pce|cue|ccd|chd|toc|m3u
database=NEC - PC Engine - TurboGrafx 16|NEC - PC Engine CD - TurboGrafx-CD

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mednafen_pce_libretro_libnx.nro
supported_extensions=pce|sgx|cue|ccd|chd|toc|m3u
database=NEC - PC Engine SuperGrafx|NEC - PC Engine - TurboGrafx 16|NEC - PC Engine CD - TurboGrafx-CD

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mednafen_pcfx_libretro_libnx.nro
supported_extensions=cue|ccd|toc|chd
database=NEC - PC-FX

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mednafen_supergrafx_libretro_libnx.nro
supported_extensions=pce|sgx|cue|ccd|chd
database=NEC - PC Engine SuperGrafx|NEC - PC Engine - TurboGrafx 16|NEC - PC Engine CD - TurboGrafx-CD

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mednafen_vb_libretro_libnx.nro
supported_extensions=vb|vboy|bin
database=Nintendo - Virtual Boy

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mednafen_wswan_libretro_libnx.nro
supported_extensions=ws|wsc|pc2|pcv2
database=Bandai - WonderSwan|Bandai - WonderSwan Color

View File

@@ -1,4 +1,2 @@
[config]
supported_extensions=nds
database=Nintendo - Nintendo DS

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/melonds_libretro_libnx.nro
supported_extensions=nds|ids|dsi
database=Nintendo - Nintendo DS|Nintendo - Nintendo DS (Download Play)|Nintendo - Nintendo DSi|Nintendo - Nintendo DSi Decrypted|Nintendo - Nintendo DSi (Digital)

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mesen-s_libretro_libnx.nro
supported_extensions=sfc|smc|fig|swc|bs|gb|gbc
database=Nintendo - Super Nintendo Entertainment System|Nintendo - Satellaview|Nintendo - Game Boy|Nintendo - Game Boy Color

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mesen_libretro_libnx.nro
supported_extensions=nes|fds|unf|unif
database=Nintendo - Nintendo Entertainment System|Nintendo - Family Computer Disk System

View File

@@ -1,3 +1,2 @@
[config]
supported_extensions=gba|gbc|sgb|gb
database=Nintendo - Game Boy|Nintendo - Game Boy Color|Nintendo - Game Boy Advance

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mgba_libretro_libnx.nro
supported_extensions=gb|gbc|gba
database=Nintendo - Game Boy|Nintendo - Game Boy Color|Nintendo - Game Boy Advance

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mrboom_libretro_libnx.nro
supported_extensions=desktop
database=MrBoom

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/mupen64plus_next_libretro_libnx.nro
supported_extensions=n64|v64|z64|ndd|bin|u1
database=Nintendo - Nintendo 64

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/neocd_libretro_libnx.nro
supported_extensions=cue|chd
database=SNK - Neo Geo CD

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/nestopia_libretro_libnx.nro
supported_extensions=nes|fds|unf|unif
database=Nintendo - Nintendo Entertainment System|Nintendo - Family Computer Disk System

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/np2kai_libretro_libnx.nro
supported_extensions=d98|zip|98d|fdi|fdd|2hd|tfd|d88|88d|hdm|xdf|dup|cmd|hdi|thd|nhd|hdd|hdn
database=NEC - PC-98

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/nxengine_libretro_libnx.nro
supported_extensions=exe
database=Cave Story

View File

@@ -0,0 +1 @@
supported_extensions=mp3|ogg|flac|wav|aac|ac3|aif|asf|mp4|mkv|m3u|m3u8|hls|vob|avi|dv|flv|m2ts|m2v|m4a|mov|mpeg|mpg|mts|swf|ts|vob|wma|wmv|png|jpg|jpeg|bmp|gif

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/o2em_libretro_libnx.nro
supported_extensions=bin
database=Magnavox - Odyssey2|Philips - Videopac+

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/opera_libretro_libnx.nro
supported_extensions=iso|bin|chd|cue
database=The 3DO Company - 3DO

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/pcsx_rearmed_libretro_libnx.nro
supported_extensions=bin|cue|img|mdf|pbp|toc|cbn|m3u|ccd|chd|iso|exe
database=Sony - PlayStation

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/picodrive_libretro_libnx.nro
supported_extensions=bin|gen|smd|md|32x|cue|iso|chd|sms|gg|sg|sc|m3u|68k|sgd|pco
database=Sega - Master System - Mark III|Sega - Game Gear|Sega - Mega-CD - Sega CD|Sega - Mega Drive - Genesis|Sega - PICO|Sega - 32X

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/pokemini_libretro_libnx.nro
supported_extensions=min
database=Nintendo - Pokemon Mini

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/potator_libretro_libnx.nro
supported_extensions=bin|sv
database=Watara - Supervision

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/ppsspp_libretro_libnx.nro
supported_extensions=elf|iso|cso|prx|pbp|chd
database=Sony - PlayStation Portable

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/prboom_libretro_libnx.nro
supported_extensions=wad|iwad|pwad
database=DOOM

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/prosystem_libretro_libnx.nro
supported_extensions=a78|bin|cdf
database=Atari - 7800

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/puae2021_libretro_libnx.nro
supported_extensions=adf|adz|dms|fdi|ipf|hdf|hdz|lha|slave|info|cue|ccd|nrg|mds|iso|chd|uae|m3u|zip|7z|rp9
database=Commodore - Amiga|Commodore - CD32|Commodore - CDTV

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/puae_libretro_libnx.nro
supported_extensions=adf|adz|dms|fdi|ipf|hdf|hdz|lha|slave|info|cue|ccd|nrg|mds|iso|chd|uae|m3u|zip|7z|rp9
database=Commodore - Amiga|Commodore - CD32|Commodore - CDTV

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/px68k_libretro_libnx.nro
supported_extensions=dim|img|d88|88d|hdm|dup|2hd|xdf|hdf|cmd|m3u
database=Sharp - X68000

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/quasi88_libretro_libnx.nro
supported_extensions=d88|u88|m3u
database=NEC - PC-8001 - PC-8801

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/quicknes_libretro_libnx.nro
supported_extensions=nes
database=Nintendo - Nintendo Entertainment System

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/race_libretro_libnx.nro
supported_extensions=ngp|ngc|ngpc|npc
database=SNK - Neo Geo Pocket|SNK - Neo Geo Pocket Color

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/reminiscence_libretro_libnx.nro
supported_extensions=map|aba|seq|lev
database=Flashback

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/retro8_libretro_libnx.nro
supported_extensions=p8|png
database=PICO-8

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/sameboy_libretro_libnx.nro
supported_extensions=gb|gbc
database=Nintendo - Game Boy|Nintendo - Game Boy Color

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/scummvm_libretro_libnx.nro
supported_extensions= Seuss's ABC|#02|$00|(A)|(a)|(b)|0|000|001|002|003|004|005|006|007|009|025|1|101|102|12|1C|1c|2|2 US|25|26|3|34|4|455|5|512|6|8|84|85|86|87|99|99 (PG)|ACX|AD|ADF|ADV|AGA|ALD|ALL|AN|ANG|AP|ASK|AUD|AVD|AVI|BAT|BIN|BLB|BMV|BND|BRO|BS
database=ScummVM

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/smsplus_libretro_libnx.nro
supported_extensions=sms|bin|rom|col|gg|sg
database=Sega - Game Gear|Sega - Master System - Mark III

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/snes9x2010_libretro_libnx.nro
supported_extensions=smc|fig|sfc|gd3|gd7|dx2|bsx|swc
database=Nintendo - Super Nintendo Entertainment System|Nintendo - Sufami Turbo|Nintendo - Satellaview

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/snes9x_libretro_libnx.nro
supported_extensions=smc|sfc|swc|fig|bs|st
database=Nintendo - Super Nintendo Entertainment System|Nintendo - Sufami Turbo|Nintendo - Satellaview

View File

@@ -1,2 +0,0 @@
[config]
ext=nro

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/squirreljme_libretro_libnx.nro
supported_extensions=jar|sqc|jam|jad|kjx
database=J2ME

View File

@@ -1,4 +1,3 @@
[config]
path=/retroarch/cores/stella2014_libretro_libnx.nro
supported_extensions=a26|bin
database=Atari - 2600

Some files were not shown because too many files have changed in this diff Show More