Homebrew [NDS] Yet Another nds-bootstrap Forwarder: more than 40 forwarders are now possible

Olmectron

Well-Known Member
Member
Joined
Dec 31, 2012
Messages
2,545
Trophies
1
Age
29
Location
A game
XP
3,154
Country
Mexico
After following the directions to the letter, I tried using the GUI application to convert the files to .cia and get this:

Code:
Running makerom...

[SETTING ERROR] "-o" takes one parameter
[RESULT] Invalid arguments, see 'makerom -help'

I'm a total know-nothing at this and have no clue where to go from here.
Make sure output Path has no spaces at all. That means the absolute path. So check all the dirs and the filename itself.
 
  • Like
Reactions: Inno

Inno

Member
Newcomer
Joined
Nov 24, 2019
Messages
8
Trophies
0
Age
25
XP
151
Country
United States
Make sure output Path has no spaces at all. That means the absolute path. So check all the dirs and the filename itself.
Wow, that simple, huh. I never would've figured that out. Thank you very, very much, both for the answer and for such an immediate reply.
 

Inno

Member
Newcomer
Joined
Nov 24, 2019
Messages
8
Trophies
0
Age
25
XP
151
Country
United States
Alright, back with another thing that's baffling me.

I have three sets of games that have the same title ID as the other one somehow.
-Castlevania: Order of Ecclesia/Harvest Moon: Grand Bazaar
-Dragon Quest Monsters: Joker/Dragon Quest Monsters: Joker 2
-Rune Factory 1/Rune Factory 3

This causes a problem. Let's use Rune Factory 1/3 here as an example. If I install, say, RF3's CIA first, then go to the Home menu, everything is correct. Correct icon, correct box art, correct game. Then I install RF1. I go back to the Home menu. There's no new icon. But if I select the icon for RF3, the box art shown is now RF1, and if I launch it, the game is RF1. Except for the icon, RF3 is entirely overwritten in the eyes of the 3DS and isn't installed.

How fix?
 

lifehackerhansol

i write working(?) code
OP
Member
Joined
Oct 2, 2021
Messages
347
Trophies
0
XP
705
Country
Canada
Alright, back with another thing that's baffling me.

I have three sets of games that have the same title ID as the other one somehow.
-Castlevania: Order of Ecclesia/Harvest Moon: Grand Bazaar
-Dragon Quest Monsters: Joker/Dragon Quest Monsters: Joker 2
-Rune Factory 1/Rune Factory 3

This causes a problem. Let's use Rune Factory 1/3 here as an example. If I install, say, RF3's CIA first, then go to the Home menu, everything is correct. Correct icon, correct box art, correct game. Then I install RF1. I go back to the Home menu. There's no new icon. But if I select the icon for RF3, the box art shown is now RF1, and if I launch it, the game is RF1. Except for the icon, RF3 is entirely overwritten in the eyes of the 3DS and isn't installed.

How fix?
This is due to the way YANBF handles randomizing the CIA unique ID. At the moment, it gets the hexadecimal value of the game code, then takes the last 5 digits and applies it. It seems those games are identical when done this way.

A better way to distinguish them would be required, but at the moment I'm not sure how to implement this.
 
  • Like
Reactions: Inno

Inno

Member
Newcomer
Joined
Nov 24, 2019
Messages
8
Trophies
0
Age
25
XP
151
Country
United States
I have absolutely no knowledge on the subject whatsoever, so discard this entirely if it's dumb. But would grabbing the last 6 or 7 digits instead of just the last 5 fix this?

Alternatively, if the CIA unique ID is just there because each game needs some unique ID, would it be possible to have it work the same way it does now, except with an additional randomly generated letter(s)/number(s) completed unrelated to the code's hexadecimal value? Or is it set in stone that every title ID has to start with 000400000?
 

lifehackerhansol

i write working(?) code
OP
Member
Joined
Oct 2, 2021
Messages
347
Trophies
0
XP
705
Country
Canada
I have absolutely no knowledge on the subject whatsoever, so discard this entirely if it's dumb. But would grabbing the last 6 or 7 digits instead of just the last 5 fix this?

Alternatively, if the CIA unique ID is just there because each game needs some unique ID, would it be possible to have it work the same way it does now, except with an additional randomly generated letter(s)/number(s) completed unrelated to the code's hexadecimal value? Or is it set in stone that every title ID has to start with 000400000?
The unique ID must be 5 hexadecimal digits. i.e. 0x00000 to 0xFF7FF (I think it's actually 0xFFFFF, iirc that worked in the past). You can read more about them here: https://www.3dbrew.org/wiki/Titles

That's why I just took the last 5 of the hex value of the gamecode, which would achieve some form of uniqueness across at least the forwarders themselves. Apparently that didn't work out so well. Maybe I should just force it to be completely random instead.

@Pk11 suggested that I XOR the first 3 digits with the last 5, and that will come with the next release. Hopefully it works better (and hopefully it doesn't collide with already existing titles, like some homebrew or games).
 
  • Like
Reactions: Inno

Olmectron

Well-Known Member
Member
Joined
Dec 31, 2012
Messages
2,545
Trophies
1
Age
29
Location
A game
XP
3,154
Country
Mexico
The unique ID must be 5 hexadecimal digits. i.e. 0x00000 to 0xFF7FF (I think it's actually 0xFFFFF, iirc that worked in the past). You can read more about them here: https://www.3dbrew.org/wiki/Titles

That's why I just took the last 5 of the hex value of the gamecode, which would achieve some form of uniqueness across at least the forwarders themselves. Apparently that didn't work out so well. Maybe I should just force it to be completely random instead.

@Pk11 suggested that I XOR the first 3 digits with the last 5, and that will come with the next release. Hopefully it works better (and hopefully it doesn't collide with already existing titles, like some homebrew or games).
Maybe you could also add a parameter for setting the Hexadecimal ID to whatever the user wants, for the 0.0000001% of cases where even the XOR could give you the same ID for different games.
 

mullse01

Member
Newcomer
Joined
Jan 24, 2022
Messages
8
Trophies
0
Age
33
XP
27
Country
United States
Hello,

I am getting this error when using the terminal interface on OSX (the GUI app wasn't working, so I thought I'd dig into Terminal and find out why):

Extracting icon... Resizing icon... Extracting game metadata... Creating SMDH... dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: .../generator/./bannertool (which was built for Mac OS X 10.15) Expected in: /usr/lib/libSystem.B.dylib dyld: Symbol not found: ____chkstk_darwin Referenced from: .../generator/./bannertool (which was built for Mac OS X 10.15) Expected in: /usr/lib/libSystem.B.dylib

My own research tells me it's an OS version problem: I'm running 10.13.6 High Sierra on this machine. Is there a way to modify your deployment target to include older versions of OSX, or does this break the tool?
 

lifehackerhansol

i write working(?) code
OP
Member
Joined
Oct 2, 2021
Messages
347
Trophies
0
XP
705
Country
Canada
Hello,

I am getting this error when using the terminal interface on OSX (the GUI app wasn't working, so I thought I'd dig into Terminal and find out why):

Extracting icon... Resizing icon... Extracting game metadata... Creating SMDH... dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: .../generator/./bannertool (which was built for Mac OS X 10.15) Expected in: /usr/lib/libSystem.B.dylib dyld: Symbol not found: ____chkstk_darwin Referenced from: .../generator/./bannertool (which was built for Mac OS X 10.15) Expected in: /usr/lib/libSystem.B.dylib

My own research tells me it's an OS version problem: I'm running 10.13.6 High Sierra on this machine. Is there a way to modify your deployment target to include older versions of OSX, or does this break the tool?
All bannertool binaries come from @Pk11's fork. She could probably debug it.

I'm personally on Catalina so I can't help you here.
 

Olmectron

Well-Known Member
Member
Joined
Dec 31, 2012
Messages
2,545
Trophies
1
Age
29
Location
A game
XP
3,154
Country
Mexico
Hello,

I am getting this error when using the terminal interface on OSX (the GUI app wasn't working, so I thought I'd dig into Terminal and find out why):

Extracting icon... Resizing icon... Extracting game metadata... Creating SMDH... dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: .../generator/./bannertool (which was built for Mac OS X 10.15) Expected in: /usr/lib/libSystem.B.dylib dyld: Symbol not found: ____chkstk_darwin Referenced from: .../generator/./bannertool (which was built for Mac OS X 10.15) Expected in: /usr/lib/libSystem.B.dylib

My own research tells me it's an OS version problem: I'm running 10.13.6 High Sierra on this machine. Is there a way to modify your deployment target to include older versions of OSX, or does this break the tool?
Just asking about the GUI. Did the GUI didn't open at all? Or you mean, the GUI showed an error in the games?
 

mullse01

Member
Newcomer
Joined
Jan 24, 2022
Messages
8
Trophies
0
Age
33
XP
27
Country
United States
Just asking about the GUI. Did the GUI didn't open at all? Or you mean, the GUI showed an error in the games?
The GUI just kept spinning its wheels, and didn't give me an error one way or the other.

Originally it was a python error (python couldn't find libscrc in requirements), but once I fixed that, the GUI kept spinning, and terminal returned the "dyld" error I posted.
 

lifehackerhansol

i write working(?) code
OP
Member
Joined
Oct 2, 2021
Messages
347
Trophies
0
XP
705
Country
Canada
The GUI just kept spinning its wheels, and didn't give me an error one way or the other.

Originally it was a python error (python couldn't find libscrc in requirements), but once I fixed that, the GUI kept spinning, and terminal returned the "dyld" error I posted.
bannertool was recompiled to 10.9: https://github.com/Epicpkmn11/bannertool/releases

This will be included in the next release, but you can get it here for the time being.
 
  • Like
Reactions: Pk11

mullse01

Member
Newcomer
Joined
Jan 24, 2022
Messages
8
Trophies
0
Age
33
XP
27
Country
United States
bannertool was recompiled to 10.9: [I'm not allowed to post (or repost) links yet]

This will be included in the next release, but you can get it here for the time being.
That seemed to do the trick! The terminal command created an "output.cia" file successfully, which installed/loaded the game without issue.

For @Olmectron : The GUI app, however, is still not outputting, which is weird. Interestingly, the "forwarder3ds [dot] web [dot] app" site itself worked - that cia also installed and ran, no problem. It's just not working in the OSX app itself.

Thanks so much! Everyone was extremely quick to reply; I am so happy I decided to register!

EDIT: The site CIA actually installed as DSiWare, not 3DS software, FWIW.
 
  • Like
Reactions: Pk11

Olmectron

Well-Known Member
Member
Joined
Dec 31, 2012
Messages
2,545
Trophies
1
Age
29
Location
A game
XP
3,154
Country
Mexico
That seemed to do the trick! The terminal command created an "output.cia" file successfully, which installed/loaded the game without issue.

For @Olmectron : The GUI app, however, is still not outputting, which is weird. Interestingly, the "forwarder3ds [dot] web [dot] app" site itself worked - that cia also installed and ran, no problem. It's just not working in the OSX app itself.

Thanks so much! Everyone was extremely quick to reply; I am so happy I decided to register!
The forwarder3ds site works in a different way (which counts for the 40 dsiware limit). The OP's way of doing forwarders is different so that it doesn't count as a dsiware app.

Anyway, I'll DM you so you help me testing something with the GUI in the following days (maybe tomorrow) if you don't mind.
 
General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: New AMD is still on pins Intel went LGA but rumor is they are swapping with AMD going LGA and...