PS2 PS2 Controller Remapper 1.20

Tool designed to arbitrarily remap a PS2 game's controls using Cheat codes

  1. jolek

    PS2 Controller Remapper


    PS2 Controller Remapper is a tool designed to arbitrarily remap a PS2 game's controls using cheat codes.

    Remapping codes can be used on either a real PS2 or PCSX2.

    This will not work with all games but compatibility should be better than 90% based on analysis of about 200 games.

    Thanks goes out to @No.47 for both suggesting the project and doing a lot of testing for me.

    How to use it
    Opening an ISO
    • Drag and drop the .iso/.img/.bin file or click 'Browse'.
    • If a game contains multiple ELFs the following window will appear
      When it is possible to automatically tell which ELF is the main ELF then that ELF will be pre-selected.
      If no ELF is automatically selected then select one. Press "Ok" to load the ELF.
    Opening an ELF
    • ELF files can be found using ELF Extractor
    • Drag and drop the ELF file or click 'Browse'.
    • Select the input to change and scroll through the list of inputs to select what to replace it with
    • PS2 Controller Remapper makes sure that every input can be mapped to only one other input - this is by design
    • Selecting the 'RAW Code' radio button generates codes in unencrypted 'RAW' PS2 cheat code format - compatible with ps2rd and Codebreaker 9.3+
    • Selecting the 'PNACH' option generates codes in PCSX2 cheat code format (also compatible with PS2 Patch Engine and ps2rdmod)
    • Hit the 'Remap' button, copy or save the code and enjoy!

    General FAQ
    • Received error "File is not a valid ELF or CD/DVD image"
      The file is not supported or is broken.
    • Received error "Unable to locate controller routine"
      The selected ELF is not remappable.
    • "The code did not change the controls or screwed up the controls"
      Try the following
      • In the 'scePadRead hook address' drop down try selecting a different address, if there are no others or the others do not work please report the game here.
    • "Why are the codes so long?"
      See the Technical FAQ.
    • "Can you explain how to use cheat codes to me?"
      No - Google is your friend.
    • "I have not used this program, is it compatible with game XXX?"
      Try it and find out.

    Technical FAQ
    • "Does this work with scePad2Read games"
    • "Can this be made into an ELF hack"
      Remapping codes can be applied directly to disc images using PS2 Patch Engine.
    • "Why are the codes so long?"
      The codes are long because PS2 Controller Remapper dynamically writes a function to process the controller's data structure to match the specified remapping, the functions generated are extremely well optimized and in most cases can't be made shorter.
    • "Does this impact game performance?"
      In my testing - no, although it does slow down the controller's read function considerably. Fortunately a few extra cycles are generally not a big deal for a 290+mhz CPU.
    • "Are there any known incompatibilities?"
      • Controls will not be remappable in digital (PS1) mode, some games begin in digital mode by defaut (Ridge Racer V). Enabling analog mode by pressing the "mode" button will allow the controls to be remapped properly.
      • Some games may load libpad or libpad2 from an IRX - in these cases ELF analysis can't locate the scePadread/scePad2Read function.
      • There may still be some versions of libpad which are not profiled - if you have a ton of games lying around (more than 100) let me know, you may be able to help me discover new versions and increase compatibility.

    Version 1.20 includes the following
    - Code generation engine completely rewritten

    - Codes are MUCH shorter now (at or near theoretical code length minimums for most remappings)
    - Technically more accurate button to button remapping (digital and pressure data are copied separately)
    - Replaced all branches with MIPS IV conditional moves (faster/more efficient/really cool)
    - Fixed ELF selection dialog potentially displaying incorrect recommended ELF file name
    - Fixed potential crash on reading corrupt or damaged image file
    - Fixed error reading ELFs with very large program header tables (Onimusha series)
    - Fixed not closing image files after reading
    - Codes are no longer generated if no remapping is specified

    1.20 - Current
    1.10 - Image Support/Optimizations
    1.00 - Initial Release