Today I decided to look into the problem with the depth keeping issue at deep depths (> 100ft). I finally isolated the routine that is responsible for it and now just have to decipher what it's exactly doing. I can see in realtime that there is a value that is supposed to zero out when you reach the depth wanted but at deep depths it is staying negative and a negative number keeps adding to it thus making you dive deeper and deeper and deeper.
What I hope to do is release a patch for the .exe file to fix this problem. As I see people are doing this in SH3 I don't see why we can't in SH5. The patch would work like this: you run an application that reads a file and updates your installed .exe file based on the contents of that file. As I'm not supplying a modified .exe file and only a patch for it that has to be installed with another application there should be no problems with this at all. Like I said they are doing it in SH3 so what's good for the goose is good for the gander also.
Before people start asking multiple questions and requests let me just say that it's very time consuming work. You have to know how to read and write assembler. The hardest part is just finding the variable(s) you're looking for. Once you found the variable then it takes hours, sometimes days, to decipher what the assembly is doing to change/update those values (sometimes you have pointers to pointers to pointers to.....). It took me over 10 hours just to narrow down this one routine and it will take even more time to totally figure out exactly what it's doing.
Now it is time to sleep