 |
 |
All times are GMT +2. The time now is 04:51 PM. |
 |

03-01-2005, 06:38 AM
|
|
Registered User
|
|
Join Date: Jan 2005
Posts: 48
|
|
|
HD Homebrew Project Developement
For those of you just joining the discussion, I decided to outline what is happening. The original post is still here, just quoted below.
Anyways, this has developed into a full-fleged open source project called 'HDDemolisher' (a bit of a jab at my own confidence about this project). The code is available under the GPL, and instructions for accessing the CVS server can be found here.
The current status is that I have working CD/DVD detection, which was a test to see if code I wrote for my DVD9 ripping tool on MacOS X would port cleanly to the PS2's EE. It does, which means HDDemolisher will be able to rip and play DVD9 games without flattening them. Next up is interfacing with the HDD and with the HDL database.
What you can do to contribute:
- I need a splash screen, and a menu background. So artists/etc can help out in this regard, even if you don't know programming.
- I need information on how the IOP acts on the IOP reset command, and which IRX module is responsible for handling the reset. Any links/resources/documents to this end would be helpful.
- If you can program, get a copy of the source from CVS and read the TODO file. Anything marked as not finished is fair game. Submit the patches directly to me for inclusion into the CVS tree.
Quote:
|
Originally Posted by Krevnik
With homebrew apps like HDL Dump now available, and some of us with an understanding of how DVD9s work for PS2s (including myself), there is a chance that those ambitious enough could write a replacement for HD Loader / HD Advance which can solve two of the nagging problems I personally have with HD Advance:
1) Lack of built-in DVD9 support. It isn't quite as hard to detect a PS2 DVD9 as one would think. I use a short-cut for a personal DVD9 ripping tool on MacOS X because Virtual PC forces FAT32.
2) Lack of support for storing saves onto the HD. When Battlefront, Star Ocean, and Dark Cloud 2 can eat up 4MB of space on their own VERY EASILY, being able to store saves on the HD directly would help in not having to constantly weed out saves from space-hungry games like Dark Cloud 2.
The tricky parts to this project would be a custom CDVD driver, and for #2, a custom MCMAN driver (the first is required just to trick games into running off the HD, and DVD9 support cannot be done using HD Advance's CDVD driver). The easy part would be the code which reads the CD or DVD image onto the HD, the menus, etc. Also, I would like to incorporate the HDL Dump server into the app (this would be a GPL project, so it would be possible), and provide any patches we make to the server back to the project.
I am confident that I could achieve this on my own, although having an extra hand would greatly speed up the development. I plan to have a project roadmap and milestones laid out by the end of the week, so the earlier someone with PS2 programming skills decides to join up, the more input to the roadmap they can provide.
Anyone feel as ambitious as I do?
|
Last edited by Krevnik; 03-07-2005 at 12:32 AM.
|

03-01-2005, 06:42 AM
|
|
The day has come LaunchELF 3.4 DUURRRR
|
|
Join Date: Sep 2004
Location: Saginaw, MI
Posts: 1,593
|
|
|
this is a way bigger project that i could ever imagine.... but so is ps2 dos LOL
|

03-01-2005, 07:02 AM
|
|
Registered User
|
|
Join Date: Jan 2005
Posts: 48
|
|
|
It isn't nearly as big as what I had to write during my last term in college: 2 projects, one C/C++ 3D engine with Serial I/O for a VR suit totalling 5000 lines of code, the other a Java telnet game server (similar to a MUD) totalling 4300 lines of code. If I can do both of those single-handedly in under 15 weeks, this will be possible, but I prefer to work in a group to speed up development and let me focus on the key problems that I have leads on solving.
|

03-01-2005, 07:20 AM
|
 |
Banned
|
|
Join Date: Nov 2003
Location: Nova Scotia
Posts: 122
|
|
|
Sounds like you are truly determined...I hope you decide to start and at least learn some stuff from trying.
heh...I gotta try at least....maybe a good project to start would be a "simple" win32 app that will copy .elf, .mp3 and rom files to organized directories from the PC with the PS2 drive attached.
|

03-01-2005, 07:22 AM
|
|
The day has come LaunchELF 3.4 DUURRRR
|
|
Join Date: Sep 2004
Location: Saginaw, MI
Posts: 1,593
|
|
|
well go for it trust me no of us will stop you... Good luck
|

03-01-2005, 04:23 PM
|
|
|
|
looking forward to see the development of this project... Good luck
|

03-01-2005, 05:05 PM
|
 |
Pizza Power!
|
|
Join Date: Apr 2003
Location: Brazil
Posts: 179
|
|
My suggestions for new features
1) Krevnik, if you don't mind you could *try* to make a combo of buttons (something like start+select+r1+r2+l1+l2) to go back to your homebrew hdloader main menu.. of course you could put a time delay like 5 secs so it wouldnt be incompatible with games that already reset (in game) pressing this kind of combo for 1-2 seconds.
2) And maybe, just maybe, you could add a hdd browser so you could put elfs of homebrew programs into folders (in some partition) and organize them realtime like ps2menu does, and add fakehost (like ps2menu) so any homebrew programs would run of the hdd. (we know its in your low priority list but thats an idea  )
Good luck dude, we are all here to support your cause
[]'s
Kormann
|

03-01-2005, 05:20 PM
|
|
Registered User
|
|
Join Date: Jan 2005
Posts: 48
|
|
|
Kormann, on your two ideas:
1) Difficult, as this would require knowing where to reload the old elf, and patching or rewriting PADMAN. Because I am already working on the difficult task of writing a custom CDVDMAN, this just cannot be a priority, at the moment, but I can put it at a higher priority over storing save files onto the HD.
2) This would be possible, and actually not that difficult, since we could build from PS2MENU on that front.
The best way to support me: help out with coding experience. Even if it isn't much, someone who helps write the interface for the user, and provides a means to write debug output to the screen in a nice fashion would still save me a great deal of time. I am not looking for someone to help with the driver writing, but rather all the gruntwork that needs to be done so I can focus on the stuff that is really gonna suck.
|

03-01-2005, 05:55 PM
|
 |
Pizza Power!
|
|
Join Date: Apr 2003
Location: Brazil
Posts: 179
|
|
Hmmm thats ok 
I'm not a coder.. All I could do is create some concepts of the interface, because writing an interface means coding and I'm not able to.
Another thing, don't disable network adapter (like hdloader does with the new games) thing for online playing.. it would be nice to play new games from hdd thought.
I know hdloader doesnt disable network adapter. There is a theory that it conflicts with a module used for DN4$ and so will be read as no network adapter instaled.
A proof would be: you can play games online against other ppl using xlink (games that are able to play in lan mode) - SW: BF, TimeSplitters, Twisted Metal Black Online. And some older games that has internet play (but no DN4$) like Socom1, Tribes Aerial Assault, Automodellista, Twisted Metal Black Online.
[]'s
Kormann
Last edited by Kormann; 03-01-2005 at 06:03 PM.
|

03-01-2005, 06:32 PM
|
|
Registered User
|
|
Join Date: Jan 2005
Posts: 48
|
|
|
Yes, but one thing to consider is where does the dev9/atad/smap tree branch out from the 'official' IRX drivers? If we could build a setup that only uses a custom atad driver, and a custom cdvdman, then we /might/ be able to do this. However, it is not on my todo list at the moment since it is rather tricky to solve, and would be more useful for those who pirate the games, rather than the owners. So I am not likely to actually do anything on this front.
|

03-01-2005, 08:37 PM
|
|
0x63 0x30 0x64 0x33 0x78
|
|
Join Date: Jul 2004
Location: Italy
Posts: 211
|
|
waiting for the project roadmap 
|

03-01-2005, 08:40 PM
|
|
Registered User
|
|
Join Date: Feb 2004
Location: Somewhere in Italy
Posts: 17
|
|
the biggest problem with mcman is that every game uses a different one or use it in different way so u can't do an universal patch.... 
|

03-01-2005, 08:53 PM
|
 |
Banned
|
|
Join Date: Nov 2003
Location: Nova Scotia
Posts: 122
|
|
ya know it really doesn't seem like you have that bad of a chance in doing this. I fully support this in any way I can. Maybe we will have a compatibility list for this app at www.ps2hd.com one day.
geez..ya got me all excited to see people interested to try.
|

03-02-2005, 01:54 AM
|
 |
Un Oceano en mis suenos...
|
|
Join Date: Jan 2003
Location: sydney ·:· :: · :.
Posts: 1,753
|
|
Quote:
|
Originally Posted by Krevnik
With homebrew apps like HDL Dump now available, and some of us with an understanding of how DVD9s work for PS2s (including myself), there is a chance that those ambitious enough could write a replacement for HD Loader / HD Advance which can solve two of the nagging problems I personally have with HD Advance:
1) Lack of built-in DVD9 support. It isn't quite as hard to detect a PS2 DVD9 as one would think. I use a short-cut for a personal DVD9 ripping tool on MacOS X because Virtual PC forces FAT32.
2) Lack of support for storing saves onto the HD. When Battlefront, Star Ocean, and Dark Cloud 2 can eat up 4MB of space on their own VERY EASILY, being able to store saves on the HD directly would help in not having to constantly weed out saves from space-hungry games like Dark Cloud 2.
The tricky parts to this project would be a custom CDVD driver, and for #2, a custom MCMAN driver (the first is required just to trick games into running off the HD, and DVD9 support cannot be done using HD Advance's CDVD driver). The easy part would be the code which reads the CD or DVD image onto the HD, the menus, etc. Also, I would like to incorporate the HDL Dump server into the app (this would be a GPL project, so it would be possible), and provide any patches we make to the server back to the project.
I am confident that I could achieve this on my own, although having an extra hand would greatly speed up the development. I plan to have a project roadmap and milestones laid out by the end of the week, so the earlier someone with PS2 programming skills decides to join up, the more input to the roadmap they can provide.
Anyone feel as ambitious as I do?
|
I'm not sure about #1, Krevnik, but you are spot on with your #2. You have 4 posts here and you immediatly recognise that MCMAN and CDVD are the programs you must target? You cannot tell me your are new to the ps2-scene...
There is a GPLd CDVD.IRX available over at PS2DEV. It kick's Sony's CDVD.IRX's ass all the way to Japan supporting Joliet and ISO level 2, etc etc. You can check out the source on the ps2dev cvs. If you want contribute to the homebrew CDVD.IRX project then adding support to HDLoader (i think) would be trivial. To get it to load your driver onto the IOP you could just replace the inbuilt CDVD.IRX inside the hdloader executable. (unless hdloader uses sony's driver in the ROM, but since sjeep was a major contributor to many ps2dev projects, i think he would have stored the free version in his executable)
Replacing MCMAN in the ROM would be tricky.. There is a modchip which can redirect calls from rom0:MCMAN to another of your choice, the 02. I'm not a PS2 developer so i'm not sure if you need a modchip to achive what you are trying to do, or if you could just run a program to redirect calls from rom0:MCMAN to your own file (on the MC or something). There is, infact, someone who wrote his own(or modified Sony's) MCMAN over on the 02 forums, which allowed the ps2's browser to access USB memory directly(it just saw them as really really big memory cards)
You could add your MCMAN to games easier though. Most games use their own MCMAN on the game's disc, so you could just replace it and reburn.
www.ps2dev.com <--- invaluable resource
GOODLUCK!
__________________
·`·
`.¸ ¸ x |¯| > HypERSoniC < O /\ ¸.·°¯°,
¸¸.·´_________°·. ¸¸ .
Last edited by HypERSoniC; 03-02-2005 at 01:38 PM.
Reason: reworded
|

03-02-2005, 06:39 AM
|
|
The day has come LaunchELF 3.4 DUURRRR
|
|
Join Date: Sep 2004
Location: Saginaw, MI
Posts: 1,593
|
|
|
hell this is almost news worthy
Best of luck to you
|

03-02-2005, 07:18 AM
|
|
Registered User
|
|
Join Date: Jan 2005
Posts: 48
|
|
Quote:
|
Originally Posted by HypERSoniC
I'm not sure about #1, Krevnik, but you are spot on with your #2. You have 4 posts here and you immediatly recognise the areas of the PS2 which deal with your idea? You cannot tell me your are new to the ps2-scene...
|
Well, #2 is trickier, since it is stated by another that various apps do it. #1 /is/ possible. The raw access of a DVD9 in pretty straight-forward, so is checking for it (as I said, I wrote a tool for MacOS X which does a raw read of the DVD and can detect PS2 Dual-layer discs, and rip them correctly). PS2 DVD9 discs don't comply with the ISO specs for defining multiple filesystems on a disc, but is still really easy to detect.
Ironically, I can say I am pretty new, but I learn quick, and have multiple years of experience with computer and embedded scale development, and did a little tinkering with PSOne emulation bits awhile back. I think there is enough information to do this at this point, but not without relying on PS2SDK and other projects. Hence why I want it open source, to ensure that it adds to the community, rather than leeches.
Quote:
|
Originally Posted by HypERSoniC
There is a GPLd CDVD.IRX available over at PS2DEV. It kick's Sony's CDVD.IRX's ass all the way to Japan supporting Joliet and ISO level 2, etc etc. You can check out the source on the ps2dev cvs. If you want contribute to the homebrew CDVD.IRX project then adding support to HDLoader (i think) would be trivial. To get it to load your driver onto the IOP you could just replace the inbuilt CDVD.IRX inside the hdloader executable. (unless hdloader uses sony's driver in the ROM, but since sjeep was a major contributor to many ps2dev projects, i think he would have stored the free version in his executable)
|
I have been searching for the CDVD IOP sources, but have only found stubs which call the kernel, and a EE library to access the stubs (of course this is PS2SDK's CVS tree). I may be wrong though, but this doesn't seem right, or I am looking in the wrong part of of the CVS tree for the project.
Double Post Edit: I found what you were referring to, although it is really just an IOP server which uses the official CDVDMAN to read from the DVD. However, this, along with PS2SDK's libcdvd, gives me quite a bit of information on what CDVDMAN needs to do for other IOP drivers and EE, and provides a good start for me to work with. I could probably write up a HD version of CDVDMAN for other IOP code in a couple of days (that meet the requirements for the module's exports). Getting it to interact with the EE properly /might/ be a bit longer, as I am not too familar with the SIF yet.
Quote:
|
Originally Posted by HypERSoniC
Replacing MCMAN in the ROM would be tricky.. There is a modchip which can redirect calls from rom0:MCMAN to another of your choice, the 02. I'm not a PS2 developer so i'm not sure if you need a modchip to achive what you are trying to do, or if you could just run a program to redirect calls from rom0:MCMAN to your own file (on the MC or something). There is, infact, someone who wrote his own(or modified Sony's) MCMAN over on the 02 forums, which allowed the ps2's browser to access USB memory directly(it just saw them as really really big memory cards)
You could add your MCMAN to games easier though. Most games use their own MCMAN on the game's disc, so you could just replace it and reburn.
www.ps2dev.com <--- invaluable resource
GOODLUCK!
|
Here is the thing, you don't need to. If that was the case, then HDLoader wouldn't work, since it loads CDVD.IRX of its own, and then prevents the game from loading the one on disc. If it thinks MCMAN is already loaded, it won't reload it, and effectively replaces it until an IOP reset (which is how HD Loader hijacks everything). The first thing to do when loading this app is to reset the IOP and start loading modules needed for HDD access. Then the hacked CDVD and MCMAN can be loaded before executing the ELF. This way, the hacked MCMAN support can be enabled on a game-by-game basis. This would probably break support with HD Loader at this point, so I want to make sure that it has two things first:
1) DVD9 support in addition to the feature-set required by a loader.
2) 100% GPL or some other open source license.
#2 is key for me, as it is what hurts HD Loader-type development on the PS2 currently. Not to mention that attempting to make money on HD Loader like the HDA team did to Sjeep, rubs me the wrong way. Homebrew apps like this should remain open so that people can learn from it. 
Last edited by Krevnik; 03-02-2005 at 07:34 AM.
|

03-02-2005, 07:22 AM
|
|
The day has come LaunchELF 3.4 DUURRRR
|
|
Join Date: Sep 2004
Location: Saginaw, MI
Posts: 1,593
|
|
|
come ppl step up and say yes i will help you or i know someone who will...Get this thing rolling
|

03-02-2005, 07:32 AM
|
|
Registered User
|
|
Join Date: Sep 2004
Posts: 56
|
|
|
good luck. if you can get this thing rolling it going to be amazing. sounds like you know enough to do the job too.
|
|