Hi Biterider,

I have a problem with DebugCenter.
On a Pentium IV, WinXP SP2 machine, I am using RadAsm 2.1.0.8, and ObjAsm 1.3e.

First I executed Make_Lib_P3.bat, and after that I built the DebugCenter Project.
Then I tried your Demo01A, which should send some output to the DebugCenter.
The only output which is sent to the DebugCenter is:

Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0



I also tried it on another machine, with the same results.


The next try was in a project of my own,
Although I set up the debug system with:

SysSetup OOP_WINDOWS, DEBUG(WND)


the following line didn't send a message to the DebugCenter.

DbgText "Debug"


The only result was the same result as before.

What can be wrong?


Friendly regards,
mdevries.
Posted on 2006-07-01 14:43:12 by mdevries
Hi mdevries
ObjectID = 250 is the Registry Key that has problems reading something.

I guess that something went wrong on the installation. Please check 2 things:
- The installer should have created 3 environment variables:
    MASM32_PATH=C:\Masm32
    OA32_PATH=H:\ObjAsm32
    INCLUDE=H:\ObjAsm32;H:\ObjAsm32\Resources;H:\ObjAsm32\Resources\Dialogs
    Check if they were created and if the paths are correct for your system.
- The registry key was wrong
Registry Key: HKEY_LOCAL_MACHINE\SOFTWARE\MASM32\DebugCenter
String entry: Path=H:\ObjAsm32\Projects\DebugCenter\DebugCenter.exe
Check them also and the paths for your system.

In the Help directory you will find a detailed explanation of the installation process that can help you (install.txt).

If the problem persists, send me an extract of the registry key.

Regards,

Bitrider
Posted on 2006-07-02 00:40:18 by Biterider
Hi Biterider,

I checked the 3 environment variables.
They all exist, and the paths are correct.

MASM32_PATH="C:\Masm32"
OA32_PATH="C:\Masm32\ObjAsm32"
INCLUDE="C:\masm32\include;C:\Masm32\ObjAsm32;C:\Masm32\ObjAsm32\Resources;C:\Masm32\ObjAsm32\Resources\Dialogs"


The only thing different is that the Include environment variable has an extra: C:\masm32\include


This is an extract of the registry key:

Windows Registry Editor Version 5.00


"Path"="C:\\masm32\\ObjAsm32\\Projects\\DebugCenter\\DebugCenter.exe"



As you can see I installed the ObjAsm32 package under c:\masm32

During installation of ObjAsm32 I followed the guidelines in the install.txt file you mention. I checked the file again.
As far as I can see, nothing went wrong, but maybe I am mistaken.

Friendly regards,
mdevries.
Posted on 2006-07-02 01:27:47 by mdevries
Apparently there's something odd going on with the OA32 installer - it seems that sometimes not ALL the keys are created.
I am not sure that's the problem in your case, but regardless, please find attached a .REG file sent from Biterider to me which contains all the registry keys.. note that if you decide to install these keys, you may have to edit some of them using RegEdit depending on your filepaths.
Also note that this file won't set the Environmental Variables.
Finally, note that I had to rename the file extension (from .REG to .TXT) in order to attach the file here, please correct this yourself.
Attachments:
Posted on 2006-07-02 01:49:29 by Homer
Also, you can edit those paths before you merge the .reg there and eliminate the need to use regedit... Just open it as txt edit them, rename to .reg, and merge it.
Posted on 2006-07-02 02:38:16 by Bobbias
Thanks Homer,

I used the registry file you attached, and after the update the key looks like this:

Windows Registry Editor Version 5.00


"Path"="C:\\masm32\\ObjAsm32\\Projects\\DebugCenter\\DebugCenter.exe"
"State"=dword:00000003
"Top"=dword:00000052
"Bottom"=dword:00000352
"TxtZoom"=dword:00000040
"Directory"="C:\\"
"Left"=dword:00000003
"Right"=dword:0000007e
"Language"=dword:00000352
"BmpZoom"=dword:00000040
"Version"="1.0.1"


Now it works.
So I agree, something must have gone wrong during the installation of ObjAsm32.
I guess it must be intrigueing for Biterider to find the reason why, and correct it in the installation process.

Friendly regards,
mdevries.
Posted on 2006-07-02 03:07:37 by mdevries
I had the same problem, using RADASM and OBJASM32, when compling demo01a.rap. My computer's OS is Windows ME.
After using Homer's solution, things became better:


"State"=dword:00000003
"Top"=dword:00000052
"Bottom"=dword:00000352
"TxtZoom"=dword:00000040
"Directory"="C:\\"

Posted on 2006-07-11 00:39:13 by guidry
Hi guidry
What is your current problem. From your registry extract, I see that you have some missing entries.
First try to run DC from its DebugCenter.exe.
If it doesn't help, complete the entries manually like the printout of mdevries post.

Regards,

Biterider
Posted on 2006-07-11 00:57:00 by Biterider
Thank you. These keys are HOMER's solution, not mine.
I added these keys, and my problems seems get resloved.


"State"=dword:00000003
"Top"=dword:00000052
"Bottom"=dword:00000352
"TxtZoom"=dword:00000040
"Directory"="C:\\"

I¦nbsp; encountered the same problem as Mdevries's.
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
.....
Then I surfed on the web, logged in here and found the solution by Homer.
After that I entered these register keys and solved my problem.
And I post above in the hope that you could possibly take a look and have a check at OBJASM installer, to make OBJASM better.

Then you logged in, and gave me an advice.
It's so nice of you to help the newbees like me.
OBJASM is very cool. It's not easy for a single person to design such
great project, OOP in ASM. I appreciate you and your work.
I wish you could keep the good work on.
Microsoft has released their new Assembler, but limited the licence to educational purpose only.
So I am eager to know how will you do? Do you have any plan for another Assembler? Keep going on. Hope to see OBJASM is growing forever.
Posted on 2006-07-11 01:46:41 by guidry
Hi Biterider,

I found something peculiar on DbgText, DbgWarning etc.

Because I have some problems getting Homer's GameDev demo's running on my laptop, I put some extra DbgText lines in his code like the following, in order to find the source of the trouble.

Consider these lines:

pushf
pusha
DbgText "Test 1"
popa
popf


It seems a little too much to do the pushes and the pops, because your debug macro's do the same at the beginning and the end of the macro's, but nevertheless this should not be a problem, should it?

I found the following results:
- If DebugCenter is already running, there is no output to DebugCenter.
- If DebugCenter is not yet running, the following error message pops up:

Registration error.
Start DebugCenter manually...


I was curious whether the problem came from pushf or from pusha, or maybe from both:
The results after a few tests with different pushes:
- Only pushf was the source of the error.

I can't figure out why the pushf would be a problem?
Do you see the same strange behaviour on your computer?
I tested it on my desktop, and on my laptop, both with the same results.

Friendly regards,
mdevries.
Posted on 2006-07-16 09:17:19 by mdevries
Hi mdevries
There is a simple reason why this happens. When you use pushf + pusha you are pushing (1 + 8 ) 9 words onto the stack. That means that the stack remains unaligned and some of the internals of the macros doesn’t work correctly. Usually you use pushfd + pushad that pushes 9 dwords onto stack and it keeps aligned.
Now if you remove the pushf all is OK again!

Basically, the DbgXXX macros are designed to do not alter the context in witch they are executed, so they don’t require to save any register or flags.

Regards,

Biterider
Posted on 2006-07-16 14:33:08 by Biterider
Hi Biterider,

When you use pushf + pusha you are pushing (1 +?  9 words onto the stack.


Thanks for your explanation. I understand the pushf problem now: I used is the 16 bit version. Stupid!  :lol:
I have to keep the stack aligned on a 32 bit boundary: pushfd does just that.

Friendly regards,
mdevries.
Posted on 2006-07-16 15:02:55 by mdevries
Hi mdevries
I modified the debug macros to make them insensible to stack missalignments. Attached you can find the 2 modified files.

Regards,

Biterider
Attachments:
Posted on 2006-07-20 03:36:38 by Biterider
Hi Biterider,

I appreciate it. Thanks.

Friendly regards,
mdevries.
Posted on 2006-07-20 13:12:44 by mdevries
BiteRider,

I had the same problem as well when I reinstalled everything (on my new computer).  I eventually got it working, but through alot of fumbling around trying to determine if it was the DegubCenter or something in the compile.  If I remember correctly, I manually called it to resize from the taskbar and the next time I ran it it worked.

From what I'm reading above, it would appear I did not get the registry key installed properly either.  Maybe you should have 'first time' check and add the key programatically from DebugCenter.

Regards,
:NaN:
Posted on 2006-08-08 22:22:02 by NaN
Hi
I'm working on it.

Regards,

Biterider
Posted on 2006-08-09 05:08:02 by Biterider