I rewrote some bits on my chihiro tools (for working with the GDROM and FATX images) and wrote a small guide to get you guys started because I kept getting asked how to use those tools. This is pretty much walking you through unpacking the CHD and getting access to the files you can run on your xbox. The huge difference between my tool and the others is that mine can easily overwrite the partition size. That means you are able to extract all FATX images, not only those which luckily have a layout similar to the original xbox HDD. I fixed some bugs with extract-fatx and it might not be stable again - I only tested it with the GDROM for the guide. Unfortunaly my site is not done yet so please don't permalink yet. It's on the frontpage at the moment with only minor explanations missing. However, you can find it here. Critic, improvements to the code etc. is always welcome too.
Thank you JayFoxRox! I managed to finally extract a 1GB file using your instructions. I used cygwin to compile your tools (except for decrypt, which wouldn't compile for me - I used DEScrypt.exe instead). Here's some tools and links for Windows: cygwin (to compile jayfoxrox's code) cdrdao includes a windows version of toc2cue. DEScrypt.exe (or Google "Makaron T11/1" to find a download link) You can use isobuster to extract the data track (highlight track 3, right click, extract==>"Extract RAW but convert to user data (iso)".
Now also worked on the parse-loader and parse-securityic tools again. This should make it a lot easier for some people to dump these files. This should mostly clear up how Chihiro installs / runs a game. There must also be a way for Chihiro to know the partition size of the FATX images from the PIC or the loader. I don't have any larger ROMs with 2 images to test it though. //Edit: I might work on an OpenSSL version of the decrypt tool if there is enough interest. Or PM me the compiler error so I can attempt to fix it.
@JayFoxRox thank you for releasing these tools. I managed to compile them using mingw and the mman library. I have uploaded an archive with win32 executables here: http://www.sendspace.com/file/1rbh3r I could not compile decrypt since I am missing the library however DESCrypt.exe will work. Then I used the instructions to decrypt and extract Outrun2. I found some SFD files inside the media folder. I tried to use sfd2mpg on them but got an error. Does anyone here know about any tools which can convert them successfully ?
CHD supposedly means "Compressed Hunks of Data" ... http://mamedev.org/source/src/lib/util/chd.h.html Thanks for making the tools by the way !
I don't know about converting them to mpg but Media Player classic plays them flawlessly: http://mpc-hc.org/
You could try SEGA's official SFD tools called Sega Dreamcast Movie Creator. Download here or here, it's a pack compiled by some guys from UG. Contains SDMC and a bunch of other SFD related tools, documents and tutorials.
Originally it stood for Compressed Hard Disk. It got renamed when it started being used for laser disc images. Then came CD and then more recently GD. Essentially it's like chopping a huge file into something like 8k blocks and then zipping them. The advantage is that you can read an 8k block in the middle without decompressing it all (it's the polar opposite of a solid archive). In theory rar/zip/7zip could have supported something like this in the first place.
Thanks for the info... It makes so much sense have a compressed filesystem with such granularity when you have it being used in real time for random access reads.
I added OpenSSL support now for the Windows folks (untested). You probably already noticed that I added informations from this thread, so thanks for that! I also ran this over my Chihiro collection now: Every game worked so far except for the Wangan Midnight series. I'm not sure yet wether this is expected behaviour with the 512MB version (didn't test 1024MB yet) or if it's a bug in either "decrypt" or "extract-fatx". It will never finish exporting as one of the directories includes itself, therefore causing an endless loop. I might not fix this though unless there is interest. I wonder if the other FATX tools can load it? //Edit: Probably going to release my Lindbergh stuff next, so less time for Chihiro. //Edit: Couldn't resist.. now also includes a tool to convert PIC firmware (Crazy Taxi style layout) to PIC data.
If anyone needs a tester for the games once worked over I'm open. I have a 128MB retail console with decent HDD space.
I have free time and retail xbox with 128MB so I can test it. Just curious if all chihiro games require a component cable to work. Thanks for the tools.
I have both a debug kit Xbox board (DVT-4) and a retail system with 128 MB RAM on it. Let me know if you need something. A retail Xbox with 128 MB RAM is almost identical to a debug kit/development kit. In fact, almost indistinguishably different. The only two differences that matter are that retail systems have an SMC with watchdog security enabled, and an MCPX with one of two secret boot ROMs. Once you escape from the MCPX and answer the SMC watchdog's secret challenge, the boards act the same. Retail kits also have an EEPROM encrypted with a different key, but you can just patch 2BL to change the EEPROM key, or unlock your drive and blow away your EEPROM, replacing it with a debug-encrypted or unencrypted EEPROM. What sort of functionality exists on Chihiro I/O boards? That's the main reason the games wouldn't work on a debug Xbox. As for running regular Xbox games on a Chihiro, that actually would not be difficult at all. You'd just need a patched flash or a mod chip with no Xbox-side custom BIOS, such as a bioxx. Having an MCPX X2 means that there is no security against running whatever you want in flash. (In fact, if you put a retail Xbox kernel into a Chihiro, but put a copy of the MCPX X3 ROM in the high 512 bytes, I bet it would boot then throw an error for being unable to decrypt a debug EEPROM.)
Thank you for the links I downloaded the package and tried all the programs. The tools can create SFD but I did not find a way to read SFDs. It seems like SFD is the end result. Thank you for the Open SSL, I have compiled it, tested it and uploaded an archive of all your tools for win32 here: http://www.sendspace.com/file/ixg1q6 I think there is a copy paste error on your page. You have to extract the files in the GDROM before you decrypt them, while you decrypt the entire ISO which will corrupt the file system.
I'm not sure but I think there could be an SFD codec/plugin for TMPGEnc that could be used both ways? You're really better off reading all the documents though. Good luck.
I noticed some more problems.. it looks like Sega does something else with the FATX which I don't really understand. At least the Sega FATX files are not proper Microsoft FATX files - some use another attribute which probably upgrades the Chihiro firmware (firmware.bin and firmware2.bin are tagged with that flag). There must also have been a problem with directories spanning multiple directories (if it wasn't there is one now ). So until someone figures out what Sega did to the FATX filesystem (probably by debugging on Chihiro or finding leaked source code to their kernel) I added an experimental part to search the second cluster, then return to the first cluster instead of calculating the gap itself (which is negative in some files..). I'll probably move these files to github soon in case anyone sees it and wants to help. I also decided to finish parse-bootid too, I'll probably work on it tonight. Basicly boot.id tells you what XBE to run for game / testmode. //Edit: What I'm trying to say: redownload extract-fatx.c and keep your fingers crossed that it still works on your files AND the newly extracted files are better than before. //Edit: It's best to run extract-fatx without 3rd parameter now. Only if you get faulty output you should try adjusting it - but it's very different from before now.
I got a chance to extract and test a few 1GB Chihiro games on my 128MB retail xbox: Edit: Refer to the wiki for the most current information BTW, unrelated question...does anyone know how to edit the *.xst files in Outrun2?