Brendan, thank you very much for doing all that testing. I appreciate it.
For the 64bit thing: Stanislav says above that he fixed it yesterday in a new CVS version. Hopefully it works.
For the FPU compilation error in a 486 emulation: I suspect he is mistaken that it is fixed, but I will need to look closer -- and in any case, you found a fix.
For displaying FPU registers: yes, those registers are
always emulated by bochs, so I didn't bother trying to turn them off, ever. "Disabling" them doesn't do much (if anything).
For errors when debug is disabled, you don't really need to link in the enh_dbg.o file.
But yes, if you want to run the compilation on the same files every time, then an #if BX_DEBUGGER around only the enh_dbg.cc file is sufficient. (The .h files will not be included, then.)
In the register display window, it says "EFLAGS = ???????" [and shows the value of CS]
Fixed, showing EFLAGS value now, I'll update the download shortly. (If you want to fix it in your own version, on line 793 of enh_dbg.cc, change rV
to rV[EFL_Rnum])
SMP looks very impressive with 8 CPUs (one button per CPU). However, normally I hack my copy of Bochs to support many more CPUs (up to 255 sometimes) because it's the only way to test if my OS supports a large number of CPUs properly, and it's the easiest way to find things like re-entrancy problems and live-lock.
Uh ..... I was praying that I'd never have to show more than 8, because I couldn't visualize a slick way to handle it. There is an option to show only CPU0, even if there are lots of CPUs ... that would partially handle your first issue .... I might be able to squeeze 16 CPU buttons onto that row, legibly (if the window is wide enough) ... but do you have any suggestions on a nice way to enable a user to access a random CPU? Just make another command that asks a user type in a CPU number? How did QEMU do it?
If you keep resizing the window by moving the right border left and right (e.g. skinny, wide, skinny, wide), then the register dump grows
This is an integer truncation problem, and the user will be able to trivially handle it when I have the resizing function working again.
it's fun to maximize it (make it fill the screen) and then restore it again (so it's not full screen) - in this case it restores the window to it's previous size, but then ... the window keeps growing until it's 4096 pixels wide.
Damn. I've been fighting this problem in GTK. GTK windows resize themselves to fit their contents. If the contents then resize to fit the window, you can get these infinite resizing loops. I'll work on this some more.