ROM Hack [Release] Ultimate SNES Forwarder Maker for 3DS

Asdolo

the Hedgehog
OP
Member
Joined
Apr 29, 2016
Messages
587
Trophies
3
Age
28
Location
Buenos Aires
Website
twitter.com
XP
813
Country
Argentina
Current version: 1.0b (02-13-2017)



This is New 3DS only!
(just for now, I'll add snes9x and blargSNES support in a future)


RetroArch SNES Forwarders for your Home Menu!

Play your unsupported Virtual Console SNES roms launching them directly from Home Menu!


kQT3vZu.png


What's this?
A Windows tool for creating SNES forwarders to the Home Menu.

What does it do?:
It takes a Super Nintendo backup file and it converts it to an installable CIA for your 3DS with CFW. It does all in a one single program.

How this even work?
I made a RetroArch fork, in which I changed the code to make it, for example, read the rom from RomFS instead of MicroSD. There are many modifications to original RetroArch. The whole changelog is under the Features list.
Then, I provide an injector program (this thread) in which you can create a CIA based on my fork, injecting into it the rom that you want.

Features:
  • Super Nintendo injection into a CIA
  • Internal database, so the program can auto-fill some fields for you.
  • Configurable RetroArch options per game. See the tutorial for screenshots.
  • Easy made custom 3D banner
  • Easy made custom text/footer banner
  • Easy made whole process!

Based on RetroArch 1.3.3 and the last version of PocketSNES, CATSFC, CATSFC Plus and snes9x next core.

Modifications to original RetroArch:
* Make a RomFS.
* Hard-code RetroArch to load Content from romfs:/rom.bin hard-coding that directory in the RetroArch launch parameters. This means the rom is injected in the CIA. It won't be in the SD.
* Set RetroArch language based on system language.
* Change savefile directory to sdmc:/retroarch/forwarders/<CIA Title ID>/savefiles.
* Change savestate directory to sdmc:/retroarch/forwarders/<CIA Title ID>/savestates.
* Now the retroarch.cfg will be loaded from RomFS. This means custom configuration per game.
* Removed "Press Start" message when exiting RetroArch (now it just exit).
* Removed debug console.
* Set bottom screen to an image in romfs:/bottom.bin if there is any. Otherwise, the bottom screen will shut down.
* Removed the debug console toggle. Now touching everywhere on the screen toggles the Menu.
* Removed green menu border.
* Removed RetroArch and core version from menu.
* Removed timestamp from menu.
* English: changed 'Quick Menu' to 'Game Menu'.
* English: changed 'Core Cheat Options' to 'Cheat'.
* English: changed 'Quit Retroarch' to 'Quit Game'.
* English: changed 'Close Content' to 'Reset Game'.
* English: changed 'Resume Content' to 'Continue Game'.
* Removed 'Restart Content' menu option from Quick Menu.
* Removed 'Take Screenshot' menu option from Quick Menu.
* Removed 'Core Options' menu option from Quick Menu.
* Removed 'Core Input Options' menu option from Quick Menu.
* Removed 'Core Disk Options' menu option from Quick Menu.
* Removed 'Cheat File Save As' menu option from Core Cheat Options.
* Removed 'Start Core' menu option.
* Removed 'Load Content' menu option.
* Removed 'Load Recent' menu option.
* Removed 'Settings' menu option.
* Removed 'Information' menu option.
* Removed 'Restart Retroarch' menu option.
* Removed 'Load Configuration' menu option.
* Removed 'Save Current Config' menu option.
* Removed 'Save New Config' menu option.
* Removed 'Help' menu option.

* Mute audio when suspending the app and un-mute when restoring.
* Removed 'Cheats' menu option from Quick Menu.
* Removed 'Save slot' menu option from Quick Menu.
* Core options load from RomFS.

Requeriments: Microsoft .NET framework 4.0

Tutorial:
You'll just follow the steps in program. But just in case:

Step 1:

Open the program. You'll see this screen:

tCJHEkJ.png


Press Open SNES File button. It'll prompt you to pick a .smc or .sfc file.

noFfvJH.png


For this tutorial I'll pick the game Super Mario RPG.


The program will search in an internal database which contains the game name and developer. That database has USA rom priority.

p1L1pkK.png


When you pick a rom you'll be able to go to Step 2 (icon and name).

Step 2:
This is the Step 2 main screen:

44Tdjtc.png


All the fields are explained in the info boxes, but let me know if something doesn't understand.

Complete the fields making the most legit as possible (if you want to). For example:

1ENEEVc.png


I just downloaded the game title screen image by pressing the button, and I also changed the publisher field to "Nintendo" due to the used database only has developer name.

When you complete all the fields you'll able to go to Step 3 (3d banner).

Step 3:
This is the Step 3 main screen:

UcBa7Xr.png


Note: The program will load some default values (based on those in Step 2), but you can anyway replace these default values with ohter ones.
Example: if you want the icon and 3D banner to have different images, then first complete Step 2 with the icon image that you want and then complete Step 3 with the banner image that you want. Otherwise if you are too lazy or you want the same standard as legit VC CIA, leave it as is.

You can select which SNES version you want for the 3D banner. You can choose between USA SNES and EUR/JAP SNES.

For this example, I'll let the same banner image as the icon one, and I'll pick the USA SNES 3D banner, but I'll edit the bottom banner, importing a custom one I made with GIMP (using the import and use custom footer image option):

7WvReDq.png


You can also make your own text banner without leaving the application, as a quick and easy solution. You can change the font type, size, and brightness. Also there's a preview of that text banner (ignore the red borders, they won't be there in the console).

Doing my changes for this example:

Csx6Qqc.png


When you complete or modify all the fields you'll able to go to Step 4 (RetroArch parameters).

Step 4:
This is the Step 4 main screen:

nozV4tg.png

Yaaay! A lot of options!

Screen size:

You can set the game screen size to match pixel perfect resolution, full screen resolution, or a custom one if you want. You have a preview of how the game screen will be compared to the 3DS screen.

Bottom screen:
Here you can customize what do you want on the bottom screen. You can select to have a black screen with no even light, or a background image. I provide some pre-made bottom screen images, which "emulates" the VC bottom screen message. Also, you can import your custom bottom screen background image (it has to be 320x240).

Features:
Here you can customize some RetroArch options, such as button layout.

For this tutorial, I want:
Product code SNS-P-MRPG, a random Title ID (the program picks it randomly and automatically, checking if it doesn't match with an eShop Title ID), stretched fullscreen (400x240), automatic save & load feature and Spanish VC message on the bottom screen. I'll let the default button layout.

vqogp7U.png


Once we have everything ready, press Finish button.

That's it! The application will ask you where do you want to save the CIA file and It took some seconds to create it.
When the CIA is ready, the application will let you know it.

rQQD0OO.png


Then you can install the CIA in your 3DS using any CIA manager (actually I use the new FBI).
(The tutorial's screenshot are from v1.0)

Console screenshots:
7nt1mWw.png
4FLOUXk.png
SMUan22.png
D2BQRra.png
MdCHA7x.png
MrBn5jW.png
cCO8Lpo.png


You can go to Home Menu and the game sound won't be corrupted.

You can also close the 3DS lid (go to sleep mode) when playing the game.

You can also close the 3DS lid (go to sleep mode) when staying on the Home Menu!

Petitions: For now I'll just read this thread and make changes acording to the best for all. The code will be released much later; If a new version comes, I'll post here and I'll edit the OP.

Download links:
v1.0b: MEGA
v1.0: MEGA

Changelog:
v1.0b:
* Fixed the bug that crashed the program when another emulator than PocketSNES was selected.

v1.0: Initial release

RetroArch fork repository: https://github.com/Asdolo/RetroArch-3DS-Forwarders

Enjoy!
 
Last edited by Asdolo,

Rexen

Member
Newcomer
Joined
Jan 22, 2017
Messages
9
Trophies
0
Age
26
XP
64
Country
United States
I didn't think Mario RPG worked on any 3DS emulators yet, does Starfox and Starfox 2 work as well?

I tested SF2 in Snes9x on o3ds and it does work but there are drop frames.
Edit: I do think the drop frames are part of the actual game tho.
 
Last edited by Rexen,

BADDINOROX99

Well-Known Member
Member
Joined
Sep 9, 2015
Messages
781
Trophies
0
XP
1,044
Country
United States
Current version: 1.0 (02-12-2017)



This is New 3DS only!
(just for now, I'll add snes9x and blargSNES support in a future)


RetroArch SNES Forwarders for your Home Menu!

Play your unsupported Virtual Console SNES roms launching them directly from Home Menu!


kQT3vZu.png


What's this?
A Windows tool for creating SNES forwarders to the Home Menu.

What does it do?:
It takes a Super Nintendo backup file and it converts it to an installable CIA for your 3DS with CFW. It does all in a one single program.

How this even work?
I made a RetroArch fork, in which I changed the code to make it, for example, read the rom from RomFS instead of MicroSD. There are many modifications to original RetroArch. The whole changelog is under the Features list.
Then, I provide an injector program (this thread) in which you can create a CIA based on my fork, injecting into it the rom that you want.

Features:
  • Super Nintendo injection into a CIA
  • Internal database, so the program can auto-fill some fields for you.
  • Configurable RetroArch options per game. See the tutorial for screenshots.
  • Easy made custom 3D banner
  • Easy made custom text/footer banner
  • Easy made whole process!

Based on RetroArch 1.3.3 and the last version of PocketSNES, CATSFC, CATSFC Plus and snes9x next core.

Modifications to original RetroArch:
* Make a RomFS.
* Hard-code RetroArch to load Content from romfs:/rom.bin hard-coding that directory in the RetroArch launch parameters. This means the rom is injected in the CIA. It won't be in the SD.
* Set RetroArch language based on system language.
* Change savefile directory to sdmc:/retroarch/forwarders/<CIA Title ID>/savefiles.
* Change savestate directory to sdmc:/retroarch/forwarders/<CIA Title ID>/savestates.
* Now the retroarch.cfg will be loaded from RomFS. This means custom configuration per game.
* Removed "Press Start" message when exiting RetroArch (now it just exit).
* Removed debug console.
* Set bottom screen to an image in romfs:/bottom.bin if there is any. Otherwise, the bottom screen will shut down.
* Removed the debug console toggle. Now touching everywhere on the screen toggles the Menu.
* Removed green menu border.
* Removed RetroArch and core version from menu.
* Removed timestamp from menu.
* English: changed 'Quick Menu' to 'Game Menu'.
* English: changed 'Core Cheat Options' to 'Cheat'.
* English: changed 'Quit Retroarch' to 'Quit Game'.
* English: changed 'Close Content' to 'Reset Game'.
* English: changed 'Resume Content' to 'Continue Game'.
* Removed 'Restart Content' menu option from Quick Menu.
* Removed 'Take Screenshot' menu option from Quick Menu.
* Removed 'Core Options' menu option from Quick Menu.
* Removed 'Core Input Options' menu option from Quick Menu.
* Removed 'Core Disk Options' menu option from Quick Menu.
* Removed 'Cheat File Save As' menu option from Core Cheat Options.
* Removed 'Start Core' menu option.
* Removed 'Load Content' menu option.
* Removed 'Load Recent' menu option.
* Removed 'Settings' menu option.
* Removed 'Information' menu option.
* Removed 'Restart Retroarch' menu option.
* Removed 'Load Configuration' menu option.
* Removed 'Save Current Config' menu option.
* Removed 'Save New Config' menu option.
* Removed 'Help' menu option.

* Mute audio when suspending the app and un-mute when restoring.
* Removed 'Cheats' menu option from Quick Menu.
* Removed 'Save slot' menu option from Quick Menu.
* Core options load from RomFS.

Requeriments: Microsoft .NET framework 4.0

Tutorial:
You'll just follow the steps in program. But just in case:

Step 1:

Open the program. You'll see this screen:

tCJHEkJ.png


Press Open SNES File button. It'll prompt you to pick a .smc or .sfc file.

noFfvJH.png


For this tutorial I'll pick the game Super Mario RPG.


The program will search in an internal database which contains the game name and developer. That database has USA rom priority.

p1L1pkK.png


When you pick a rom you'll be able to go to Step 2 (icon and name).

Step 2:
This is the Step 2 main screen:

44Tdjtc.png


All the fields are explained in the info boxes, but let me know if something doesn't understand.

Complete the fields making the most legit as possible (if you want to). For example:

1ENEEVc.png


I just downloaded the game title screen image by pressing the button, and I also changed the publisher field to "Nintendo" due to the used database only has developer name.

When you complete all the fields you'll able to go to Step 3 (3d banner).

Step 3:
This is the Step 3 main screen:

UcBa7Xr.png


Note: The program will load some default values (based on those in Step 2), but you can anyway replace these default values with ohter ones.
Example: if you want the icon and 3D banner to have different images, then first complete Step 2 with the icon image that you want and then complete Step 3 with the banner image that you want. Otherwise if you are too lazy or you want the same standard as legit VC CIA, leave it as is.

You can select which SNES version you want for the 3D banner. You can choose between USA SNES and EUR/JAP SNES.

For this example, I'll let the same banner image as the icon one, and I'll pick the USA SNES 3D banner, but I'll edit the bottom banner, importing a custom one I made with GIMP (using the import and use custom footer image option):

7WvReDq.png


You can also make your own text banner without leaving the application, as a quick and easy solution. You can change the font type, size, and brightness. Also there's a preview of that text banner (ignore the red borders, they won't be there in the console).

Doing my changes for this example:

Csx6Qqc.png


When you complete or modify all the fields you'll able to go to Step 4 (RetroArch parameters).

Step 4:
This is the Step 4 main screen:

nozV4tg.png

Yaaay! A lot of options!

Screen size:

You can set the game screen size to match pixel perfect resolution, full screen resolution, or a custom one if you want. You have a preview of how the game screen will be compared to the 3DS screen.

Bottom screen:
Here you can customize what do you want on the bottom screen. You can select to have a black screen with no even light, or a background image. I provide some pre-made bottom screen images, which "emulates" the VC bottom screen message. Also, you can import your custom bottom screen background image (it has to be 320x240).

Features:
Here you can customize some RetroArch options, such as button layout.

For this tutorial, I want:
Product code SNS-P-MRPG, a random Title ID (the program picks it randomly and automatically, checking if it doesn't match with an eShop Title ID), stretched fullscreen (400x240), automatic save & load feature and Spanish VC message on the bottom screen. I'll let the default button layout.

vqogp7U.png


Once we have everything ready, press Finish button.

That's it! The application will ask you where do you want to save the CIA file and It took some seconds to create it.
When the CIA is ready, the application will let you know it.

rQQD0OO.png


Then you can install the CIA in your 3DS using any CIA manager (actually I use the new FBI).
(The tutorial's screenshot are from v1.0)

Console screenshots:
7nt1mWw.png
4FLOUXk.png
SMUan22.png
D2BQRra.png
MdCHA7x.png
MrBn5jW.png
cCO8Lpo.png


You can go to Home Menu and the game sound won't be corrupted.

You can also close the 3DS lid (go to sleep mode) when playing the game.

You can also close the 3DS lid (go to sleep mode) when staying on the Home Menu!

Petitions: For now I'll just read this thread and make changes acording to the best for all. The code will be released much later; If a new version comes, I'll post here and I'll edit the OP.

Download links:
v1.0: MEGA

Changelog:
v1.0: Initial release

RetroArch fork repository: https://github.com/Asdolo/RetroArch-3DS-Forwarders

Enjoy!
you are a retro god man
 
Joined
Jan 6, 2016
Messages
789
Trophies
0
Age
24
Location
XP
314
Country
Canada
I tested SF2 in Snes9x on o3ds and it does work but there are drop frames.
Edit: I do think the drop frames are part of the actual game tho.
Or its the CPU since you have an 03ds..
If I ran Super Mario World by clocking the CPU to the 03ds speeds (thanks to ntr), it's slow and choppy.
Star Fox 2 runs smooth as butter on my N3DSXL

Sent from my SM-G903W using Tapatalk
 
  • Like
Reactions: Hopalongtom

angelhp

Well-Known Member
Member
Joined
Nov 30, 2014
Messages
500
Trophies
0
XP
1,694
Country
United States
Thanks a lot @Asdolo !!!
Will be possible add banners Of Satellaview and Sufami Turbo (banners isnt in officially on virtual console)?
Can you use other version of pocketsnes(snes_2002) because i have bad graphics on intro of Super Mario RPG?
 
Last edited by angelhp,

Rexen

Member
Newcomer
Joined
Jan 22, 2017
Messages
9
Trophies
0
Age
26
XP
64
Country
United States
Or its the CPU since you have an 03ds..
If I ran Super Mario World by clocking the CPU to the 03ds speeds (thanks to ntr), it's slow and choppy.
Star Fox 2 runs smooth as butter on my N3DSXL

Sent from my SM-G903W using Tapatalk
I don't play starfox games so that's why I had my doubts. I do know Earthbound and Super Mario All Stars run fine.
 

Star_Wolf

New Member
Newbie
Joined
Feb 13, 2017
Messages
2
Trophies
0
Age
34
XP
31
Country
United States
Or its the CPU since you have an 03ds..
If I ran Super Mario World by clocking the CPU to the 03ds speeds (thanks to ntr), it's slow and choppy.
Star Fox 2 runs smooth as butter on my N3DSXL

Sent from my SM-G903W using Tapatalk

Any tips to get it running? I can't get Star Fox 2 to boot at all, black screen. Star Fox 1 runs but has a pretty bad frame rate for me. I'm using a non-XL New 3DS.

I tried a few different settings, removing the bilinear filter, checking and unchecking the rewind and other options, and setting different screen sizes (stretch and "pixel perfect) with no luck. I was NOT able to get the alternate emulators working because it returns an error after clicking "Finish".

All the other injects I did work great including Super Mario RPG. Thanks for the great piece of software OP!
 
Last edited by Star_Wolf,
Joined
Jan 6, 2016
Messages
789
Trophies
0
Age
24
Location
XP
314
Country
Canada
Any tips to get it running? I can't get Star Fox 2 to boot at all, black screen. Star Fox 1 runs but has a pretty bad frame rate for me. I'm using a non-XL New 3DS.

I tried a few different settings, removing the bilinear filter, checking and unchecking the rewind and other options, and setting different screen sizes (stretch and "pixel perfect) with no luck. I was NOT able to get the alternate emulators working because it returns an error after clicking "Finish".

All the other injects I did work great including Super Mario RPG. Thanks for the great piece of software OP!
Your issue might be because it's an Old 3DS XL. Your CPU us the issue since it is slower than the New 3DS like what I have. Even the first post says "New 3DS Only" in a font so big and brightly colored you shouldn't have missed it since it's one of the first words of the post.

Sent from my SM-G903W using Tapatalk
 

Asdolo

the Hedgehog
OP
Member
Joined
Apr 29, 2016
Messages
587
Trophies
3
Age
28
Location
Buenos Aires
Website
twitter.com
XP
813
Country
Argentina
New version 1.0b! This is due to bad testing xD

What's new:
* Fixed the bug that crashed the program when another emulator than PocketSNES was selected.

Links in the OP!
 

ArugulaZ

Well-Known Member
Member
Joined
Sep 17, 2009
Messages
674
Trophies
0
XP
1,067
Country
United States
He said "non XL New 3DS" (the smaller one).

How's this work for fighting games like TMNT Tournament Fighters? The graphics are garbled in other injectors, and colors are weird in SNES9X.
 
Joined
Jan 6, 2016
Messages
789
Trophies
0
Age
24
Location
XP
314
Country
Canada
New version 1.0b! This is due to bad testing xD

What's new:
* Fixed the bug that crashed the program when another emulator than PocketSNES was selected.

Links in the OP!
How come you use retro Arch?
How can we make it so some of us can use actual SNES VC's from Nintendo? Like for Super Mario Kart and Super Mario World??
 
General chit-chat
Help Users
    NeoGaming @ NeoGaming: we do not care