after some ingame discussion with AleronIves about some patches he had for gamecube, I started a new personal project:
figure out how the PSO patching system for Gamecube works.
The only information really was the old Homebrew-loader which surfaced around 2003 (PSOLoader / PSUL).
After long nights of staring at HEX, Assembly-Code and Sylverant source code (and some coding inbetween, also lots of smoking and tea) - I figured out the protocoll...at least enough to be able to upload my own code.
Turns out the update functionality of PSO seems to be indeed: upload executable code, run it, *maybe* interpret the return value (it is put into the "answer packet" PSO sends to the server.
My code is grown to a point where I need some real world tests now (I look at you Ives!).
I have a console application which will apply a patch, then redirect to another ship (e.g. sylverant).
I also have lots of UI-applications, but those are for internal use mainly hehe
@Bluecrabs: this feature should be rather easy to implement in sylverant. some details have to be researched though (e.g. can we reliably tell which version connects, or is the first "patch-code" probably exactly that - determining the EXACT version of the game)
I've attached the Console-Application for you guys to try out.
The Console-Application does NOT server DNS-requests, so you have to setup a 3rd party DNS-server (i use fuzziger soft fsdnsr something).
The Patch-XML Format should be self-explanatory.