@Stanislav: I see. Does it just add the "base" to the "ip" value, to make that calculation?
In order to load the instruction bytes from memory into the *instr buffer, I ALREADY had to do the full translation of the prev_rip/cs into a linear memory address. So I already have the current linear address available.
If I call disasm with the "base" set to 0, and the "ip" to the linear address that I already have, will that work?
Thanks for the info!
Love4Boobies wrote:I think Bochs would be a lot more popular if it had a real GUI (that means getting rid of the console altogether)...
That's exactly what I'm working on. I wouldn't be surprised if I had it posted by next week. There will be 2 versions of my frontend to bochs. One with a console (at least for now), and one without. The console (which connects the user to the "bochs internal debugger" via text) has included a LOT of (somewhat undocumented) features over the years that I do not want to try to duplicate in the pure GUI version. So if you want to use those features, you need to use WinNT's frontend, or the version of mine that has a console.
The pure GUI version should be a lot faster than the other -- perhaps even faster than the pure textmode version of bochs. The current console/internal debugger has a LOT of inefficiencies. Especially about how it handles breakpoints, watchpoints, and callbacks -- which need to be handled on every single instruction and simulated memory operation.
AJ wrote:
A GUI would reduce the cross-platformness of Bochs without much increasing usability.
Well, I think I disagree. I'm halfway planning on being nice to jal, and porting my exact code to linux when I've got the windows version done. I've been writing the code with that in mind. So there should be no "cross-platformness" issues. I think the speed increase alone will probably make it worthwhile for some people. As I said, there are some features of the internal debugger that I would not duplicate, so there will be some theoretical loss of functionality.
But the main increase in usability should be for multi-CPU simulations.
It's much better that the Bochs team should be working on the emulation code.
Well, poor Stanislav *IS* "the bochs team". And if I were him, I'd be pretty tired of working on the emulation code by now.
... and in any case, I'd also say that the abilities of the emulator have at this point far exceeded the abilities of the current frontend to present the information. So, in fact, the effort at this point should be aimed at data presentation, for now.