Homebrew Project [RELEASE] FriishProduce - multiplatform WAD injector

grandosegood

Well-Known Member
Member
Joined
Oct 5, 2017
Messages
342
Trophies
0
Age
36
XP
942
Country
United States
  • Like
Reactions: SaulFabre

CatmanFan

Anxious and regretful
OP
Member
Joined
Aug 14, 2016
Messages
1,963
Trophies
0
Website
www.youtube.com
XP
2,605
Country
Morocco
I have released v0.26-beta now.

Not much of value other than Sony PlayStation added support via forwarders (experimental), however it's been marked as a pre-release on GitHub since I have not tested it enough myself (granted it's been six months to the day since I last made a new version public).
 

Mixtape

Member
Newcomer
Joined
Apr 16, 2020
Messages
13
Trophies
0
Age
23
Location
Massachusetts, USA
XP
83
Country
United States
Just to provide a quick data point regarding compatibility, I was recently able to inject the NA release of Brain Lord via VC over a Super Metroid base and boot it successfully. When attempting to do the same over a Super Mario RPG or Kirby's Dream Land 3 WAD, the game itself would fail to boot. The VC "You will need a Classic Controller" message would appear though.

I'm not sure whether this is related to injecting a non-SA1 ROM into an SA1 WAD, the game itself, FriishProduce, or something else entirely. Regardless,I figured it was worth mentioning. It's also entirely possible that I missed a warning somewhere so let me know if that's the case. I can also to do some more testing or file a commit with an appropriate warning to the wiki if it helps. Let me know how I can help and thanks for your work on this tool!
 
  • Like
Reactions: SaulFabre and XFlak

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,190
Trophies
2
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,840
Country
Ecuador
Just to provide a quick data point regarding compatibility, I was recently able to inject the NA release of Brain Lord via VC over a Super Metroid base and boot it successfully. When attempting to do the same over a Super Mario RPG or Kirby's Dream Land 3 WAD, the game itself would fail to boot. The VC "You will need a Classic Controller" message would appear though.

I'm not sure whether this is related to injecting a non-SA1 ROM into an SA1 WAD, the game itself, FriishProduce, or something else entirely. Regardless,I figured it was worth mentioning. It's also entirely possible that I missed a warning somewhere so let me know if that's the case. I can also to do some more testing or file a commit with an appropriate warning to the wiki if it helps. Let me know how I can help and thanks for your work on this tool!
Super Mario RPG and Kirby's Dream Land 3 are SNES SA-1 chip games.
I tried injecting some non-SA1 games in those bases so far but i have the exact same issue here.

Solution: don't use these SA1 bases if the game you want to inject doesn't use SA1.
 
  • Like
Reactions: Mixtape

CatmanFan

Anxious and regretful
OP
Member
Joined
Aug 14, 2016
Messages
1,963
Trophies
0
Website
www.youtube.com
XP
2,605
Country
Morocco
Update
I've recently started work on a new MDI design for the app and porting features over. This is how it looks so far.

FriishProduce_t1.png


Obviously, everything is very much still work-in-progress, again, and will be subject to change.

In the meantime, I have also opened a Crowdin for translating this design which can be found here.
 
Last edited by CatmanFan,

Fludd-Stop

Member
Newcomer
Joined
Mar 12, 2024
Messages
5
Trophies
0
XP
50
Country
United States
Loving this utility, I love the ability to launch pre-Gamecube games via USB Loader GX! I'm having an issue though with N64 forwarders however; I understand the virtual console compatibility for injects is relatively low, which is why I opted to use the Not64 injection method. I tried injecting Mario Party 3 into a USA Sin and Punishment WAD via Not64 injection; the game runs perfectly fine via Not64, but when launching the WAD channel after installing it just takes me back to the Wii's home menu. Is this normal, or am I making a mistake? Or does the VC compatibility extend to the Not64 injection method as well?
 

Attachments

  • FriishProduce_7XPbpiZqus.png
    FriishProduce_7XPbpiZqus.png
    27.4 KB · Views: 14
  • FriishProduce_OB1I9Aqw7S.png
    FriishProduce_OB1I9Aqw7S.png
    66.9 KB · Views: 15

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,190
Trophies
2
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,840
Country
Ecuador
I tried injecting Mario Party 3 into a USA Sin and Punishment WAD via Not64 injection; the game runs perfectly fine via Not64, but when launching the WAD channel after installing it just takes me back to the Wii's home menu. Is this normal, or am I making a mistake? Or does the VC compatibility extend to the Not64 injection method as well?
Mario Party 3 doesn't even boot in Sin & Punishment VC WAD.
Also, i've only got it booting on VC with a specific rom (Mario Party 3 (U) [f1].z64) injected on Mario Party 2 but it crashes on intro when it fades to Mario and his lawn chair, and if you try to skip intro, if crashes at the title screen.

It's better to make a SRL for that game using Not64.

In other words: this is normal cause VC compatibility is so low.
 

epicmartin7

Well-Known Member
Member
Joined
Aug 5, 2015
Messages
428
Trophies
0
Age
24
XP
1,031
Country
United States
Sooooo, question. I tried making a forwarder for both a NES and SNES game using the homebrew emulators, and it seems like it's not able to save both games? Trying to save to sram in the emulator menu makes it come back with "Directory Listing Not Found". Is there anything I need to do to make those games save?
 
  • Like
Reactions: SaulFabre

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,190
Trophies
2
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,840
Country
Ecuador
(Sooooo, question. I tried making a forwarder for both a NES and SNES game using the homebrew emulators, and it seems like it's not able to save both games? Trying to save to sram in the emulator menu makes it come back with "Directory Listing Not Found". Is there anything I need to do to make those games save?
You need to make a folder in the root of your SD card or USB drive called:
NES: "fceugx" (for FCE Ultra GX) or "fceuxtx" (for FCEUX TX)
SNES: "snes9xgx" (for Snes9x GX) or "snes9xtx" (for Snes9x TX)

And inside that folder you need to create another folder called "saves".

Ex.: sd:/snes9xtx/saves/
 

epicmartin7

Well-Known Member
Member
Joined
Aug 5, 2015
Messages
428
Trophies
0
Age
24
XP
1,031
Country
United States
You need to make a folder in the root of your SD card or USB drive called:
NES: "fceugx" (for FCE Ultra GX) or "fceuxtx" (for FCEUX TX)
SNES: "snes9xgx" (for Snes9x GX) or "snes9xtx" (for Snes9x TX)

And inside that folder you need to create another folder called "saves".

Ex.: sd:/snes9xtx/saves/
Ah, cool. Thanks for that!

Also, side question. I noticed when putting in the game name into the Channel Banner, after a certain character length, 2Spieler is automatically added to the end. Is there anyway to fix that?
 

Plaxaris92

New Member
Newbie
Joined
Apr 10, 2024
Messages
1
Trophies
0
Age
23
XP
29
Country
Argentina
Is it possible to add gamecube support? Or is there a way to make wads for gamecube games? I've seen videos showing that is possible but can't find any tutorial or any info
 
  • Like
Reactions: SaulFabre

ShantaeFan123

New Member
Newbie
Joined
Jan 30, 2024
Messages
3
Trophies
0
Age
117
XP
63
Country
United States
Is it possible to add gamecube support? Or is there a way to make wads for gamecube games? I've seen videos showing that is possible but can't find any tutorial or any info
I found a post that might answer your question called “Custom Nintendont System Menu Channels for Wii/vWii” which is basically GameCube games on the Wii menu and if that doesn’t help then sorry, SaulFabre might be able to answer your question though
 

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,190
Trophies
2
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,840
Country
Ecuador

CatmanFan

Anxious and regretful
OP
Member
Joined
Aug 14, 2016
Messages
1,963
Trophies
0
Website
www.youtube.com
XP
2,605
Country
Morocco
I have just released v1.1 preliminary version, this one now includes a project format similar to NSUI and custom VC manual support.



Is it possible to add gamecube support? Or is there a way to make wads for gamecube games? I've seen videos showing that is possible but can't find any tutorial or any info
I've been considering adding such a thing, but I would most likely need to create a custom banner (brlyt + images) for GameCube games if it happens. I may look into it eventually though. Thank you for the suggestion
 

Mixtape

Member
Newcomer
Joined
Apr 16, 2020
Messages
13
Trophies
0
Age
23
Location
Massachusetts, USA
XP
83
Country
United States
Is it possible to add gamecube support? Or is there a way to make wads for gamecube games? I've seen videos showing that is possible but can't find any tutorial or any info
This is slightly off-topic from this thread, but what you're asking for can be done without FriishProduce. I have channels with a custom GameCube VC banner that forward to Nintendon't via USBLoaderGX on my NAND right now. I've been meaning to write a blog post about it for a while (about three months, apparently) and just haven't had the time.

In short, here's how I did it:
  • Add the desired game to your USB drive. Make sure that your Nintendon't settings are configured correctly in USBLoaderGX, since that's what will be handling the loading process rather than Nintendon't directly.
  • Grab a copy of GXForwarder.dol. WiiGSC comes with it, so check Wiidewii\WiiGSC\loaders if you have that already. By diffing that with a game shortcut produced by WiiGSC in HxD, I was able to find the following changes from the base DOL:
    • 0003EA15 (0x50 -> 0x00)
    • 0003EA17 (0x41 -> 0x30)
    • 0003EA98 - 0003EA9D (AnsiChar CRAPPY -> game ID)
  • In effect, this means that addresses 0003EA98 to 0003EA9D indicate the game that the forwarder will load. Shockingly enough, swapping those out with the plaintext ID of a GC game (e.g. GALE01 for SSBM) works just fine. WiiGSC won't let you do that natively, but USBLoaderGX doesn't seem to care.
  • From there it's really just a matter of swapping out the assets of the VC banner. I used a tool called "VC brylt editor" (can't recall who made it off the top of my head) to get the layout right, CustomizeMii to swap some assets, ShowMiiWads to swap the DOL, and Wii Layout Editor to analyze some things. This was hands-down the most intensive part of the process and took several late nights to get right.

Again, I'll probably get around to making a proper write-up/guide on how everything came together at some point, but the ideas are all there if you'd like to get a head-start on tackling it yourself.

I have just released v1.1 preliminary version, this one now includes a project format similar to NSUI and custom VC manual support.




I've been considering adding such a thing, but I would most likely need to create a custom banner (brlyt + images) for GameCube games if it happens. I may look into it eventually though. Thank you for the suggestion
Referring to that last part there, I would be happy to provide my shortcut WADs with their modified brylt if it would help move the project forward. I do have two concerns though:
  1. if you choose to forward to USBLoaderGX in the manner that I described above, what you're doing technically isn't injection anymore. You're more in the realm of shortcut creation, a la WiiGSC. IMO you'd be better off creating a new tool specifically for it and reusing the FriishProduce UI. Having an all-in-one tool would be nice, but it would probably be a huge pain to maintain two very different codebases in one product.
  2. To redistribute the custom VC banner, you'd need to redistribute the GameCube logo as an asset, which could technically venture into the realm of legal liability. Is it likely that anyone on Nintendo's legal team would care? No, but it's one of the main things that's been holding me back from outright distributing what I've made. Maybe someone with more experience in the area could weigh in, but I figured it was at least worth mentioning ahead of time.
See below for a screenshot of what my banner looks like. Bear in mind that the background logos move in the same way as other VC banners. Iirc I fixed the sizing of the purple strip at the top to better fit the "GAMECUBE" text, but I don't have a screenshot of that on hand unfortunately. I'll try to remember to get one later tonight.

Screenshot 2024-02-01 232655.png



ETA:

As promised, here are a few screenshots from my current nand image, freshly imported into Dolphin:
1715207584046.png
1715207625845.png

1715207652343.png
1715207687202.png


Unfortunately I'm now realizing that the alignment of the top line isn't quite right when widescreen is enabled, so I'll have to fix that at some point. Things slip under the radar when you test on a CRT, I guess.
 
Last edited by Mixtape,

RunningSnakes

Well-Known Member
Member
Joined
Jun 21, 2018
Messages
1,353
Trophies
1
Age
50
XP
4,810
Country
United States
This latest 1.1 version does not work for me on Windows 7.

I did not test 1.0, but .26 is working fine. Net Framework and Visual Studio requirements are installed but loading the program stalls.

Am i missing correct folder structure? The program is still compatible with Windows 7 correct?
 

ShantaeFan123

New Member
Newbie
Joined
Jan 30, 2024
Messages
3
Trophies
0
Age
117
XP
63
Country
United States
This is slightly off-topic from this thread, but what you're asking for can be done without FriishProduce. I have channels with a custom GameCube VC banner that forward to Nintendon't via USBLoaderGX on my NAND right now. I've been meaning to write a blog post about it for a while (about three months, apparently) and just haven't had the time.

In short, here's how I did it:
  • Add the desired game to your USB drive. Make sure that your Nintendon't settings are configured correctly in USBLoaderGX, since that's what will be handling the loading process rather than Nintendon't directly.
  • Grab a copy of GXForwarder.dol. WiiGSC comes with it, so check Wiidewii\WiiGSC\loaders if you have that already. By diffing that with a game shortcut produced by WiiGSC in HxD, I was able to find the following changes from the base DOL:
    • 0003EA15 (0x50 -> 0x00)
    • 0003EA17 (0x41 -> 0x30)
    • 0003EA98 - 0003EA9D (AnsiChar CRAPPY -> game ID)
  • In effect, this means that addresses 0003EA98 to 0003EA9D indicate the game that the forwarder will load. Shockingly enough, swapping those out with the plaintext ID of a GC game (e.g. GALE01 for SSBM) works just fine. WiiGSC won't let you do that natively, but USBLoaderGX doesn't seem to care.
  • From there it's really just a matter of swapping out the assets of the VC banner. I used a tool called "VC brylt editor" (can't recall who made it off the top of my head) to get the layout right, CustomizeMii to swap some assets, ShowMiiWads to swap the DOL, and Wii Layout Editor to analyze some things. This was hands-down the most intensive part of the process and took several late nights to get right.

Again, I'll probably get around to making a proper write-up/guide on how everything came together at some point, but the ideas are all there if you'd like to get a head-start on tackling it yourself.


Referring to that last part there, I would be happy to provide my shortcut WADs with their modified brylt if it would help move the project forward. I do have two concerns though:
  1. if you choose to forward to USBLoaderGX in the manner that I described above, what you're doing technically isn't injection anymore. You're more in the realm of shortcut creation, a la WiiGSC. IMO you'd be better off creating a new tool specifically for it and reusing the FriishProduce UI. Having an all-in-one tool would be nice, but it would probably be a huge pain to maintain two very different codebases in one product.
  2. To redistribute the custom VC banner, you'd need to redistribute the GameCube logo as an asset, which could technically venture into the realm of legal liability. Is it likely that anyone on Nintendo's legal team would care? No, but it's one of the main things that's been holding me back from outright distributing what I've made. Maybe someone with more experience in the area could weigh in, but I figured it was at least worth mentioning ahead of time.
See below for a screenshot of what my banner looks like. Bear in mind that the background logos move in the same way as other VC banners. Iirc I fixed the sizing of the purple strip at the top to better fit the "GAMECUBE" text, but I don't have a screenshot of that on hand unfortunately. I'll try to remember to get one later tonight.

View attachment 435984


ETA:

As promised, here are a few screenshots from my current nand image, freshly imported into Dolphin:
View attachment 436055View attachment 436056
View attachment 436057View attachment 436058

Unfortunately I'm now realizing that the alignment of the top line isn't quite right when widescreen is enabled, so I'll have to fix that at some point. Things slip under the radar when you test on a CRT, I guess.
That is just... beautiful! Very well done! 👏
 

SaulFabre

I like Yoshis and the Wii/Wii U scene.
Member
Joined
Feb 6, 2019
Messages
3,190
Trophies
2
Age
25
Location
Ecuador
Website
saulfabreg-wiivc.blogspot.com
XP
7,840
Country
Ecuador
Unfortunately I'm now realizing that the alignment of the top line isn't quite right when widescreen is enabled, so I'll have to fix that at some point. Things slip under the radar when you test on a CRT, I guess.

that's oddly cutted.
I could recommend using the original Nintendo 64 banner instead for short names of the systems.
I also used the N64 banner for make my custom GB/GBC/GBA/SGB banners.
oh and also Pokémon Mini banners.
 

Mixtape

Member
Newcomer
Joined
Apr 16, 2020
Messages
13
Trophies
0
Age
23
Location
Massachusetts, USA
XP
83
Country
United States
that's oddly cutted.
I could recommend using the original Nintendo 64 banner instead for short names of the systems.
I also used the N64 banner for make my custom GB/GBC/GBA/SGB banners.
oh and also Pokémon Mini banners.
It's funny that you responded when you did. I was just working on a resolution. I've been modifying the brylt with HxD since neither Benzin nor Wii Layout Editor have been particularly cooperative. So far I've managed to find the width parameter for the PFLine material and modify that. My go-to was to roughly double the width of the thing, which fixes the crop issue but either misaligned or distorted the VCLine TPL. My guess is that there's a grouping issue, so I'll need to investigate a bit further.

See below for current status.

1715277595639.png


As an aside, if this is too off-topic for this thread, I'd be happy to make a new one to discuss things in more detail.

ETA:

Yep, it's a grouping issue. Scaling down the PFLine scales the VCLine tpl as well. I'll keep researching and see what I can come up with.

1715278012470.png
 
Last edited by Mixtape,
  • Like
Reactions: SaulFabre

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    You like it wrong
    +2
  • BakerMan @ BakerMan:
    I SAW A MEME UNDER THAT WITH THE CAPTION "How to kill covid" AND IT WAS FADED HAND SANITIZER INSTRUCTIONS SAYING "rub onto anus until cry" 💀😭
  • SylverReZ @ SylverReZ:
    @Xdqwerty, Hello, my friend.
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, I lost an online friend today who i knew since 2021
  • SylverReZ @ SylverReZ:
    @Xdqwerty, I'm sorry to hear that.
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, He said that my actitude was "cutty" and that our friendship wasnt going anywhere
  • SylverReZ @ SylverReZ:
    @Xdqwerty, You're not like that. I see you as a really kind individual.
    +1
  • BigOnYa @ BigOnYa:
    Sounds like you are better off than having a petty friend like that anyways. You win today.
    +2
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, but both of us were fine yesterday
  • BakerMan @ BakerMan:
    ah well, at least you got us (sorry if this sounds like some cornball ass "power of friendship" stuff)
    +3
  • K3Nv2 @ K3Nv2:
    Kind of hyped about the new ally finally a portable with full m.2 support
  • BigOnYa @ BigOnYa:
    Kinda reminds me of a life lesson in the movie "Bronx Tale". Guy1 owes another, guy2 $10 and the guy2 keeps chasing guy1 around the city trying to get his money back, till someone tells him, "stop, you got off easy, its only $10. That guy will never bother you again or ask you for money again, so take it as a win."
  • K3Nv2 @ K3Nv2:
    Guy1 will continue to talk shit about you constantly as well
  • K3Nv2 @ K3Nv2:
    Because he knows what he did
  • BigOnYa @ BigOnYa:
    Speaking of which, where is my $10 Ken? And I heard you been talking crap bout me to my wife. Punk.
  • K3Nv2 @ K3Nv2:
    You were standing right there when we were talking should've said something then
    +1
  • BigOnYa @ BigOnYa:
    Lol
  • K3Nv2 @ K3Nv2:
    Fucking insurance gave me a migraine told me my dentist was in network now they're rejecting claims saying they aren't
  • BigOnYa @ BigOnYa:
    That's what they do the best, pass the buck.
    BigOnYa @ BigOnYa: That's what they do the best, pass the buck.