DS-Homebrew / nds-bootstrap

Boot an nds file
https://wiki.ds-homebrew.com/nds-bootstrap/
GNU General Public License v3.0
1.19k stars 75 forks source link

Private Server Option like in UsbloaderGX #1044

Open DraconicNEO opened 3 years ago

DraconicNEO commented 3 years ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

I feel like there should be a better way to connect to online services like AltWFC and Wiimmfi other than patching the Rom or Using a DNS

Describe the solution you'd like A clear and concise description of what you want to happen.

A patcher that patches the WFC urls in memory without modifying the Rom similar to the Private server option in UsbloaderGX, There will be a settings menu to choose between a list of custom servers, the list will include some custom entries at the end so users can add more servers, This is important since the world of Private servers is constantly changing.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Patching Roms DNS

Additional context Add any other context or screenshots about the feature request here.

blueingsh commented 3 years ago

i like this idea!

JORGETECH commented 3 years ago

I don't know how USBLoaderGX does the patching but I'm going to take a guess and say that it uses the secondary ARM processor that the Wii has so it can do it while the game is running in the main PowerPC processor.

The problem that I see with implementing this is that the DS(i) may not have enough power to do that while the game is running, even though the DS(i) is a dual CPU system it is already quite busy running game code.

SNBeast commented 3 years ago

The patcher seems to be quite simple, really: it searches the DOL for "https://" and patches it to "http://", then searches the DOL for "nintendowifi.net" and patches it to the domain provided:

Patching the protocol Patching the domain

Peter0x44 commented 3 years ago

https://github.com/AdmiralCurtiss/WfcPatcher/ for reference, this is the patcher usually used to do it in advance it seems totally possible to do this on-the-fly (also, that patching code runs on ppc entirely, nothing on starlet. Your "guess" is wrong)