=============================== The PlayStation translation doc Written by Cless v .7 http://cless.romhacking.com/ =============================== There are things that have prompted me to write this. There's quite a lack of knowledge about PlayStation hacking, mis-information, and some other crap floating around. This is mostly catered to ROM hackers who have experience. If you're a complete newbie to the subject, stay, far, far away. Table of Contents ------------------------- 1) Getting started I. What you'll need 1. Optional stuff II. Where to find the software 2) Things to know 3) Using the three PSX demo scene tools I. PSX2HD II. BUILDCD III. STRIPISO 4) Files are dumped, yay! 5) Graphics 6) Memory card save info ================================================================================ 1) GETTING STARTED ================================================================================ I. WHAT YOU'LL NEED: 1) A PC. I know nothing about Mac PSX utils. 2) A CD-ROM drive (CD burning drive very highly recommeneded*) 3) A good emulator such as Connectix Virtual Game Station* 4) Several PSX demo scene utilities- PSX2HD, BUILDCD and STRIPISO 5) CDRWIN CD burning program *It's a good idea to use a CDRW drive and burn your tests to CDRW. However, the PlayStation CAN NOT read CDRW media. That's why I recommend using an emulator for your burns. 1. OPTIONAL STUFF 1) A mod chipped PlayStation, or have a plug mod for playing burns/imports. Burn CDRs once in awhile to see your work on the real thing! 2) DexDrive (can be useful in building table files in some cases...) 3) A file splitter if the game you're dealing with has bigger files than your RAM will allow. 4) Daemon. It's a CD-ROM drive emulator which loads ISOs as a virtual CD. However it's not even close to being all it's cracked up to be (at least for PlayStation games). It's useful for some games, but not all. You'll see why it sucks later... II. WHERE TO FIND THE SOFTWARE 1) Emulators- Connectix Virtual Game Station. I recommened this above all else at the moment. Very compatible. This one's commercial, though. I think there's a demo, but like most every other demo of commercial emulators, it's total crippleware. Find it at http://www.connectix.com/ ePSXe - Currently the best freeware PSX emualator but overall not as good as VGS. It uses PSEmu plugins, so it can be a bitch to configure. Oh and it requires a PSX BIOS ROM. No questions regarding getting the emu to work if you're having trouble and ABSOLUTELY NO BIOS ROM requests. Search one out yourself. Find ePSXe at http://www.epsxe.com/ 2) Demo Scene Tools- Get all 3 at http://cless.romhacking.com/psxutil.zip 3) CDRWIN - Commericial CD Burning software. Best thing to use for STRIPISO converted CD images. Usable demo available. http://www.goldenhawk.com/ 4) File Splitter- It's pretty simple to use and it's freeware. http://cless.romhacking.com/fsplit.zip I WILL MAKE IT CLEAR NOW: -I will not adhere to emails asking for "Cracks", "Serials", or "Warez copies" of copyrighted commercial software! -Of course, this also applies to ISO requests, PSX "ROM" requests, or to the asking of locations to PSX ISO sites. IF YOU CAN'T AFFORD THE SOFTWARE, THEN TOUGH SHIT. You won't get any sympathy here. ================================================================================ 2) THINGS TO KNOW ================================================================================ 1) DAEMON is not a hacker's gift from god. Yes, the seemingly "elite" CD-ROM drive emulator. But you're wondering... why? I. It doesn't like MDEC movies. While playing a game with DAEMON, and a movie gets called up, the game will freeze after a few seconds. This can seriously cause problems for games that won't allow you to skip the videos. II. It hates XA Audio (streamed). Any form of XA audio will not work while using DAEMON. The game should otherwise be fine-- Just no XA. But now you're thinking. If a game has bypassable FMVs, things should still be okay for hacking. The answer? WRONG-- III. If you directly edit the ISO, something gets fowled up. Enter a Tales of Phantasia example... When I was editing the text in the monster menu's title to get the dual byte kanji values in the ISO, I thought I could edit the bytes and and see the change in game via DAEMON in just a couple minutes. Well no, I couldn't... in fact, the game froze at whence point I believe the text I edited was thrown into memory. It did it every time without failure. I left the ISO modified and instead of trying DAEMON again, I burned it to CDRW and tried running that. Mysteriously, the CD burn worked fine but DAEMON just crashes at that "certain" point. As you can see, fitting to its name, DAEMON is actually a hacker's gift from hell. 2) Now that we're done with DAEMON, don't hack ISOs unless you absolutely have to. If the game has more than two files on CD, then use PSX2HD to dump uncorrupted copies of the disc files in a directory. Yes, no XA corruption! And you will also be able to hack the individual files making your life 1000 times easier. Oh and you won't have to deal with the sector info garbage present either (it really, really, gets in the way). 3) All PlayStation games are different from each other. Just because you can hack game X fairly easily doesn't mean you're going to be able to hack game Y just as easily. Let's take a look at some commercially released games... Final Fantasy VII - Many directories, many files. With a bit of searching and trial and error, tons of stuff may be found. Tales of Phantasia - One directory, 8 files, one suspicious huge file that isn't movies or sounds. Good stuff might be lurking in that big file...... Valkyrie Profile - No directories, 3 files. One's a PSX EXE, one's the System boot info, and last is a super huge .bin file. The super big file should contain everything in the game. But it's so big it may be near impossible to hack. Chrono Cross - Two small files-- A PSX EXE, and the System boot info. But no data file(s)? The data must be embedded on the CD (or something). Your only hope is by hacking *shudder* an ISO. These are obviously the toughest games to try hacking. Xenogears is the exact same way, I might add... Pick your project only if you seriously think you can handle it... ================================================================================ 3) USING THE THREE DEMO SCENE TOOLS ================================================================================ I realize all these programs have their own readmes. But I just want to skip the crap in them and just give you the flat out directions here for quickness' sake. They are all DOS based and follow the 8.3 format, too. Before using all these, be sure you have ~2GB of free hard drive space. I. PSX2HD Now THIS is the god's gift to hackers. Allows you to dump uncorrupted copies of all the files on the CD on the hard drive. It has a couple bugs that I'll address later. It's also the most complex program and will require the editing of your autoexec.bat file. HOW TO USE: psx2hd.zip comes with 3 License files. They are: licensej.dat - For Japan/Asia licensea.dat - For USA/Canada licensee.dat - For Europe I don't know the real significance of each, but you need to to use one of them for the license info. Just use the one for your area, I guess... Input this into your autoexec.bat: SET LICENSE=Drive:\LocationOfLicense ex: SET LICENSE=C:\psx2hd\licensea.dat This will require you to reboot your computer at this point... Once you're back and running, this is how you run PSX2HD: psx2hd CDDriveGameDiscIsIn:\ HardDriveToDumpTo:\filename.cti ex: psx2hd D:\ C:\talesofp.cti Now this is where the first bug may come in. After entering the info, it might generate a runtime error. Chances are, re-entering the info will generate another one. This is normal. This program refuses to work sometimes. So if this is happening, make a batch file and put the info in about 3 times or so. Keep running the batch file over and over until it works! There are time where I've had to do it so many times I was ready to pull my hair out. Be weary, it can be like that! It's okay because you only need to use this program ONCE. Ripping XA files takes a lot more time than ripping regular data, just so you'd know. When it's done ripping the files they will be put in Driveletter:\filename (ex: C:\talesofp). A filename.cti and I *BELIEVE* a filename.cue will be generated and put in the root directory. You might notice that ripped files containing XA will be larger than they originally were. Don't worry 'bout it, it's normal and they'll be normal sized again after re-building and burning the CD (and more importantly, function correctly). Oh, by the way... bug number 2: It doesn't seem to dump the System file correctly on the CD for some reason. THIS FILE IS CRUCIAL. THE GAME WILL NOT BOOT ON A PSX/EMU UNLESS IT'S THERE. All you have to do is drag and drop the System file from the game CD to the directory where the game files dumped to. Overwrite it. It's alright; direct copying of this file is OK, it won't go corrupt. II. BUILDCD This is used to recompile all the files into a non-standard image format. HOW TO USE (be sure it's in the same directory as the generated CTI file!): buildcd filename.cti -ifilename.img ex: talesofp.cti -italesofp.img Once it reaches 100%, that's it. All done. Simple program. OPTIONAL: You can edit the .CTI file generated by PSX2HD. If you can figure out how it gets the files, you can add readme.txt files and stuff to the game you're doing. Maybe a translated PDF manual or something... III. STRIPISO Converts BUILDCD image format to burnable ISO. HOW TO USE (put in same dir as BUILDCD): stripiso s 2336 filename.img filename.iso ex: stripiso s 2336 talesofp.img talesofp.iso That's it. Once it says "Done" the game CD can now be burned using CDRWIN using a CUE file. (or you can see the changes using DAEMON...). A correct CUE file looks like this (be sure to change filename.iso and the directory if they're at a different location): ------snip this line------ FILE C:\FILENAME.ISO BINARY TRACK 01 MODE2/2336 INDEX 01 00:00:00 POSTGAP 00:02:00 ------snip this line------ I don't know how well this works with games that have CD Audio tracks. I've never personally dealt with any games that did. ================================================================================ 4) FILES ARE DUMPED, YAY! ================================================================================ So, I guess you're thinking... "Now what?". Most everything from here on is on your own. It's a lot like normal ROM hacking from here on... Find the bytes that represent text, etc, etc... you know the drill... 'cept you got more files to look at, new mysteries to solve, and junk. Among other things, from what I've seen, pointers are basically the same as you'll find in a ROM. Huh, and for some reason, some developers continue using compression in text. Don't know why, but what I see doesn't seem to be as evil as what SNES games have to go through... Lots of US games store text in simple ASCII, so that's not too bad. Also, I've seen a few Japanese games that even use S-JIS encoding. The PlayStation uses a MIPS R3000 CPU. Maybe you'll be lucky and find a guy who can do that kind of ASM for you... ================================================================================ 5) GRAPHICS ================================================================================ I honestly don't know a lot about graphics yet, so bear with me. The PSX's main graphic format is called TIM. I don't know much about it other than it's a lot like a bitmap. Klarth wrote a doc on PSX TIM format... find it on his site here: http://rpgd.emulationworld.com/klarth/ Now with that, maybe someone will be nice and try coding a raw TIM graphic viewer/editor with all the bitplanes. That would so own me... I've heard FF5 PSX's sprites can be seen in SNES 4bpp mode. Don't quote me on that one. If it's true, some games may store them using those old modes. I've seen Tales of Phantasia's dialogue font in a memory dump in 1bpp mode in Naga though... ================================================================================ 6) Memory Card save info ================================================================================ When you save your games, the header of the save is tagged with the game name and some misc data (like character level, time, etc...) and these things are reflected in the PSX's memory card screen. Some imports have name in Japanese, some don't. That bit of text is ALWAYS stored in Japanese S-JIS; even in US games. You won't find the save info inside a data file either. It's located in the game's main PSX EXE. The main PSX EXE is always in the root directory of the CD and its extention is usually a number. It's simple to find... Once the PSX EXE is opened, search for the S-JIS values of the first few characters shown in the save info. There should be a match, and if so, you've found the memcard's save info that gets tagged. This is about as far as I've gotten with this. You can change the S-JIS values to to translate the tag info into english, but there's still a problem with games that display variable items like the character's level and the game time. Something forces those variables to appear in that spot no matter what. I haven't figured it out... So if you know the S-JIS values of the first few characters in the games' title search for them with Hex Workshop. ================================================================================ ================================================================================ The end is here. Yay. Now, if you have any more questions, have anything to add, or you are a cool MIPS R3000 assembly dude and want to help Cless with his Tales of Phantasia project, send mail to email@example.com.