|
Tecchical question about OOVPA finding and SDK versions
Prolog:
-------
If I understand well, cxbx replaces all calls to internal libraries routines
(like D3D8 ones) to call to the cxbx DLL, this way, all the cpu code is executed
"has is", and all the specialised tasks (3D, sound) are redirected to cxbx own
implementation.
I suppose the problem with the différents SDK version lies in the fact that the code
of the libraries routines change from version to version and if a function a
identified and hijacked in a given version all the job remains for other SDK versions.
That's why you must have access to the SDK used to compile the xbe to "easily" identify
the differents functions in it and choose the Offset-Value pairs.
Questions:
----------
- How do you find those pairs?
Do you identify the functions with a special sample application which "tags" the functions and
which you decompile to read the asm code? Is it all "by hand?"
- Could we find another technique to find those?
i.e. Don't all these HLE function use commons hardware interuptions? If right, the could be used
to find the adress of the function in a given xbe. With the calls ordrer and the "signature"/arguments
we could identify the code without an SDK bu with a base of xbe using the same XDK version.
- Could we find a way to feed OOVPA dynamically to test pairs at run time?
I hope all the questions and conjecture are not too dumb....
PS: by "we", I mean the people who bother you to see a particular
soft emulated and who would be more than happy to do the dirty job ;-)
|