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.
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.
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.
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
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.
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.