Sphaira - hbmenu replacement

Sphaira is hbmenu alternative. It currently has feature parity with hbmenu (that is, launches homebrew + nxlink) whilst adding quite a few features.



HomeBrew​

The main menu tab, it lists all the .nro found in "/switch/". From there, you can launch, sort, delete, create a forwarder etc.
You can navigate to the other menu tabs using "L" and "R", explained below.

FileBrowser​

By pressing "L" from the main menu, you can access the file browser. You can Cut, Copy, Delete, Rename etc.
You can select multiple files / folders by using the "ZR" button and then se the above functions of that group of files.

Forwaders can be created if the selected file has a file assoc, see below for more details.

Appstore​

sphaira features an appstore, using the api from https://hb-app.store/switch. It can be navigated to by pressing "R" from the main menu.
The appstore is feature parity with hb-appstore app, as well as installing the manifests in the same folder as hb-appstore, in order to not break compatibility between the two.

Themes​

sphaira comes with 3 themes, abyss (default), black and white (unfinished).
custom themes can be added to "/config/sphaira/themes/", here is the abyss theme for example:
INI:
[meta]
name=Abyss
author=TotalJustice
version=1.0.0
; unused currently
preview=romfs:/theme/preview.jpg

[theme]
background=0x0f111aff
grid=0x0f115c30
selected=0x0f115cff
selected_overlay=0x529cffff
text=0xffbc41ff
text_selected=0x529cffff

icon_audio=romfs:/theme/icon_audio.png
icon_video=romfs:/theme/icon_video.png
icon_image=romfs:/theme/icon_image.png
icon_file=romfs:/theme/icon_file.png
icon_folder=romfs:/theme/icon_folder.png
icon_zip=romfs:/theme/icon_zip.png
icon_nro=romfs:/theme/icon_nro.png

music can be added to a theme, as long as the music is converted to bfstm format. simply add an entry like so: `music=/config/sphaira/themes/music/bgmusic_pcm.bfstm`

Forwaders​

sphaira can create and install forwarders for any .nro. It will use the icon of the .nro and the name + author.

It can also install forwarders for files that have a file assoc. For example, if mgba is installed and a game is located in "/roms/gba/game.gba", then the "Install Fowarder" option will appear. In this case, it will try to scrape the icon of the game, otherwise it will use the icon of the .nro and the name will be a combination of the .nro name and game name.

File Assoc​

file assoc is a way to associate file extensions (.gba, .nro etc) with a homebrew app. For example, clicking on rom.gbc that has an file assoc will bring up a list of all the applications that can handle it.
This can be used for emulators, media players, text editors etc...

custom file assoc should go in the folder "/config/sphaira/assoc/"

the format is *very* simple, here is an example of vgedit.ini
INI:
[config]
supported_extensions=txt|json|cfg|ini|md|log

and again for mgba.ini
INI:
[config]
supported_extensions=gba|gbc|sgb|gb
database=Nintendo - Game Boy|Nintendo - Game Boy Color|Nintendo - Game Boy Advance

"path": (optional) fullpath to the .nro. if not specified, it uses the name of the ini, ie, mgba.ini will use mgba.nro.
"supported_extensions": list of extensions the application supports, separated by |. plea
"database": (optional) name of the rom database to use defined by the left-side of this table <https://gist.github.com/ITotalJustice/d5e82ba601ca13b638af9b00e33a4a86>..

All of the retroarch cores has file assoc built into sphaira, so if you download retroarch using the appstore, and then navigate to "/roms/gbc/game.gbc", gambatte and mgba will be available to be selected.

Games can be kept in .zip format, sphaira will peek into the .zip and find the real extension and use that for displaying icons / file assoc.

Roms​

roms should be placed in "/roms/system_name/" where system name is defined by this table right-side entries <https://gist.github.com/ITotalJustice/d5e82ba601ca13b638af9b00e33a4a86>.
this is the same layout emulation station uses. the reason for forcing roms to be in specific folders is due to many roms for different systems using the same file extension, ie, .bin / .cue or .chd.

roms placed in subfolders are allowed, for example "/roms/psx/scooby-doo/scooby-doo.bin" is valid.

Themezer​

themes can be browsed and download by going Menu Options -> Misc -> Themezer. Themes will be downloaded to "/themes/sphaira/Theme Name - By Author/".
To install themes, launch "NXThemes Installer" and browse to the selected folder listed above.

Nxlink​

For homebrew developers, nxlink is built into sphaira. You do not have to press any special buttons, just do "nxlink *.nro" and send your nro like normal, console logging works to be using "nxlink -s *.nro"
By default, this is enabled in the background, to disable it: Menu Options -> Network -> Nxlink.



That's most of the features spahira has. If you enjoy it so much that you'd rather it be launched over regular hbmenu, you can enable the option in "Menu Options -> Replace hbmenu on exit" where it will do just that. It will create a backup of hbmenu in "/switch/hbmenu.nro" should you wish to swap back.
homebrew.jpg

games.jpg

appstore.jpg

appstore_page.jpg

file_browser.jpg

themezer.jpg

launch_options.jpg


Releases: https://github.com/ITotalJustice/sphaira/releases/
Bleeding-edge Releases: https://github.com/ITotalJustice/sphaira/actions
Source Code: https://github.com/ITotalJustice/sphaira
 
Last edited by Deleted member 413168,
Excellent app the ultimate super homebrew launcher! perfectly replacement for some stand alone apps maybe I could suggest a name feature for backup save data because the name is generated automatically and I think is not convenient+ of I disable compress save option it still compress the backup
Post automatically merged:

yes, the interface is extremely not intuitive. when install for sysmmc or emummc is enabled (depending on which you are using), you're able to press Y, and under Misc you find ftp install and mtp install menus

in 1.0.0 he makes the menu options always visible even when the install for sysmmc/emummc is disabled, but it's still extremely hidden in button menus that you need to dig through. I dont understand why it cant just always work without having to open a specific menu. or make that menu easier to access and more obvious for when you need it if large transfers like this really cant just work in the background without opening a specific menu first
Well who knows if someone who doesn't pay attention could install things on syscfw and then banned so I'm happy with the option to enable/disable sysmmc installation just because it's an extra protection for being banned (8
 
Last edited by angelus kun,
Hey all,

Apologies if this has been asked to death but how do the two USB install options work?

Do you point it at a folder and they show up in Saphira?
 
Hey all,

Apologies if this has been asked to death but how do the two USB install options work?

Do you point it at a folder and they show up in Saphira?
If you're talking about MTP install option, you need to enable sysMMC or emuMMC in the Install Options menu before that option becomes available. After that, you pretty much plug in your Switch, enable MTP install and open a MTP install screen or something and Install partition among other things will appear on your PC. After that, it's just drag and drop into the Install partition. Sorry I can't give you precise pointers right now as I don't have my Switch with me right now, but there's definitely a video on YouTube on how to use sphaira to install games.
 
  • Like
Reactions: StevensND
If you're talking about MTP install option, you need to enable sysMMC or emuMMC in the Install Options menu before that option becomes available. After that, you pretty much plug in your Switch, enable MTP install and open a MTP install screen or something and Install partition among other things will appear on your PC. After that, it's just drag and drop into the Install partition. Sorry I can't give you precise pointers right now as I don't have my Switch with me right now, but there's definitely a video on YouTube on how to use sphaira to install games.

Thank you. Went digging with that and found what I wanted to know - using something like NS-USB loader can be used to install to the device.

I last used NUT and was wondering if I could use that (or something similar like NS-USBLoader).
 
I must have been sleeping or something, a HB menu with a built-in title installer? Too good to be true tbh! I might finally go and ditch DBI for game installation purposes because this looks to be so much more convenient (and the author doesn't mind me using it, lol).
 
I must have been sleeping or something, a HB menu with a built-in title installer? Too good to be true tbh! I might finally go and ditch DBI for game installation purposes because this looks to be so much more convenient (and the author doesn't mind me using it, lol).
However, you will not be able to install some apps without the nca
 
  • Like
Reactions: Blythe93
yeah might as well forget about this project if it's locked behind a paywall.
It's behind a paywall for those True who would love to support the Creator TotalJustic
and the dedicated time he has put into the new features which by far is superior than this build requested by the Supporters and this project has so much potential so it's only logical that it would not be Free! so go show some love just as he did just by releasing this in the first place!
 
Last edited by Heavenseyes,
on the other side....its homebrew....something you shouldnt take money for but i get what you mean
Post automatically merged:

on the other side....its homebrew....something you shouldnt take money for but i get what you mean
and weird that people make things and release for free first, then suddently put that behind paywall.
 
Well, it's not like 1.0.0 and the future releases won't come out for free, just a bit later? I think it's fair to have an early access stuff on Patreon and to have an actual release once the bugs are dealt with. Also, it's not the end of the world if sphaira's newer releases never become available publicly.
 
i dont complain. its the devs choice, what i mean is its a bit weird if the app in general would be behind a paywall now if it wasnt before.
Post automatically merged:

i would and will support as soon as i can afford it xD
 
  • Like
Reactions: Blythe93

Site & Scene News

Popular threads in this forum