Fixed a bug that could cause an “original” version of the game to crash on PCSX2
After doing some debugging, I found out that the original address I checked for what file was currently active actually changes between different pcsx2 versions. I found another address that appears to remain static between versions and shouldn’t break the check anymore. This will not work with the original untranslated version of the game. The new area where I am checking for what file is loaded doesn’t populate till after the current binary changes. It’s something I am working on but for now I would just like to know if anyone is having issues with this current version in terms of connecting.
Just to be on the safe side, please backup your saves.
I updated the fragment patcher which solves the crashing problem that would happen if you went to offline mode:
The Socom 2 Online Beta (SCUS_973.66) has it’s LAN option disabled on the main menu however thanks to Harry62, he made a code to enable this option. I’ve created a homebrew patcher for this.
You can download it here.
Added in Skip MPEG to prevent the game from freezing on the emulator if the user did not have the SKIP MPEG game fix selected in the emulator settings.
Added the Disable item removal code so if the emulator crashes you will no longer lose your items. This only works for the online portion of the game.
Download can be found on my github:
Memory Card Formatter is a homebrew application for the PS2 that allows the user to quickly format memory cards. Simply insert a memory card into either Slot 1 or 2 (or both) and press start.
.hack//Fragment Patcher is a homebrew application for the PS2 and the emulator PCSX2 that will allow the user to play the game in english without the need to download a modified copy of the game. With this anyone with a copy of the original game can pop it into their ps2 (or PC through the emulator), run the homebrew and play.
The patch is in development and currently has the following features:
- DNAS Bypass and able to connect to Alkalime’s Lobby Server
- Basic ground work for translations (Currently only Chaos gate is translated)
- EXP Loss on death for Mulitplayer has been disabled.
- Item loss from not saving before quitting has been disabled.
I made the code open source so anyone can read through it. I am still rather new to PS2 homebrew development so if the code doesn’t look that great, that’s because it’s probably not.
The code can be found on my github here.
Once I have a majority of the translations in place, I will make a binary release here.
Why should I use PCSX2 over a Playstation 2?
Well if you already have a PS2 setup and you don’t care about better looking visuals then PCSX2 really isn’t for you. However if you don’t wish to use a PS2 anymore or can’t be bothered but would like to play Socom2 again this this would be for you. You can expect a cleaner looking game, smoother visuals and the ability to easily use custom patches / content (Harry62’s r0005 patch for instance).
The following has updated:
- Changed the guide to use a dev build of PCSX2 1.5 (Some screenshots are of the older version but the windows / settings didn’t change)
- Removed Xlink configuration and changed it to SVDL
Programs and files needed:
Any Hex editor. In this example I am using HxD though.
HACK_00.ELF (This is found on your .hack.//Fragment disk.) (This is also the online ELF for the game, the single player version is HACK_01.ELF
Socom 2 Imposter Maker by Dark Killer ( I used this to convert text to hexadecimal. It’s not needed but it makes it quicker.)
When translating this game from Japanese to English you tend to run into space constraints when dealing with how many letters you can cram in a memory location. The problem came up where a translation wasn’t correct and since there just wasn’t room to actually have the correct text it instead was made to be something else. As a quick example the Twinblade spell “Tiger Claws” is currently just “Claws”.
A way to fix this issue
In the game .hack//fragment strings are loaded in by pointers.
For this example I am going to show how we can extend a string past the limit it currently has.
Currently I have a level 15 Blademaster that knows the spell Vak Slash and I want to call it something else, something longer.