This can properly extract the files, but it does not import. You'll need Python 3 to use it. Just drop sd.bin onto the script (should work if you install Python with associations).
You'll get .HD, .BD and .TD files. The former two are Sony bank files (header, body), and the latter is a proprietary format by Konami. I have not written a tool to handle .TD files (which typically contains further containers, like KDT1 (.KDT), Konami's sequence format), as I'm still thinking of what the best way to handle it is, since it has some data which does not have any standard/known extensions (tvag, tmid).
@AnonRunzes: The SH1 files have been researched numerous times already. Check the Silent Hill 2 sound research thread. There have probably been other threads too...
But basically:
HILL contains XA streams only SILENT contains everything else (BGM, models, additional executables, etc)
horror_x at XeNTaX wrote an extractor, which operates on disk images. It flawlessly extracts SILENT, but it does not get the correct file sizes for the data in HILL. If I remember correctly, the internal filenames for the XA streams ends with the file size in decimal notation, so you kind of have to make use of the names to properly extract HILL.
@Sonderhen: Sadly, the tools that exists for standard Sony PS2 banks are scarce, at least to my knowledge. VGMTrans and Awave Studio are probably about the only tools I know of which supports them. You may be able to export a modified bank with Awave Studio, but I think exporting banks requires a license, and support for PS2 banks is quite new (v11.1). EDIT: nope, Awave Studio can't export PS2 banks whatsoever.
Also, if Silent Hill 2 was of any indication, modding probably isn't going to be a straight-forward process. There may be tables within the game executable or other files, which stores sectors/offsets/sizes of stuff. If that's the case, you would need to locate and update those values as well. You also need to make sure that your modification didn't expand the size to the point that the file overlaps other data (unless you can remove/append it instead of overwriting directly).
@Nisto - "If I remember correctly, the internal filenames for the XA streams ends with the file size in decimal notation, so you kind of have to make use of the names to properly extract HILL." I see... but anyway, what do you think these names could be?
Are you actually asking for the filenames, or what they "mean"? The extractor that horror_x wrote extracts stuff with respective filenames of course. And you can check the extractor's output log for the starting sectors of all files (to be clear, it does get the proper sector offsets for XA streams, but not their size).
If you're asking about the significance of the XA filenames (what they "mean"), then, aside from the numbers at the end being the sector count, I really don't have any idea. The ones that start with numbers are only music streams, without any video data, though.
@Nisto - I'm asking about what these filenames actually mean... But then again I can just extract the XA archive file(HILL) with some other tool(vgmtoolbox).
I am dubbing the version of SH3 for PS2 in Portuguese-Brazil, I've edited all .Afs files within them has the .adx files. I've edited all the cutscenes of the game,. Now it's just missing some sound effects (Example: The sounds that Heather is the attack, breathing, suffering damage).
The Sound Effects are these files .bd .hd .td that are also present within the Xb0.Mfa. Can you help me create the .bd files?
I can probably write a basic tool to allow you to replace sounds in banks. To clarify: you would not be able to add any new sounds. So tell me if that's okay first. Otherwise, I can't help you.
I'm also curious, what do you use to modify the disk image?
I appreciate the help but unfortunately I need is to import my Portuguese sounds within the game.
I edited all cutscenes with the following programs:
Afs Explorer (Edit .Afs Files) DKZ Studio (Edit Afs and Adx files) ShTexture Explorer (Edit textures of game) ShsndExplorer (Edit .adx sounds) QuickBms Script (For the .Mfa Extract Files) Sony Vegas (I redid all the game cutscenes)
The only part that is missing are the sound effects inside .bd files
Sonderhen: Can you explain HOW you use UltraISO? PCSX2 fails booting even an untouched ISO saved by UltraISO (v9.6.5). I'm not seeing any settings to make the ISO "PS2 compatible" or anything. Do you use IML files?
I need to make sure the replacement is done correctly and that you know how to do it in a way that will work. The only method that has given bootable results so far is to use various IML/ISO converters.
I use the version 9.3.5 (Portable). I just saved as a normal Iso and the game runs normally in the console and in the PCSX2 emulator. No need to save on PS2 compatilidade mode or anything like that. Example: I created my own mr1ftrst.afs. In ultraiso I clicked right in this file and deleted the original mr1ftrst.afs. Then I went on Actions >> Add Files and added my own mr1ftrst.afs I created. Then I went on File and then Save. I do not know what happened to your UltraIso, but all Ps2 games what i modding, I use the Ultra Iso and never had any problems.
I really don't know why your method isn't working for me... I've tried everything. What version of PCSX2 are you using? And what BIOS?
I am about 50% done with the tools. I just need to write a Sony ADPCM encoder/decoder since I can't find anything that I'm legally allowed to use. Since you've never had any problems with UltraISO, can you try replacing sd.bin with this and see if the game boots?
awesome man!!!!!! :D :D :D Worked perfectly It was very funny that sound every time I moved the cursor, hahaha Very good Every time you need to test the game, just send me the sd.bin that I test here.
The portable version didn't help, but I think I know what the problem is... The Japanese version (which I have) seems to have some form of copy protection, as opposed to the American release. I tested replacing with UltraISO on the American release instead, and sure enough that works. To replace and move a file in the Japanese version, I have to fully rebuild the game using Sony's CDVDGen, or it won't boot. The Japanese release is also v2.0, while the American release is only v1.02, so I guess it makes sense if the supposedly major update is copy protection.
I'm guessing you have the American release of the game (SLUS-20622)?
Okay, I've finished the tools. But I decided not to add .WAV support as originally planned, since it would require static executables or libraries (unless you like waiting +/-10 seconds to encode/decode single files with pure, sluggish Python), which I've never been a fan of. It was taking longer than I had hoped to write the encoder/decoder anyway. And there are already a fair amount of tools available to easily convert between WAV <-> VAG.
1. Download and install Python 3.x.x first if you don't have it.
2. Download scripts: - sh3-sdex.py (creates and extracts sd.bin) - ps2-bankmod.py (imports and extracts .HD/.BD data)
Skip step 3 if you have installed Python with associations. Just double-click the .py files instead.
3. Press Windows-key + R on your keyboard -> enter a command from below (CHANGE BOLD TEXT, KEEP QUOTES) and press OK
3a. To extract or build sd.bin (sd.bin <-> .TD/.HD/.BD): EXAMPLE: "C:\Program Files\Python35\python.exe" "C:\sh3-sdex.py"
3b. To extract or replace sounds in .HD/.BD banks: EXAMPLE: "C:\Program Files\Python35\python.exe" "C:\ps2-bankmod.py"
4. Follow the instructions given by the program.
* To convert between .WAV <-> .VAG, here are some tools that can do it for free, very easily (they can also play the files): - Awave Studio - MFAudio - VAGEDIT (included in the PS1 SDK "PsyQ")
* I recommend that you extract with ps2-bankmod before you import to .HD/.BD, so you know the correct number to use when you import (it's in the filenames).
* When extracting/building sd.bin, any existing copies of sd.bin/sd.TD/sd.HD/sd.BD in the base folder will be overwritten, so make backups if necessary!