-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using turican0/dosbox-x-remc2 for debugging #23
Comments
A sample I add to dosbox-x this:
#endif DEBUG_SEQUENCES After running remc2 test not passed - in 55116+x_BYTE_12B4E0_shading is difference, and I will find point of this bug. |
When you find where in code original game is data changed, you can use this command: |
For data compare I now use: this command in dosbox-x-remc2: and this in remc2: |
1)Clone turican0/dosbox-x-remc2 to your PC
2)In vs2015/dosbox.conf set path to your directory with dos version magic carpet 2
2)Open dosbox-x.sln for visual studio(or use other method for linux, you can modify original dosbox-x, too)
3)In engine.cpp you can add code:
writesequence(0x2285ff, 2000, 0xc4e, 0x2b3a74, 0, 0);
for data saving and comparing, this command have parametres:
-adress in code when data saved
-count
-lenght
-adress in memory
In remc2 for comparing use compare_with_sequence
you must set:
//#define PLAYING_GAME
//#define RELEASE_GAME
(In dosbox and remc2 is code for mouse freezing, etc.)
addprocedurestop(0x242a00, 0x1, true, true, 0x35603800 + 0x2f7d);
for stepping and compare code, this command have parametres:
-adress in code when emulation stop
-count runs(first run is 0)
-force(I don't remember now)
-memadress(I don't remember now)
-counteradress(I don't remember now)
In dosbox-x envonment I add commands:
MEMDUMPF / MEMDUMPF16 / MEMDUMPF32
for save hexa dumps of memory
F5 - run
F9 - set breakpoint
F10 -step over
F11 - step in
c 160:257930 - show code
d 000:000 - show memory
TAB - change context
help - help
Code and adress in dosbox is shifted
void sub_61A00_draw_minimap_entites_b(int a1, int a2, __int16 a3, __int16 a4, int a5, int a6, __int16 a7, int a8)//242a00
This procedure have 61A00 in name, but 160:242a00 adress in DosBox.
The text was updated successfully, but these errors were encountered: