GameCube PSO Loader V2.0 by Costis!
-----------------------------------
Updates from PSOload V1.1
-------------------------
- Full 24MB of RAM uploading support for DOL and binary files.
- Highly improved upload rate: ~800-1024KBytes per second.
(Around 20 times faster than all of the previous loaders!)
- Added support for new Japanese PSO versions Episode 3 and
Episodes I and II Plus. All versions of PSO should now be
supported!
- Improved automatic detection to work with every version of PSO,
manual version specification should never have to be used again.
- DOL reloader support! (Reload new DOL or binary files without
restarting your GameCube and PSO.)
- Completely fixed DOL loader! There should not be any more problems
with the DOL loader at all, meaning that all working DOL files
should also work with this new version of PSOload as well.
- User data saving support (-s option). If you are creating a new
user account in PSO, run "PSOload -s" the first time and connect
to it in order to save your user name, pass-word, etc. so that you
do not have to reenter them every single time you want to upload
code.
DOL and binary files can now use any range of RAM from 0x80003100
to 0x81800000 when initially loaded and can be up to ~24MB in size.
If you try loading files which are relatively large (like 2MB or so),
you should definitely notice a significant speed difference from
the other versions. A 2MB file should take approximately 2 to 3
seconds to upload and execute depending on your configurations.
You do NOT need an external DNS server with PSOload anymore. It
has a built-in one. This has been the case since PSOload V1.1, but many
did not notice the update and were still trying to use DNS servers
with it.
I have also included the fixed demo and an updated crt0.s file
from the previous version of PSOload. The old demo did not work
properly due to some debug code that I accidentally left inside
it before releasing. It is now called "testdemo4.dol". I have
added BSS clearing support to the crt0.s file, so global variables
should now be correctly cleared upon program initialization.
Uploading DOL\binary files
--------------------------
Most users can simply use PSOload without any parameters
other than the DOL file, like so:
PSOload.exe testdemo4.dol
Therefore, you can simply drag and drop a DOL or binary file over
the PSOload V2.0 executable. PSOload V2.0 uses a UDP port for
uploading the code (default: 9002) to the GameCube. If port 9002
is not free on your PC, you may have to specify another one, such
as 9003, etc.:
PSOload.exe -u9003 testdemo4.dol
Reloading a new DOL\binary file
-------------------------------
The DOL reloader feature can be used if the currently running DOL
file has been booted with PSOload V2.0 and supports branching to
to the DOL reloader code. Information for adding support for this
to your home-brew GameCube programs is shown below:
In order to reload a new DOL file,
execute PSOload first with the "-r" option, like so:
PSOload -r testdemo4.dol
After PSOload is waiting to send a new DOL file, the currently
running DOL file simply has to branch to 0x80001800 for the
new DOL to be loaded. For this to work, the program must NOT clear
the data at that reserved exception vector (0x80001800 to 0x80003000).
This area is normally not touched, so there should not be any
conflicts with this. The DOL reloader at 0x80001800 just requires
a valid stack pointer (r1) to be set and nothing else. It disables
sound output, interrupts, etc. by itself. In order to call it,
either C function pointer code or inline assembly code must be used.
Here is an example implementation using inline PowerPC assembly:
...
if (buttons_pressed & PAD_START)
{
asm ("lis 3, 0x8000");
asm ("ori 3, 3, 0x1800");
asm ("mtlr 3");
asm ("blrl");
}
...
As mentioned before, PSOload must be running with the "-r" option
before the DOL reloader is invoked on the GC side for it to work.
I will probably release some code built-into GCLIB for detecting
when "PSOload -r" is executed on the PC and automatically branching
to the DOL reloader, but this method by itself should hopefully
save much more development time. Also, the DOL reloader uses the same
IP\hardware address and port configurations as the original DOL loader
was configured with, so if you have booted the first DOL file with
a different UDP port parameter (-u9003, for example), then you must
also specify that in the parameters of PSOload when reloading a
new DOL file:
PSOload.exe -u9003 -r testdemo4.dol
If PSOload V2.0 tells you that it could not locate the PC IP address,
when using the "-r" option, then you must specify it manually. Only
the first three values of the PC LAN IP address matter as the fourth
value of the IP address is fixed for the GC (*.*.*.254). For example,
if you specify:
PSOload.exe -r192.168.0.0 testdemo4.dol
It will use 192.168.0.254 as the GC IP as that is how the DOL
reloader has been originally configured by PSOload the first time
that it was used.
Note: ONLY specify an IP address when PSOload CANNOT automatically
detect the PC's LAN IP address or if for some reason it detects
the first three values of it incorrectly. Other-wise, you should
simply use the "-r" feature without any IP address following it.
Saving User Data (-s option)
----------------------------
I have implemented a feature in PSOload V2.0 that allows PSO account
user data to be saved. This is especially useful for new accounts.
If you create a new PSO account and use it just for PSO code uploading,
PSO will request your user name\pass-word information every single time.
In order to "save" this data, a confirmation must be sent from the server.
This is the purpose of the "-s" option in PSOload V2.0. Upon the creation
of a new account to be used for code uploading, execute "PSOload -s"
(without any DOL or binary file) on the PC and have PSO connect to it.
PSOload V2.0 will confirm the user data submitted (this takes around
3 seconds on the PSO side) and will disconnect. Now you should not have
to reenter your user data every time you wish to connect to your PC for
code uploading and can freely use PSOload V2.0 normally. You should
only have to use "PSOload -s" once for every new account that you create,
although using it more than once on an account with user data that is
already "saved" will not cause any harm. Finally, if you are using the
same account for online game-play on the official Sega servers, you
should not have to use this feature at all.
As always, please e-mail any suggestions, bug reports, and constructive
criticism to
costis@NOSPAMgbaemu.com. (Remove the NOSPAM part of the
address before e-mailing.) PSOload bug reports and error e-mails are
very welcome as they help me improve the program for future versions.
*****Specific Notes for PSO Episode 3 and PSO Episodes I and II Plus
---------------------------------------------------------------
These are the newest Japanese PSO versions currently released and
have not yet been released in the U.S. or Europe. Sega\Nintendo has
updated their network code so that it can only connect to WAN IP's,
rather than LAN IP's as well. That means that in order to use them
with PSOload V2.0, you must either use an Action Replay code to
patch the code in PSO which checks the server IP, or you must
use a router to connect to the PC's WAN IP instead of LAN IP.
To accomplish the second option, you must set up your own DNS server
to point to the WAN IP of your PC rather than the official
Sega server IP or your PC's LAN IP. Instructions for setting up
a DNS server are in the old readme file which is attached to the end
of this one. If using a cross-over cable rather than a router, it
should be possible to change your PC's LAN IP so that it looks
like a WAN IP and tricks PSO into connecting to it anyway. In any
case, using these two new versions for code uploading may possibly
be a bit tedious to set up, but should work just as well as all of
the other versions when configured properly.
----------------------------------------------------------------------------------
ESA ES LA NFO DEL PROCESO SI PONEN Q CHTA SE SUPONE Q IRA
el ultimo parrafo habla del PSO I Y II PLUS
sigue bien las instrucciones q no debe de usarse iwual q el PSOload v1
1 salu2 y suerte