Page 10 of 12

Re: GUI for bochs debugger

Posted: Tue Sep 30, 2008 12:56 pm
by WindowsNT
bewing wrote:WindowsNT is busy, and seems content with his. I'd bet he's not thrilled with what I've done to his nice code. :wink: And I'm almost content (and done) with mine, too. We still need to finalize the issue of the license. After that, it will be something for Stanislav, or other developers to play with. I need to get back to writing my assembler, and my OS, and other projects.

I think we must always keep one thread for this. No matter how you have messed with my code, it is the end result that interests me. I haven't tried yet what you have made, but be sure that I will be more happy when what I started does not split to you and possibly other developers in multiple threads, resulting in multiple incompatible interfaces and Stan then gets angry and avoids all of them :)

In short, if you think that a serious modification of the code needs to be made for one or another reason, feel free to do it. Users need a better result.

Also, a quick note about portability. I think that what BOCHS needs is a try to import what I tried (or something similar) in other OSes,especially Linux, no matter the cost. All we will agree that, no matter how portable the console might appear, its the GUI that makes the life easier, and I am happy to tell you that I could successfully finish an experimental project with the GUI, and unfortunately because this gui was only available in Windows, some member of the team we were working on had to use Windows in order to complete some task as well.
So I do rely on Linux gurus here and there to try a similar move. As you can really see, my code is not Windows - related, in the fact that the GUI is Windows only and not the parsers. So that could be done easily somewhere else - keep the parser, then just create the Windows to send the interface.

Re: GUI for bochs debugger

Posted: Tue Sep 30, 2008 2:09 pm
by bewing
WindowsNT wrote: I think we must always keep one thread for this.
Hmmm. OK. I have a test request for my beta version running on another thread, but when it's been nicely tested, I can move it back here. (My beta version is probably *not* what you have. It is quite different from your original version -- you may change your mind about keeping only one version, once you have seen it.)

The actual downloads are getting pretty buried in this thread, though -- we may need to make one thread specifically for the downloads. And I think there will have to be two versions of the final GUI, also -- one with a link into the bochs internal debugger (with Input and Output windows) -- and a separate version that has a Multi-CPU interface, and controls the sim directly (completely replacing the bochs internal debugger).
resulting in multiple incompatible interfaces
Yes, I was concerned about that, too -- and I have kept your interface completely intact. All I did so far was change the name of the .h and .rc files -- I think "stuff" is a little too informal for bochs. :wink: (Plus a small change in how the .rc file gets built into the final .exe -- no need to add it to the "resources" anymore.)
and Stan then gets angry and avoids all of them :)
:lol: He's been pestering me about a patch for a month, and now he has it. I don't think he can possibly avoid at least one version now. :D
In short, if you think that a serious modification of the code needs to be made for one or another reason, feel free to do it. Users need a better result.
I honestly do think that I have made improvements in the code with my tinkering an rewriting. I think it works better now. I think many of the options I added were good ones, and adding support for Win versions back to '98 will help with Bochs integration. Some of the extra options and features are quite minor, but some people will really appreciate the "AT&T syntax" option, and the "break on CPU mode change" option. The biggest improvement is still to come, with complete GUI support for Multi-CPU emulation.
Also, a quick note about portability. I think that what BOCHS needs is a try to import what I tried (or something similar) in other OSes,especially Linux, no matter the cost. All we will agree that, no matter how portable the console might appear, its the GUI that makes the life easier, and I am happy to tell you that I could successfully finish an experimental project with the GUI, and unfortunately because this gui was only available in Windows, some member of the team we were working on had to use Windows in order to complete some task as well.
So I do rely on Linux gurus here and there to try a similar move. As you can really see, my code is not Windows - related, in the fact that the GUI is Windows only and not the parsers. So that could be done easily somewhere else - keep the parser, then just create the Windows to send the interface.
Agreed. Part of my rewriting is exactly for the purpose of making the code easier to port to linux. I may even do it myself.

Re: GUI for bochs debugger

Posted: Wed Oct 08, 2008 11:32 am
by stlw
bewing wrote: So, this is a formal test request for my beta version (0.3). The download on this post contains (very easy) instructions for hand-patching the code into bochs -- it should be compatible with any bochs ver 2.3.X -- I hope.

If you patch it into a different version than 2.3.7, I would be esepcially interested to hear how it goes.
I would copy it here as well ....

The patch applied to CVS very fine (after I changed watchpoints back to be matching your usage).
But I can't compile it under cygwin, get thousands of compilation errors and warnings.
I really wanted to apply this patch into Bochs CVS soon but I just can't until it perfectly compiles under Cygwin and most known MS compilers.
The list of compilation errors on the first stage is:
====== Cut Here ======
In file included from win32dialog.cc:910:
win32_enh_dbg.h: In function `bx_bool AskText(HWND__*, const TCHAR*, TCHAR*, TCHAR*, int)':
win32_enh_dbg.h:312: warning: passing NULL used for non-pointer converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h: In function `int DoMatch(const char*, const char*, bx_bool)':
win32_enh_dbg.h:383: warning: array subscript has type `char'
win32_enh_dbg.h: In function `LRESULT LVProc(HWND__*, UINT, WPARAM, LPARAM)':
win32_enh_dbg.h:732: warning: passing NULL used for non-pointer converting 4 of `LRESULT CallWindowProcA(LRESULT (*)(HWND__*, UINT, WPARAM, LPARAM), HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:732: warning: passing NULL used for non-pointer converting 5 of `LRESULT CallWindowProcA(LRESULT (*)(HWND__*, UINT, WPARAM, LPARAM), HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:734: warning: passing NULL used for non-pointer converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:734: warning: passing NULL used for non-pointer converting 4 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:736: warning: passing NULL used for non-pointer converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:736: warning: passing NULL used for non-pointer converting 4 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:738: warning: passing NULL used for non-pointer converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:738: warning: passing NULL used for non-pointer converting 4 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:743: warning: passing NULL used for non-pointer converting 4 of `LRESULT CallWindowProcA(LRESULT (*)(HWND__*, UINT, WPARAM, LPARAM), HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:763: error: `LVM_SUBITEMHITTEST' undeclared (first use this function)
win32_enh_dbg.h:763: error: (Each undeclared identifier is reported only once for each function it appears in.)
win32_enh_dbg.h:764: error: 'struct LVHITTESTINFO' has no member named 'iSubItem'
win32_enh_dbg.h:765: error: 'struct LVHITTESTINFO' has no member named 'iSubItem'
win32_enh_dbg.h: In function `void upr(char*)':
win32_enh_dbg.h:994: warning: array subscript has type `char'
win32_enh_dbg.h: In function `int FillSSE(int)':
win32_enh_dbg.h:1297: error: expected unqualified-id before '.' token
win32_enh_dbg.h:1300: error: expected unqualified-id before '.' token
win32_enh_dbg.h: At global scope:
win32_enh_dbg.h:1849: warning: malformed '#pragma pack(push[, id], <n>)' - ignored
win32_enh_dbg.h:1896: warning: #pragma pack (pop) encountered without matching #pragma pack (push, <n>)
win32_enh_dbg.h: In function `void MakeRDnames()':
win32_enh_dbg.h:2234: warning: array subscript has type `char'
win32_enh_dbg.h: In function `void SetBreak()':
win32_enh_dbg.h:2885: warning: passing negative value `-0x000000001' for converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h: In function `LRESULT B_WP(HWND__*, UINT, WPARAM, LPARAM)':
win32_enh_dbg.h:3012: error: `LVM_SETEXTENDEDLISTVIEWSTYLE' undeclared (first use this function)
win32_enh_dbg.h:3012: error: `LVS_EX_FULLROWSELECT' undeclared (first use this function)
win32_enh_dbg.h:3175: warning: passing negative value `-0x000000001' for converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:3184: warning: passing negative value `-0x000000001' for converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:3623: error: `NMLVKEYDOWN' undeclared (first use this function)
win32_enh_dbg.h:3623: error: `key' undeclared (first use this function)
win32_enh_dbg.h:3623: error: expected primary-expression before ')' token
win32_enh_dbg.h:3623: error: expected `;' before "ll"
win32_enh_dbg.h:3626: warning: comparison between signed and unsigned integer expressions
win32_enh_dbg.h:3630: error: `CDDS_PREPAINT' undeclared (first use this function)
win32_enh_dbg.h:3632: error: `CDRF_NOTIFYITEMDRAW' undeclared (first use this function)
win32_enh_dbg.h:3634: error: `CDDS_ITEMPREPAINT' undeclared (first use this function)
win32_enh_dbg.h:3669: warning: comparison between signed and unsigned integer expressions
win32_enh_dbg.h:3682: error: `CDRF_NOTIFYSUBITEMDRAW' undeclared (first use this function)
win32_enh_dbg.h:3686: error: `CDDS_SUBITEM' undeclared (first use this function)
win32_enh_dbg.h:3693: error: 'struct tagNMLVCUSTOMDRAW' has no member named 'iSubItem'
win32_enh_dbg.h:3697: error: 'struct tagNMLVCUSTOMDRAW' has no member named 'iSubItem'
win32_enh_dbg.h:3727: warning: comparison between signed and unsigned integer expressions
win32_enh_dbg.h:3755: warning: comparison between signed and unsigned integer expressions
win32_enh_dbg.h:3763: warning: passing negative value `-0x000000001' for converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:3791: warning: passing negative value `-0x000000001' for converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32dialog.cc: At global scope:
win32dialog.cc:32: warning: 'showCPU' defined but not used
win32dialog.cc:33: warning: 'cpu_param' defined but not used
make[1]: *** [win32dialog.o] Error 1
make: *** [gui/libgui.a] Error 2
====== Cut Here ======

Also I have some general complain about the code - it has too many 'magic constants'.
I prefer usage of defines/enums everywhere. According to my opinion each entry of rV array MUST be accessed using define.
The same for magic switch constants in switch(LW) in WM_COMMAND handle.
Now if you suddenly add some constant in between - it is impossible to understand which values should be where !
But of course the most important - is to pass compilation :)

=========
Somebody could help to fix the compilation errors under cygwin ?
=========

Thanks,
Stanislav

Re: GUI for bochs debugger

Posted: Fri Oct 24, 2008 1:44 pm
by WindowsNT
#define _WIN32_WINNT 0x501
#define _WIN32_IE 0x600

This (along with the latest Windows SDK) might fix it.

Re: GUI for bochs debugger

Posted: Sat Oct 25, 2008 1:44 am
by stlw
Small update from another thread - the GUI frontent for Bochs debugger successfully intergated into Bochs sources.
All of you welcome to download latest Bochs CVS tree, compile it uder Win32 with BX_DEBUGGER support, try a new GUI and complain.
The new official Bochs release will issued imediatelly aftre we reach some point of stability of new frontent GUI code.
Please, pay attaention - If nobody going to try and write its experiences - the point will be reached a years from now.

Stanislav

Re: GUI for bochs debugger

Posted: Sun Feb 08, 2009 10:57 pm
by chenhy
Dear Windows NT, hello I am HY my email address is [plain email address suppressed by Brendan]
May I have the honor to get a copy of the source code from you for coding reference?
Thank you.

Re: GUI for bochs debugger

Posted: Mon Feb 09, 2009 4:02 am
by jal
chenhy wrote:Dear Windows NT, hello I am HY my email address is [plain email address suppressed by Brendan]
May I have the honor to get a copy of the source code from you for coding reference?
There's something called 'PM' for such requests...


JAL

Re: GUI for bochs debugger

Posted: Mon Feb 09, 2009 5:15 am
by chenhy
Sorry, I don't understand what you means.
HY

Re: GUI for bochs debugger

Posted: Mon Feb 09, 2009 5:20 am
by AJ
Hi,

There is a Personal Message (PM) feature that can be found on someone's profile page or at the bottom of each post. Also, it's not a good idea to put your plain e-mail address in a public forum.

Cheers,
Adam

Re: GUI for bochs debugger

Posted: Mon Feb 09, 2009 8:51 am
by chenhy
Hi, AJ

Thank for your kind inform me, I will follow up your suggestion to post my personel request.

Re: GUI for bochs debugger

Posted: Tue Feb 10, 2009 12:45 am
by chenhy
[02/10/2009]HY
Here is my built result for you all to reference.
And Rebuild it need
1. Visual Studio C++ 6.0 + SP6
2. V1.1.zip
3. Bochs V2.3.7 msvc source code(bochs-2.3.7.win32msvc-src.zip).
You can try it by yourself.
Thank you very much.
Good luck, my friends.
It seems file are too big to upload.
So, if you need all files, you can contact me.

Re: GUI for bochs debugger

Posted: Tue Feb 10, 2009 12:58 am
by stlw
chenhy wrote:[02/10/2009]HY
Here is my built result for you all to reference.
And Rebuild it need
1. Visual Studio C++ 6.0 + SP6
2. V1.1.zip
3. Bochs V2.3.7 msvc source code(bochs-2.3.7.win32msvc-src.zip).
You can try it by yourself.
Thank you very much.
Good luck, my friends.
It seems file are too big to upload.
So, if you need all files, you can contact me.
Could you please try bochs cvs integrated version ?

Stanislav

Re: GUI for bochs debugger

Posted: Tue Feb 10, 2009 12:59 am
by Love4Boobies
Stanislav, when can we expect the release? :D

Re: GUI for bochs debugger

Posted: Tue Feb 10, 2009 1:11 am
by chenhy
[02/10/2009]HY
Ok, please tell me how(Internet) to get the windows porting Bochs CVS source that I can get to download the source to try.

Re: GUI for bochs debugger

Posted: Tue Feb 10, 2009 1:39 am
by chenhy
[02/10/2009]HY
| Could you please try bochs cvs integrated version ?
Yes, how to get the bochs cvs integrated version source for windows?
|
| Stanislav

Regards,
HY