Page 6 of 6

Re: Bochs GUI for LINUX

Posted: Sat Dec 27, 2008 6:15 am
by stlw
Hi bewing and quok !

I just checked in new interface for debugger frontend into Bochs CVS tree. The new interface is not multiplatform yet - hile trying to separate things and get multiplatform code compiling separately from platform dependent Win32 code I found that it can't be done now yet.

Your new interface contains two potentially platform independent files - enh_dbg.cc (non-plugin object) and enh_dbg.h.
They both compiled only with BX_DEBUGGER enabled, when BX_DEBUGGER is 0 they turned to be empty files.
The platform dependent module for Win32 is win32_enh_dbg_osdep.cc. It includes enh_dbg.h and wenhdbg_h.h. Probably in future it would be very good idea to merge these two header files into single file.
enh_dbg.h contains function definitions from enh_dbg.cc which turn out to be used in win32_enh_dbg_osdep.cc and of course will be used by X-Windows osdep.cc as well.
While separating modules I found one platform-dep issue there:

Code: Select all

// FIXME: platform dependent!
#define TreeParent  HTREEITEM
void MakeTreeChild (HTREEITEM *h_P, int ChildCount, HTREEITEM *h_TC);
The TreeParent is not defined as a type but as a #define which may be different for Win32 and others. This must be fixed.
Also I had to move all definitions from wenhdbg_h.h into enh_dbg.cc. It turned out of course that some of them used both in enh_dbg.cc and win32_enh_dbg_osdep.cc (very bad according to my opinion) so I converted the definitions in wenhdbg_h.h to bunch of externs. At some point I was just tired to see if one or another var is used in osdep file so probably many of the externs are redundant. Hope you will help me to clean the things out.

Now it could be a nie excercise for you to try to integrate X-Windows frontend into the same environment. When you put it into enh_dbg.cc and header file you actually masking many of real problems. Would wish you to have fun, waiting for new patch from quok !

Thanks,
Stanislav

Re: Bochs GUI for LINUX

Posted: Sat Dec 27, 2008 6:17 am
by Combuster
bewing wrote:
The only thing that occurred to me as broken was the panic dialog. By default bochs spurts out a series of bad character height panics ...
I take it that these are non-fatal "panics"? Do you have a way to get around them, besides just closing each popup?
I normally either patch the source and make it an info, use 2.3.5, or click always continue if I forgot to do any of the previous things. It's non-fatal because the video card is in a non-functional power-up state, and bochs updates the VGA before it has had a chance to run the VGA bios.
*decides to look it up in the bug tracker*

Re: Bochs GUI for LINUX

Posted: Sat Dec 27, 2008 6:21 am
by stlw
Yeah, forgot to tell - in new CVS the debugger called "gui_debug" in .bochsrc instead of "windebug" before or "guidebug" in bewings code.

Stanislav

Re: Bochs GUI for LINUX

Posted: Sat Dec 27, 2008 2:30 pm
by bewing
Combuster wrote: I normally either patch the source and make it an info ....
*decides to look it up in the bug tracker*
Could you please give me the line number to change? We can make any change you want to x.cc, sdl.cc, or any of the others -- and just include it as part of the "enhanced debugger update".

@Stanislav: It sounds like you merged together two incompatible versions. Your changes sound very different from what I want. I will look at your code, but I think I will want to change it.

Re: Bochs GUI for LINUX

Posted: Sat Dec 27, 2008 5:54 pm
by Combuster
its vga.cc, and not related to the debugger at all. It only helped me find a debugger-related issue (tracker link)

Re: Bochs GUI for LINUX

Posted: Sat Dec 27, 2008 6:29 pm
by bewing
I can still change the panic to an info for you, though. :wink:

Re: Bochs GUI for LINUX

Posted: Sun Dec 28, 2008 12:09 am
by stlw
bewing wrote: @Stanislav: It sounds like you merged together two incompatible versions. Your changes sound very different from what I want. I will look at your code, but I think I will want to change it.
I merged the CVS and your drop-in to CVS code you mailed me.
Anyway you understand the main idea now and you welcome to give it right shape.

Stanislav