News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: How to make PS1 hacks work in real hardware and accurate emulators  (Read 2163 times)

pleasejust

  • Jr. Member
  • **
  • Posts: 46
    • View Profile
Seeing as how I haven't seen any info on this, I'd like to share what I've found. The Symphony of the night Hardtype hack (as well as other PS1 hacks I've read) has issues working in more accuracy focused emulators. It'll work in epsxe, but not some others - including mednafen, hence OpenEmu - which concerns me as that's what I use. For a while I've been trying to find out why. Turns out, and I've tested this, it's because you need to "recalculate the EDC/ECC fields of the game image".

http://www.romhacking.net/utilities/1264/

After applying hardtype and/or quality hack, run the PS1 2352 image EDC/ECC recalculator tool on the bin file and it'll work.

It doesn't seem everyone is aware of this which seems odd, especially for the rom hackers not to know this. The megaman x6 tweaks hack guys seem to know this very well. Their page says the hack "Includes STARWIN's EDC/ECC Recalculator and is automatically run during patching. Without this, you may run into problems playing the modified game on real hardware or the more accurate emulators." So I figured, why not try it on SotN hardtype. Low and behold everything works now.

Putting it out there, FYI.

Z3R0X

  • Jr. Member
  • **
  • Posts: 55
  • My name's not shane, kid.
    • View Profile
    • My YT channel with mini tools.
Re: How to make PS1 hacks work in real hardware and accurate emulators
« Reply #1 on: April 14, 2019, 05:07:05 am »
The emulators are not the problem, BIN images have ECC/EDC blocks, some emulators ignore them (ePSXe) others not (Mednafen, XEBRA) if an accurate emulator detects that the data in X sector is not equal that ECC/EDC, the emulator will use the data that is on the ECC/EDC and will discard the midfield sector.
That is why my tools have an ECC/EDC corrector, if you modify a byte in a sector the ECC/EDC will not match.