Open PS2 Loader Project - v0.9 –
09-17-2009,09:16 PM
Open PS2 Loader is a 100% Open source game loader compatible with USB Advance/Extreme game format and also with plain ISO format over USB and SMB. It's more compatible and it should work without ps2load or change DNASXXX.IMG tricks.
Open PS2 Loader also is developed continuously and anyone can contribute improvements to the project.
Actually Open PS2 Loader can load games though USB, SMB and internal HDD (on PS2).
The main objective is to support both the PS2 and the PS3 with backward compatibility.
IMPORTANT:
* USB games must be unfragmented. If not, they might not work.
* The compatibility modes have changed
0.9.1 Language Packs
French, Portuguese and Spanish people can get their languages files from "OpenPS2Loader_0.9.1_language_pack.zip", just unzip it and follow the instructions contained on the proper README.txt (written on your native language).
OPLConvert
Multiplatform tool coded in Java to convert OPL 0.8 configuration files to the new OPL 0.9 scheme (Code by izdubar. English README by izdubar. Spanish LEEME.txt by ElPatas. Portuguese BR LEIAME.txt by Gillbert. Initiative and repack by Bat Rastard)
The only difference between 0.9 and 0.9.1 is that in the later one the USBLD_VERSION constant has been fixed to "0.9" (So now appears "Open PS2 Loader 0.9" in the About Menu, which is the correct public version number); therefore... Please download 0.9.1 binaries instead of 0.9 ones, in order to have the proper public version number ("Open PS2 Loader 0.9") displayed in the About Menu.
Last edited by doctorxyz; 03-09-2013 at 01:19 PM.
Reason: ShaolinAssassin: Added French language files into OpenPS2Loader_0.9.1_language_pack.zip; some orientation about this subject
* USB games must be unfragmented. If not, they might not work*
In order to ensure your games run as efficiently as possible, it is necessary to defragment them. Deleting/moving files on your HDD causes fragments and it is possible some games will not run properly if fragmented.
Attached is a program with both a Commandline and a GUI version for you to use to defragment your game files and even an entire HDD if you have many games installed.
The program is easy to use, simply run the GUI exe or use the command prompt if you prefer. The options are displayed for you to choose individual files or the entire HDD drive, then just press the defragment button and wait until it is completed.
Sweet! Perhaps in the future a MASS driver can be optimized the way eugene has done for the SMS network driver.
Since only a few games really ever use the USB ports, perhaps we can saturate the interface more near the theoretical max of USB 1.1.
Not really sure how well the original MASS driver does for speed, but any increase (if possible) is welcomed.
I have already written a SCE CDVDMAN "compatible" CDVDMAN/CDVDFSV replacement, but I suppose that it's loading/configuration methods differ from the USB Advance's CDVDMAN/CDVDFSV combo. It uses a USBD and USBHDFSD combination. Mine should have better compatibility and speed than USBAdvance(I've thought of using high compression to decrease transfer time), and my CDVDMAN exports functions above ordinal 083 (084 - sceCdLayerSearchFile and above).
So far it's largely been untested, as I could not load games as I did not have a working EE loader core (That tampers with the IOP reset like mcemulator's v1.08 core, but I could not get it to work). I used PS2link and "FAKEBOOT" to block the IOP reset, but the game would crash in no time(at startup) as the PS2's BIOS modules are NOT compatible with many of the game's modules(IOP was reseted with NULL/EELOADCNF)...
Now I've moved to using the mcemu 1.08 core, but cannot get it to work properly. (SifSetReg hook freezes at times, and SifSetDma hook doesn't seem to catch the IOP reset all the time but seems to be my fault for tampering with polo35's work too much.)
Functions that are confirmed to be 100% working:
sceCdSync
sceCdRead
sceCdSeek
sceGetDiskType
and several others...
All functions have been built(But not all working, and some are dummies)
I've started on this project(Known as "Playstation 2 External Storage Device Loader or PS2ESDL only to me) since May, but have experienced great slowdowns (Hence you haven't seen any publications).
My project was targeted at PS2 slim users(USB HDDs), but could be ported for "FAT" PS2s as well (Internal IDE HDDs). Dual layer and DNAS support could be added later, so I've just filled these function entries with dummy functions.
This month I've stalled development *again* due to a major exam(In 1 month's time) which could screw up my entire life. This would be over in November though.... *sad*.
I really felt like giving up several times.... but I stayed on. Maybe we could work together? I can't contribute much now though, but would be able to program much much more after my exams.
Seems like other ppl are catching up with me... Good luck with your project.
I could share with you my code, but I think it might not really be ready, unless you are familiar with the way SCE's CDVDMAN works (Mine is a clone of it that emulates the iso9660 filesystem like the PSP's NP9660/M33 driver does)
------------------------
What I am now missing(And causing yet another stall, which is the biggest one yet):
*A EE core that hooks onto SifSetDma(And SifSetReg, depending on the method of hooking) to hook IOP reset requests and replaces CDVDMAN and CDVDFSV with USBD and USBHDFSD(Or CDVDMAN/CDVDFSV's dependency chain would break), and later loads IOPMGR, CDVDMAN and CDVDFSV. This should reside at 0x00090000 in the EE's memory or it may be erased/overwritten. The EE core may also need to hook LoadPS2Exec, as it does a EE reset before loading (But this is tertiary as it doesn't seemed to be commonly used)...
However, debugging with PS2link would then be impossible as it uses the same memory ranges(And DID cause a conflict with mcemu after loading the ELF), so I rigged a version of UDPTTY that did not need iomanX.
*For debugging, POWEROFF, PS2DEV9, followed by UDPTTY would be loaded.
If I had all these settled, I am ready to continue programming at "half steam"(Until November)
EDIT: I've viewed your code lfcaro, looks like we are good to go. Your code is similar to HDL's IOP reset hook right? (Unless I am mistaken, but seems like based on structure)
If I have the time, I am going to see if I can make your code work with mine, and I'll post you the results.
Wow! This is definitely more friendly to my ps2 modchip than the original USB ADVANCE.
I had to boot my ps2 modchip to ps1 mode previously in order to get it working with USB ADVANCE.
But this simply loads my games without setting the modchip to ps1 mode, nicely done!
Originally Posted by JNABK
Contra Shattered Soldier - works fine in original USB Advance, but only a pink screen in USB Loader Beta Call of Duty: World at War (IOPRP patched in USBUtil 2.0) - works fine in original USB Advance, but only a pink screen in USB Loader Beta
That's strange? I've loaded Contra Shattered Soldier(NTSC-UC) with this and it works fine on my console(SCPH-77006).
We should definitely do some more test on this
Nice interface! I see an option for "configuration theme" (not available for the beta), but wanted to know if its going to be pre-sets or will we be able to create our own?
At the moment it is not yet programmed. I had intended to simply change the color.
But what do you mean when you say to create our own? Maybe a piece of code in c to replace the function DrawBackground?
Originally Posted by JNABK
I reformatted my USB HDD and started re-installing games, but due to the long time it takes, i only installed 2 for tonight.....its late.
I tested them first in the regular USB Advance, just to be sure they were working ok.
Contra Shattered Soldier - works fine in original USB Advance, but only a pink screen in USB Loader Beta Call of Duty: World at War (IOPRP patched in USBUtil 2.0) - works fine in original USB Advance, but only a pink screen in USB Loader Beta
I'll add to this as i install more games and get a list for you.
You had only pink screen? or pink, blue, green and pink again?
@SP193: Glad to see we can work together to get a fully open usb loader
Sorry about my English, I was helped by the google translator
i was thinking of asking about usbadvance with the use of both internal and external hdd.
sure we could use just use hdloader (for the fat models) but my japanese game - sd gundam g generation seed only works with usbadvance
plus what if the usbavance asked the internal hdd for some of the data from the game to boost performance?
but there are still slim ps2 users some we may not even see such a thing happen.
GAME LIST -
japanese game -
sd gundam G Generation Seed - Works playing this as i type
usa games -
arctic thunder- working
oh and it's built like esr was the funky colors then the game loads
oh and nice xmb theme
and install option would be nice too for those without pc's
Last edited by zin0099; 09-18-2009 at 09:33 AM.
Reason: i tested it out
But what do you mean when you say to create our own? Maybe a piece of code in c to replace the function DrawBackground?
Yes, if it would be possible to use our own background image and icons.
Originally Posted by ifcaro
You had only pink screen? or pink, blue, green and pink again?
Only pink and it stayed there, never changing. I did notice it took a while in the regular USB Advance to load, so i gave it twice as long to try loading in USB Loader, but never went past the pink screen.
I tested in several PS2 models and all gave pink screens. I did install from ISO's i made long ago using USBUtil 2.0, so i'll try the next few installs direct from the discs to see if it makes any difference.
That's strange? I've loaded Contra Shattered Soldier(NTSC-UC) with this and it works fine on my console(SCPH-77006).
We should definitely do some more test on this
Strange indeed!
Still its not loading for me, i even tried several PS2 models, several Fats and a Slim. The game is SLUS_203.06 and only seems to work from the original USB Advance, so i know its a good rip.
Yes, if it would be possible to use our own background image and icons.
Ok, that's easy to do
Originally Posted by JNABK
Only pink and it stayed there, never changing. I did notice it took a while in the regular USB Advance to load, so i gave it twice as long to try loading in USB Loader, but never went past the pink screen.
I tested in several PS2 models and all gave pink screens. I did install from ISO's i made long ago using USBUtil 2.0, so i'll try the next few installs direct from the discs to see if it makes any difference.
If there is no blue screen is because the custom cdvdman has not been loaded. The only thing that comes to my mind is that the usbd.irx (which is different from usb advance) module is incompatible with your usb device but then could not read the list of games :S
While no blue screen appears there is nothing to do with the games.