I have uploaded the GoAsm include files to the following URL

Posted on 2003-05-28 14:21:41 by donkey
Does this windows.inc really works(ex. for united window styles):confused:. I couldn't successfully tested before replacing all "or" with "|" symbol. Also, the documents says must do this also. Btw, thanks for all.

Posted on 2003-05-29 10:23:23 by cakmak
The Windows.INC file is not mine. It comes from GoAsm, I just stripped the unions out of the structures. I'll check it out and re-upload if necessary.

I uploaded the Windows.inc with the OR replaced by | (pipe). This is after all a test version ;)
Posted on 2003-05-29 11:28:04 by donkey
The Windows.INC file is not mine. It comes from GoAsm
but i couldn't find windows.inc anywhere in GO web site. So, tried "AdaptAsm.Exe" and worked well except that modifications(and for other inc files too). But your package is better.:)
Posted on 2003-05-29 17:22:43 by cakmak
If I remember correctly it was part of this tutorial. The other include files are mine, there is Windows.inc, Kernel32 and User32 I believe but that's about it
Posted on 2003-05-29 17:38:37 by donkey
only here i have found those files.
Posted on 2003-05-29 17:59:11 by cakmak
You know cakmak, I really can't remember what part of the site I downloaded them from but they were included in one of the Win32 tutorials. I just don't have the energy today to download them all and find out which one.
Posted on 2003-05-29 18:02:54 by donkey
Hi donkey,

Will you post the include file translator for GoAsm?
Posted on 2003-05-30 03:06:00 by Vortex
Hi Donkey,

I sent these includes to you (windows.inc, user32.inc, kernel32.inc). I forget exactly where I got them, perhaps from MASM or NASM. But I used Jeremy's adaptasm to convert them. I may have hand modified them as well.

They may be buggy, they work for me so far. They are lacking a few things however.

Curiously Jeremy does not have any includes with his package, at least not that I have found.

Posted on 2003-05-30 05:08:21 by bushpilot
Thanks Greg,

I thought I was going insane there for a while, I began to try to track where the things came from this morning and was at a complete loss. I was starting to think that they popped out of thin air or were some random convergence of bits on my hard drive. Sorry that I didn't list you as the source, I should have made a note that the files came from you for reference, don't know why I didn't. My memory must be going :rolleyes:

My plan is to make a comprehensive set of includes for GoAsm, so any additions would be welcome. I think I have made a good start but there is work to be done.
Posted on 2003-05-30 10:23:59 by donkey

Hi donkey,

Will you post the include file translator for GoAsm?

Unfortunately I translated all of my includes by hand (not windows.inc). It was alot of typing.
Posted on 2003-05-30 10:27:57 by donkey
Sorry that I didn't list you as the source, I should have made a note that the files came from you for reference, don't know why I didn't.

Hey, I don't really know where I got them from, so I am certainly not complaining that you couldn't remember that you got them from me. I just wanted to eliminate the confusion - and it sounds as if you needed it ;)

I do know, however, that I used adaptasm.exe (from Jeremy's website) to do most of the work.

Will you post the include file translator for GoAsm?

Vortex, see http://www.jorgon.freeserve.co.uk/Goasm.zip I think adaptasm is in the same zip as GoAsm.

Posted on 2003-05-31 15:58:28 by bushpilot
There's an updated version of Windows.inc so I will attempt to do a better job than I did last time and translate that file. I have to work out a uniform system for UNIONs in structures. I think that the API stuff is pretty much set in stone but if I missed something or there's an error let me know.

The main goal is to port all of the equates and stuctures from MASM32, and to split out the APIs that have UNICODE and ANSI wrappers. Ofcourse with GoLink there is no need to worry about APIs without UNICODE/ANSI.

Another thing that I would like to work on is a standard function library along the lines of MASM32LIB that will incorporate things like dw2a and copystring. These are extremely useful for volume coding. If you could post sniplets here I will put them in. I'm not sure how big we can make it before it gets oppressive, no lib files in GoAsm after all, maybe spread it out over several small files.
Posted on 2003-05-31 22:00:15 by donkey
I have added a Null terminated string copy routine to the m32macro file. It is available at my ftp . Copy the file into \RadASM\GoAsm\Macro and use the following include:

#include "C:\RadASM\GoAsm\Macro\m32macro.asm"

There are two versions :

CopyStringA copies a null terminated ANSI string
CopyStringW copies a null terminated UNICODE string

for both versions you can also use them to cat strings as follows

invoke CopyStringA, ADDR SourceString1, ADDR DestBuffer
invoke CopyStringA, ADDR SourceString2, eax

The functions return the offset of the zero terminator.
Posted on 2003-06-01 21:55:07 by donkey

How useful don't know but i created 'GetModulePath' algo. As demonstration.

Posted on 2003-06-04 13:52:26 by cakmak
I'll add it to the file tonight :alright:

I need some-one to tackle Ray Filliatraults floating point lib, that would also be a useful one.
Posted on 2003-06-04 14:14:07 by donkey
Hi cakmak,

Very nice :)

I included the GetModulePath routine in m32macro.zip with some changes :

1. Made the labels re-useable so they won't interfere with other code.
2. Used GetModuleFileNameA instead of GetModuleFileName so the includes are not necessary to use it
3. Renamed the routine GetModulePathA in the hopes that you'll write a unicode version ;)
Posted on 2003-06-04 16:09:40 by donkey
Hi Donkey,

Would you like to have an include file translator (like my inc2inc for Fasm) for GoAsm?
Posted on 2003-06-05 04:03:05 by Vortex
Actually, that would be great but for me the main hassle is to convert the structures. GoAsm does not support unions and there are quite a few in Windows structures so they have to be done individually. As you know I don't need prototypes for GoAsm as it doesn't do type-checking so the rest of the include files are pretty much done.

The m32macro file is a set of lib-like procs for GoAsm. I have just now re-done all of the string functions to support higher speed. They have all been changed from byte scanners to dword scanners, effectively multiplying the speed by 4 for long strings. I'll be posting it a little later today. I have also written Unicode versions for all of the current procs except cakmak's, I'll leave that one for him.

My main objective is to make GoAsm a little easier for beginners to choose as a development platform by adding some of the MASM32 library functions to it. I found that GoAsm was a very good assembler to switch to but one that was difficult to begin with, I hope to make it a little more newbie friendly in that respect.
Posted on 2003-06-05 04:58:42 by donkey
I uploaded the new m32macro.zip file. It has faster algorithms and more unicode versions for the routines. The following is a summary:
dw2A,VALUE,lpBUFFER		convert DWORD to ANSI string

dw2W,VALUE,lpBUFFER convert DWORD to Unicode string

dw2hexA,VALUE,lpBUFFER convert DWORD to ANSI hexadecimal string
dw2hexW,VALUE,lpBUFFER convert DWORD to Unicode hexadecimal string

a2dw,STRING convert ANSI string to DWORD
u2dw,USTRING convert Unicode string to DWORD

LCopyStringA,SOURCE,DEST,LEN copy an ANSI string to buffer (with length)
<no Unicode version>

GetModulePathA,lpBUFFER get the path of the current module
<no Unicode version>

StrLenA,STRING length of an ANSI string
StrLenW,USTRING length of a Unicode string

CopyStringA,STRING,lpBUFFER Copy an ANSI string to buffer
CopyStringW,USTRING,lpBUFFER Copy a Unicode string to buffer
Posted on 2003-06-05 05:58:50 by donkey