Tutorial  Updated

Generate RetroArch NSP Forwarders (with proper icon and title)

This tutorial will show you how to generate a RetroArch NSP Forwarder. The end result is a game on your HOME menu, and when you open it RetroArch is launched with the game directly running. Here's a video showing what it looks like (video by @bobdamnit).

I may or may not make an automated version of it, in a nice GUI, without any external dependency required. Time will tell. If someone wants to do it, go ahead.

1. What's needed
  • The latest release of hacBrewPack : https://github.com/The-4n/hacBrewPack/releases
  • keys.dat (I recommend using Lockpick to dump it)
  • The latest release of my modded hbloader : https://github.com/natinusala/nx-hbloader-retroarch-forwarder-mod/releases (build.zip)
  • The core (NRO) and the game you want to forward on your SD card (download the core through RA's online updater)
  • A 256x256 JPG icon of the game you want to forward (I suggest that you make your own)
  • (optional) a PNG to be displayed in the top-left corner of the screen while loading (normally Nintendo logo) and a GIF to be displayed in the bottom-right corner (normally an animated Switch logo)
2. Creating the NSP

Extract hacBrewPack somewhere and follow these steps:
  • copy your keys.dat where hacbrewpack.exe is
  • copy both "control" and "exefs" from my modded hbloader to the folder where hacbrewpack.exe is
  • inside the new "control", copy your 256x256 JPG and rename it "icon_AmericanEnglish.dat"
  • create a folder called "logo" where hacbrewpack.exe is
  • now the important part: create a folder called "romfs" where hacbrewpack.exe is
    • inside, create two files: "nextNroPath" and "nextArgv"
    • in "nextNroPath", write the path to the core on your SD card starting by "sdmc:" (for example sdmc:/retroarch/cores/quicknes_libretro_libnx.nro)
    • in "nextArgv", write the path to the core on your SD card starting by "sdmc":, followed by a whitespace and the path to the game on your SD card between quotes (for example sdmc:/retroarch/cores/quicknes_libretro_libnx.nro "sdmc:/roms/nes/Super Mario Bros. 3 (USA).nes")
    • Be sure not to put newlines in the end of any of those files
  • Open cmd in the folder where hacbrewpack.exe is and run "hacbrewpack.exe --titleid <title id> --titlename <game name> --titlepublisher <game publisher>"
  • If everything went fine, you should have your NSP in the "hacbrewpack_nsp" folder (called by its title id)
3. How does it work?

If a content path is set in argv when running RetroArch, the content is loaded instead of opening the menu.

This is a simple mod of hbloader which reads the NRO path ("nextNroPath") as well as argv ("nextArgv") from its romfs.
  1. you run the title
  2. hbloader starts
  3. hbloader reads the NRO path and its arguments from its romfs
  4. hbloader starts the NRO (the core), giving the arguments (the content path)
  5. The core is started, and loads the content given in arguments
"But why use romfs, you could have directly set the path in the code" I hear you ask. I used romfs because I wanted to be able to change the core and content path without rebuilding hbloader, for an eventual automated tool.
 
Last edited by natinusala,

Odb718

Active Member
Newcomer
Joined
Jul 2, 2018
Messages
28
Trophies
0
XP
240
Country
United States
Are there any limitations on the NintendoLogo.png and/or the StartupMovie.gif?
Does the length of the gif affect the start up time? Like if I make the gif 2mins long will it take 2mins to boot into the app?
 

chronoss

Well-Known Member
Member
Joined
May 26, 2015
Messages
3,006
Trophies
1
XP
4,857
Country
Congo, Republic of the
@natinusala : is this command is correct because it don't working for me :(
hacbrewpack.exe --titleid <01a9d30106c48000> --titlename <Super Mario All Stars> --titlepublisher <Capcom>


So far, so good:
Screenshot-4.png
Can you share your icon please ?
 

chronoss

Well-Known Member
Member
Joined
May 26, 2015
Messages
3,006
Trophies
1
XP
4,857
Country
Congo, Republic of the
So I made a RetroArch NSP generator program in batch for the laziest of the laziest. It's called VC-NX.
Wanted to make a separate thread for this, but decided I wanted to post it here instead because we don't want a dozen threads on the exact same topic lol *cough* "[SUGGESTION] help me on sx os 2.0" *cough*
Took me like 2 and a half hours total to code, and I had to do a lot of bug-fixing in the process.
Hope this makes the process easier.

Anyways, enjoy! ;)
Good !
 

Loc-Nar

Member
Newcomer
Joined
Nov 5, 2018
Messages
5
Trophies
0
Age
37
XP
80
Country
United States
So I made a RetroArch NSP generator program in batch for the laziest of the laziest. It's called VC-NX.
Wanted to make a separate thread for this, but decided I wanted to post it here instead because we don't want a dozen threads on the exact same topic lol *cough* "[SUGGESTION] help me on sx os 2.0" *cough*
Took me like 2 and a half hours total to code, and I had to do a lot of bug-fixing in the process.
Hope this makes the process easier.

Anyways, enjoy! ;)

Thanks natinusala and CatmanFan very neat!

Everything works well for me except the game icons does not appear when installed, only shows a grey question mark box. I'm using a 24 bit 256x256 jpg placed in the "files" directory. Any ideas?
 

Loc-Nar

Member
Newcomer
Joined
Nov 5, 2018
Messages
5
Trophies
0
Age
37
XP
80
Country
United States
Did you name it
icon_AmericanEnglish.dat
and not icon_AmericanEnglish.dat.jpg?

Following natinsala's tutorial it works flawless, but using CatmanFan's VC NX i cannot get the icons to appear once installed. anybody else run in to this?
 
Last edited by Loc-Nar,

2Siralv

Well-Known Member
Member
Joined
May 12, 2018
Messages
103
Trophies
0
Age
28
XP
531
Country
Canada
So i got everyrhing eorking and good but the part where i type the command where the hacbrew is loacted and it says wrong sytex after addig the name id and publisher do they need to match or and for location u want it like that with the quates and both or one but when i click hackbrew itself it builda it and installs and loads om switch but loads into hbmenu instead

--------------------- MERGED ---------------------------

So i got everyrhing eorking and good but the part where i type the command where the hacbrew is loacted and it says wrong sytex after addig the name id and publisher do they need to match or and for location u want it like that with the quates and both or one but when i click hackbrew itself it builda it and installs and loads om switch but loads into hbmenu instead
The whitespace and path is what im talking about wantif it in quates or lime that and i jst change my game and nro
 

Grmmish

Well-Known Member
Member
Joined
Sep 6, 2018
Messages
414
Trophies
0
Age
29
XP
1,264
Country
United States
Am I the only one having this problem?
I follow direction. Get the NSP. Has my icon, name etc.
I install it. Then when I open it... It crashed.
Now the first I tried was N64. But I read it is quite early so it is likely.
But then I tried Hyper Metroid with the SNES Core..... No difference. ????
Any ideas?

--------------------- MERGED ---------------------------

EDIT: Not sure if this means anything I am using the Retroarch 1.7.5 NSP.

--------------------- MERGED ---------------------------

EDIT 2: I saw it said Key Generation 1.
I am on 6.2 Firmware... Does that mean anything?

Edit 3: Think I found the stupid answer.. XD

Edit one million and five: Hm.. Obviously not.

--------------------- MERGED ---------------------------

Edit 60: I think the Boot images were corrupted. We'll see....

--------------------- MERGED ---------------------------

FINAL:
I downloaded those from the link.
Good thing I had a backup from my own dumps of games. Those boot files were corrupted. :/
 
Last edited by Grmmish,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: