functions of debugger (log, snapshot) #5791
Replies: 5 comments 1 reply
-
|
If the game is using INT 16h (which is unlikely past the 1980s) you can break on that. If the game hooks the keyboard ISR (which is more likely) you can break on INT 9 (IRQ 1), unless the game is protected mode, where it might have relocated IRQ 1 (use the PIC command to see what those interrupts are and break on whatever IRQ it is). For the mouse, it may be polling INT 33h, or it may have installed a "mouse interrupt handler", which means you will have to break on the mouse interrupt (IRQ 12) and step into the game's interrupt handler. You can use the LOG command to run the game with each instruction logged to a file LOGCPU.TXT. LOG fff will log 4095 steps. If it's not clear, log takes the number of CPU instructions as hexadecimal digits. |
Beta Was this translation helpful? Give feedback.
-
|
thank you very much. I still don't understand enough :).
|
Beta Was this translation helpful? Give feedback.
-
|
If the debugger interface is under "code overview", then yes, use the LOG command. The LOG command is not fast, because it's writing to a file for every instruction to log it. Use the PIC command in the debugger or "code overview" to look at the hardware interrupt vectors. Look up the vector for IRQ 12, that's usually 0Ch but some protected mode DOS extenders redirect that. Then type "BPINT", space, then the interrupt vector in hexadecimal. |
Beta Was this translation helpful? Give feedback.
-
|
well, where should I usually use those debugger commands? the code overview is the only way I found. But when I put PIC into it then the game and debugger freezes. |
Beta Was this translation helpful? Give feedback.
-
|
The PIC command prints the information in the window at the bottom. If there is more than can be shown at once, it pauses and you need to hit q to break out or ENTER to view more. When it does this it explicitly says so at the very bottom when it is waiting for q or ENTER. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
hello, I am not a developer but only a 90s DOS gamer :). I try to find out little things about some DOS games to perhaps mod them. So now for the first time I used the Debug option in DOSBox-X. But the code is running like hell, no chance to see anything going on when I do for example a mouse click on a certain menu in the game. I tried to reduce the CPU speed but no change.
So my questions are: is there any way to stop the Debug code view by key or mouse click ? (as said I know pretty nothing, so like interrupts may be too difficult already for me) I tried with bp int33h in the code view but I don't see the fast running code stop.
As I guess that my first question will not give me a way to solve my issue: how does the log in debug work, can I somehow export the last 20 or 50 code lines running in ther debug window into file or clipboard?
In general I don't see why the code is so fast as the game example is a 90s soccer manager without happening anything on the screen (no movement visible for me).
Beta Was this translation helpful? Give feedback.
All reactions