Announcement

Collapse
No announcement yet.

Text speed hacking for BoF3

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Text speed hacking for BoF3

    Howdy. I've gotten sick of some of the codes I want not existing, so it looks like it's time for me to join the hacking community.

    Right now I'm working on a code to speed up the text scroll speed in Breath of Fire 3, but it's not as easy as searching for a variable. I found this memory address which controlled the text speed in the menu:

    80144950 xx

    This normally only takes three values: 00 for fast, 01 for medium, and 02 for slow. This is what changing the text speed in the menu changes the values to.

    However, I could find no value for this code that increased the speed even more. Some values slow the text to a crawl (up to 30 seconds per character), but none make it go faster than the 00 setting.

    I was ready to give up with that discovery, but someone from another forum suggested this:

    There is probably a value in milliseconds that you can change, and the value you found is a multiplier for that (I'd guess it loops that millisecond wait over and over). Search for a reference elsewhere in the code to the memory address you discovered. It will lead you to some instructions. Then look at the other memory addresses referred to by nearby instructions. With any luck, one of those will be the millisecond value. (If you can't find the address, it may be because it's obfuscated by PSX-specific encoding and/or base address. In that case, you'll have to read the manuals on where in memory the executable is mapped, and what is the format used by of load/store instructions.)
    And that's great! I hope he's right and I'm ready to work on it. But I have no idea how to do what he said.

    I'm not going to harrass him, since that's not a hacking forum and he obviously didn't want to spend a lot of time on it. Instead I'll ask here:

    Given an address in memory, how can I find the instructions that refer to this address?

    If there's any PSX-specific encoding, I think I know where to look to solve that problem, but if not I'll have to request some help again. Thanks!
    Last edited by Swimmy; 07-06-2012, 09:53:44 PM.

  • #2
    I believe that it means you need to use a psx debugger which is an emulator that has breakpoint support, then set a break on that address to see what is causing the changes. This isn't so easy to figure out if you're not familiar with ASM (assembly) but try this emulator out as this is what I use. I might take a look at this game soon if you can't find the code.
    Attached Files
    Spoiler Alert! Click to view...

    THE BAD GUY!!!!!!

    Comment


    • #3
      Thanks for the help, helder! I did that in PCSX1.5 w/ debugger and pulled up some instructions. It'll take me a bit of effort to properly interpret them, and to see if I have all the instructions necessary. I've been reading about ASM all day, but from my experience programming it's mostly about learning-by-doing, so I'll be spending some time practicing this.

      Comment


      • #4
        The thing is that you have to read whats going on before the break and try to figure out what is happening.
        Spoiler Alert! Click to view...

        THE BAD GUY!!!!!!

        Comment

        Working...
        X