Sphaira es una alternativa a hbmenu. Actualmente tiene las mismas funciones que hbmenu (es decir, lanza homebrew + nxlink) y al mismo tiempo agrega algunas funciones.
HomeBrew
La pestaña del menú principal, que enumera todos los .nro que se encuentran en "/switch/". Desde allí, puede iniciar, ordenar, eliminar, crear un reenvío, etc.
Puede navegar a las otras pestañas del menú utilizando "L" y "R", como se explica a continuación.
Explorador de archivos
Al presionar "L" desde el menú principal, puede acceder al explorador de archivos. Puede cortar, copiar, eliminar, cambiar el nombre, etc.
Puede seleccionar varios archivos / carpetas utilizando el botón "ZR" y luego ver las funciones anteriores de ese grupo de archivos.
Se pueden crear reenvíos si el archivo seleccionado tiene un archivo asociado, consulte a continuación para obtener más detalles.
Tienda de aplicaciones
sphaira cuenta con una tienda de aplicaciones, que utiliza la API de https://hb-app.store/switch. Se puede navegar a ella presionando "R" desde el menú principal.
La tienda de aplicaciones tiene las mismas características que la aplicación hb-appstore, y además instala los manifiestos en la misma carpeta que hb-appstore para no romper la compatibilidad entre ambas.
Temas
Sphaira viene con 3 temas: abyss (predeterminado), blanco y negro (sin terminar).
Se pueden agregar temas personalizados a "/config/sphaira/themes/", aquí está el tema abyss como ejemplo:
[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
Se puede agregar música a un tema, siempre que la música se convierta al formato bfstm. Simplemente agregue una entrada como esta: `music=/config/sphaira/themes/music/bgmusic_pcm.bfstm`
Forwaders
sphaira puede crear e instalar reenviadores para cualquier .nro. Utilizará el ícono del .nro y el nombre + autor.
También puede instalar reenviadores para archivos que tienen un archivo asociado. Por ejemplo, si mgba está instalado y un juego se encuentra en "/roms/gba/game.gba", aparecerá la opción "Instalar reenviador". En este caso, intentará extraer el ícono del juego; de lo contrario, utilizará el ícono del .nro y el nombre será una combinación del nombre del .nro y el nombre del juego.
File Assoc
file assoc es una forma de asociar extensiones de archivo (.gba, .nro, etc.) con una aplicación homebrew. Por ejemplo, si haces clic en rom.gbc que tiene un archivo assoc, aparecerá una lista de todas las aplicaciones que pueden manejarlo.
Esto se puede usar para emuladores, reproductores multimedia, editores de texto, etc.
El archivo personalizado assoc debe ir en la carpeta "/config/sphaira/assoc/"
El formato es *muy* simple, aquí hay un ejemplo de vgedit.ini:
[config]
supported_extensions=txt|json|cfg|ini|md|log
Y otra vez para mgba.ini:
[config]
supported_extensions=gba|gbc|sgb|gb
database=Nintendo - Game Boy|Nintendo - Game Boy Color|Nintendo - Game Boy Advance
"path": (opcional) ruta completa al .nro. Si no se especifica, se utiliza el nombre del ini, es decir, mgba.ini utilizará mgba.nro.
"supported_extensions": lista de extensiones que admite la aplicación, separadas por |. plea
"database": (opcional) nombre de la base de datos de rom a utilizar definida por el lado izquierdo de esta tabla <https://gist.github.com/ITotalJustice/d5e82ba601ca13b638af9b00e33a4a86>..
Todos los núcleos de retroarch tienen la asociación de archivos integrada en sphaira, por lo que si descarga retroarch usando la tienda de aplicaciones y luego navega a "/roms/gbc/game.gbc", gambatte y mgba estarán disponibles para ser seleccionados.
Los juegos se pueden guardar en formato .zip, sphaira buscará en el .zip y encontrará la extensión real y la usará para mostrar íconos/archivos asociados.
ROMs
Las ROMs se deben colocar en "/roms/system_name/" donde el nombre del sistema se define en las entradas del lado derecho de esta tabla <https://gist.github.com/ITotalJustice/d5e82ba601ca13b638af9b00e33a4a86>.
Este es el mismo diseño que usa Emulation Station. La razón por la que se obliga a que las ROMs estén en carpetas específicas se debe a que muchas ROMs para diferentes sistemas usan la misma extensión de archivo, es decir, .bin / .cue o .chd.
Se permiten las ROMs ubicadas en subcarpetas, por ejemplo, "/roms/psx/scooby-doo/scooby-doo.bin" es válido.
Themezer
Se pueden buscar y descargar temas yendo a Opciones de menú -> Varios -> Themezer. Los temas se descargarán en "/themes/sphaira/Nombre del tema - Por autor/".
Para instalar temas, inicia "NXThemes Installer" y busca la carpeta seleccionada que aparece arriba.
Irs
Sensor infrarrojo. Es una aplicación de juguete que hice hace 4 (?) años donde muestra la salida del irs del joycon, úsalo para tomarte una selfie 🙂
Web
Inicia el navegador web integrado, no es muy bueno.
Nxlink
Para los desarrolladores de homebrew, nxlink está integrado en sphaira. No tienes que presionar ningún botón especial, solo haz "nxlink *.nro" y envía tu nro como siempre, el registro de la consola funciona usando "nxlink -s *.nro"
De manera predeterminada, esto está habilitado en segundo plano, para deshabilitarlo: Opciones de menú -> Red -> Nxlink.
Sphaira ha sido creado por ITotalJustice.
Que novedades incluye la versión 0.6.0
Released
- agregar descargador de github, agregar entradas en /config/sphaira/github/name.json
- corregir error de la tienda de aplicaciones donde olvidé agregar una interrupción en un caso de cambio.
- optimizar en gran medida la descarga de activos mediante el uso de etags para almacenar en caché todos los activos y volver a descargar solo cuando cambie el etag.
- todos los eventos internos ahora tienen un tiempo de espera, lo que significa que si ocurren muchos eventos a la vez, solo se procesarán tantos como sea posible dentro del intervalo de tiempo dado.
- la carga diferida de imágenes ahora tiene un límite de carga de 2 por cuadro. esto elimina las caídas de cuadros al desplazarse por la tienda de aplicaciones (debido a la IO lenta).
- la detección del amanecer ahora admite rutas personalizadas.
- el servidor ftp ahora usa la configuración ftpsrv y todos sus puntos de montaje.
- la velocidad de descarga (escritura) del servidor ftp se ha mejorado en gran medida mediante el uso del código de IO ftpsrv.
- opción para restaurar hbmenu al deshabilitar la opción "Reemplazar hbmenu al salir".
- agregar puntos de montaje personalizados para fs (sd e imagen).
- Parche de reenvío npdm para que admita los nuevos indicadores de depuración.
- Añadido soporte para pantalla táctil.
- Mejorado el tiempo de carga de libpulsar (biblioteca de carga de sonido).
- Opción para establecer la música de fondo predeterminada, colocar el archivo en /config/sphaira/themes/default_music.bfstm
- Renovación de temas, ahora más personalizables.
- Añadido herencia de temas, lo que simplifica enormemente la creación de nuevos temas.
- Se corrige el problema de que la lista emergente se dibuja fuera de la pantalla.
- Se corrige el problema de que la barra de desplazamiento se dibuja fuera de la pantalla.
- El texto de la barra lateral ahora se desplazará si la longitud del texto es demasiado grande para la región.