morrigan Posted February 12 Posted February 12 Hi everyone I've discovered that several PSX games by Konami use a file format with the extension ".FAD". My goal is to unpack these FAD archives and translate the games. Unfortunately, I haven't been able to find any information online about this specific format, and I lack the technical expertise to reverse-engineer it myself. I'm hoping someone here might have some insight into this format. Any assistance would be greatly appreciated! I've attached FAD files from two different games as examples. files.zip
Sparagas Posted February 12 Posted February 12 Hi, this is interesting. Can you name all known games that use it?
morrigan Posted February 12 Author Posted February 12 17 minutes ago, Sparagas said: Hi, this is interesting. Can you name all known games that use it? SLPM-87214 Whistle! - Fuki Nukeru Kaze SLPM-87286 Gegege no Kitarou - Gyakushuu! Youma Daikessen(GeGeGe no Kitarō: Counterattack! The Great Yōkai-Demon War) SLPM-87121 GROOVE ADVENTURE RAVE - PLUE NO DAIBOUKEN SLPM-87174 Kaettekita Cyborg Kurochan SLPM-86932 KIDS STATION - KUMA NO POOH-SAN SLPS-02874 Kikansha Thomas to Nakamatachi …… GeGeGe no Kitarou is a great 2D action game 1
Engineer Solution Nenkai Posted February 13 Engineer Solution Posted February 13 (edited) I did some research. Each FAD archive is just lumps of data, the executables contains a very basic but hardcoded table of contents for each file, there are no file names either. Namely the game executable(s) will hold a list of each data file, and then a separate file list for each data file, with each entry (0x08 in size) being: ushort SectorIndex (1 sector = 0x800 bytes) ushort NumSectors uint Flags (only relevant for the game, always 0x80188000) For extracting, you would have to scout every executable to grab the file lists. And then try and find out what file does what, since they're unnamed. For rebuilding, assuming the data file size has changed, you would have to rebuild the archive and adjust sectors on the executable level. Edited February 13 by Nenkai 1
morrigan Posted February 14 Author Posted February 14 (edited) 15 hours ago, Nenkai said: I did some research. Each FAD archive is just lumps of data, the executables contains a very basic but hardcoded table of contents for each file, there are no file names either. Namely the game executable(s) will hold a list of each data file, and then a separate file list for each data file, with each entry (0x08 in size) being: ushort SectorIndex (1 sector = 0x800 bytes) ushort NumSectors uint Flags (only relevant for the game, always 0x80188000) For extracting, you would have to scout every executable to grab the file lists. And then try and find out what file does what, since they're unnamed. For rebuilding, assuming the data file size has changed, you would have to rebuild the archive and adjust sectors on the executable level. Thank you so much! Your hint was spot on – I've located the file list in the PlayStation EXE file. Just as you described, each 8-byte block corresponds to a file within the FAD archive. For example, in 0x00e811808b008800, the '8b00' section is the file start offset (0x8b * 0x800), and '8800' is the file size in bytes (0x88 * 0x800). This has allowed me to extract the files. Unfortunately, they appear to be non-standard TIM bitmaps, so my investigation continues! 😂 Thanks again for your help. Edited February 14 by morrigan
Engineer Nenkai Posted February 14 Engineer Posted February 14 👍 You should create a thread in the graphics section.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now