Skip to content
John S. Peterson edited this page Nov 21, 2013 · 26 revisions

Files

This folder contain these files that's patched with the .dif in this repo

file			original	patched
xinput1_3.dll	39d5bf9b	6217d796
XInput9_1_0.dll	aeb3b49e	34b7de83

The column names mean

  • file: filename
  • original: CRC32 of the original file
  • patched: CRC32 of the patched file

Format

Patches are available in thse formats

  • ArtMoney
  • native emulator format if the emulator has a patch function

idadif

Download idadif with

sudo bash -c "curl http://stalkr.net/files/ida/idadif.py > /usr/local/bin/idadif.py"
sudo chmod +x /usr/local/bin/idadif.py

Apply .dif

Apply a .dif with

idadif.py xinput1_3.dll xinput1_3.dif

Frequently written memory

Problem

Some variables are written often by the program (and therefore also read soon after they are written), f.e. the position in a racing game

Solution

Patch the position update function. This is done in

daytona2
scud
srally2

This is easier in an emulator that allow memory breakpoints, f.e. model3emu, because that allow finding the function

In ArtMoney setting "Options → General → Freeze time" to the lowest value "1 ms" work, f.e. in srally2, when

  • it read the position (on finish) more than 1 ms after writing it

doesn't work when

  • it read the position (on finish) less than 1 ms after writing it
  • it read the position from a function rather than a variable

Clone this wiki locally