6
\$\begingroup\$

Is it possible to modify Sony PlayStation 1 games?

For example I'm planning to modify a soccer game called Winning Eleven 3. What I'm exactly trying to modify is player properties such as speed, shot power and so on.

\$\endgroup\$
4
  • 8
    \$\begingroup\$ While this is an interesting question, it is unfortunately one of those situations where, "If you have to ask how, you likely won't be able to do it.". Unless you have access to the source code for the game somehow, modifying this game would likely be an exercise in reverse engineering. \$\endgroup\$ – Evan Sep 13 '13 at 21:06
  • 1
    \$\begingroup\$ @Evan I'm pretty sure it's possible, since I've seens some modes. in that case it was PES6 on PS2, but I think the procedure should be almost same. in the mod I'm walking about almost all players had all their properties maxed out. \$\endgroup\$ – Ali1S232 Sep 13 '13 at 21:26
  • 1
    \$\begingroup\$ I'm not saying that this is impossible, but that anyone asking this sort of question is unlikely to have the skill set, and the knowledge necessary to do such a thing. The easiest route would be via live authoring through memory modification, but easy is a very relative term, and not reasonable for most people when it comes to a stand alone platform such as a commercial playstation. \$\endgroup\$ – Evan Sep 13 '13 at 21:51
  • \$\begingroup\$ Jimmy's answer, while awesome, also demonstrates what Evan was getting at. Someone who knows how to do those steps (talk about black magic!) is unlikely to be asking this question, and vice versa. \$\endgroup\$ – jhocking Mar 11 '15 at 12:24
6
\$\begingroup\$

No, you can't really do this.

First of all, PlayStation 1 games were shipped on CD, which is read-only media. By definition you can't write to it, so modifications are out of the question.

So you may be thinking that you could grab an emulator and a CD image and modify that, but again you're stuck. You don't have the source code to the game, you don't have a PlayStation 1 development kit, and even if you did, you may be missing certain other tools and libraries that the original authors used.

So you can't write to the CD, you can't rebuild the game, you're stuck with trying to hex-edit a CD image file on your hard disk and running that through an emulator. I suppose you could call that "modifying", for certain definitions of "modifying"; you may be able to change a few constants or nop out a few instructions, but it's a process of trial and error (and the trial will be farcical, the errors comedic).

If you've ambitions to modify a game, then you're going to be better off choosing a game that's set up to be modified in the first place, and using a platform that enables modification.

\$\endgroup\$
5
  • 1
    \$\begingroup\$ what about creating an image file from that CD, modify it, and then burn it down again? though I think for such a process to work your device should be jail broken? \$\endgroup\$ – Ali1S232 Sep 13 '13 at 21:27
  • 1
    \$\begingroup\$ You would have to write and flash your own boot loader onto the playstation to facilitate any custom run-time modifications. So unless you can do that, or you have the knowledge to burn properly formatted ps one discs. . . .As Jimmy Shelter mentions, its pretty unreasonable. \$\endgroup\$ – Evan Sep 13 '13 at 21:59
  • 6
    \$\begingroup\$ I think you're too dismissive. Yes, the process of reverse engineering PSX games is arduous, but it's certainly within the realms of possibility and something I've done a little of myself. Consider the QHIMM FFVII modding community, or FFHacktics, for example. You do have to do some initial investigation to find the executables or overlays, though - as well as deal with their compression. \$\endgroup\$ – Jimmy Breck-McKye Mar 15 '14 at 22:29
  • \$\begingroup\$ I will concede that modding requires a lot of reverse-engineering, though. It's not for the uncommitted. \$\endgroup\$ – Jimmy Breck-McKye Mar 15 '14 at 22:36
  • \$\begingroup\$ Not the same as modifying the actual game in CD but I've used Cheat Engine before on PS1 emulators (PCSX etc), you could still modify variables and stuff just like you would with any game using Cheat Engine, just make sure you attach to the emulator process. \$\endgroup\$ – vexe Nov 19 '15 at 17:40
15
\$\begingroup\$

I have done this, though it's not by any means simple. I'm working on a modification for the PSX NTSC release of Final Fantasy VII, 'Rebirth', that involves some minor changes to battle logic.

Generally speaking the procedure is to

  1. Find the executable or overlays (this takes some reversing; you basically just have to watch for big chunks of data being streamed into a location and then executed). If you're unlucky, the executable will be compressed, so you'll need to reverse the compression too.

  2. Use an emulator debugger to discover the values that are relevant to the logic, then use breakpoints and watch expressions to see where they are being manipulated. After a lengthy reversing process, you should be able to find your logic with a disassembler.

  3. Reverse the assembler. Whilst a decompiler might provide some limited help, you will probably have to do this manually. This is quite hard unless others have done a lot of groundwork already.
  4. Rewrite the logic, usually in assembler (MIPS series 1). This is actually probably the easiest step if you're already a programmer. ARMIPS is a good assembler and works for both the PSX and N64.
  5. Insert your content (ARMIPS can do that for you) and reinsert the file. You're going to want to insert the file with something that doesn't tread on the filesystem or ECC data.
  6. Test your logic. If there are bugs, repeat steps 4-5 until everything works.
  7. Distribute your mod as a patch file of some sort (PPF is the most common one) and get fan mail from all over the globe (by which I mean rude emails complaining about your changes).
\$\endgroup\$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.