http://forums.qhimm.com/index.php?topic=7960.msg95832#msg95832This is actually what brought me to Qhimm's in the first place.
Back when I had no idea about assembly or FF7 code or anything really. Kranmer was the first person to help me here. I Still havent done my story walkthrough for Youtube haha, because I am still waiting for finished retranslation.
For my trainer, I needed to go into this a bit more. I took Kranmer's values and did a bit of tracing to see how it all works. I didn't go detailed, because I only needed to do 2 things a. disable battles in world and field and b. Make battles happen all time in world and field. Obviously enemy away and enemy lure are part of the calculations. I haven't bothered going into that.
World:
The World map allows you to walk for a certain distance before the random battles are able to be called. This is presumably so that you don't get random battles anywhere between instant and 10 seconds etc. The distance you can walk before random battles are able to be called is set at 00767518
mov [00E3A87C],ffffff74
When 00E3A87C (4 bytes) is 10h (through walking, because 00E3A87C is added to by 1 as you walk from 007675F4 ), the random battle function (call 00767641) is allowed. You can see at 007675FC the comparison to 10. Once 00E3A87C is 10h, the counter comes into play. The random battle function is only called when 00E3A87C is equal to 10h, and each time it reaches that there is a CHANCE of a random battle. 00E3A87C is returned to 0 at 00767601 and the cycle repeats until you eventually get a battle.
If you set 007675F4 to add eax,00, you essentially terminate the counter, and thus stop any ability for the random battle function to be called (At least, I think. There are some other places that write to 00E3A87C, but we will see).
A random battle will occur if a. The initial movement requirement has been met and b. When random battle function has been called, edx is greater or equal to eax at 00767786. Directly above this, you can see how a further counter of your movement is always increasing your chance of a battle. In other words, eventually it is inevitable that you will have a battle, even though sheer luck plays a part.
Field:
It is a similar story for field really. The movement counter is found at 00CC1668. And this again increases the chance of your battle at the comparison at 0060B408.
For reference, each area has a value that affects the chance. The higher the value, the higher the chance of battle. This seems to be found at 00DBCAD8. 00DBCAD9 is also factored into the calculations, and is increased/decreased by enemy lure/enemy away.
I have done a very rough outline here, but if anyone wants to pick it up from here and do a better reversal, feel free to.
I have done what I needed to do for my trainer.