Includes and libraries are all available from WinInc and, I was told, Pelles C.
Yes, i agree. Also i put together a list of common tools found with various microsoft development packages and .net downloads, that people may already have on there machines. I did test out the 32bit and 64bit versions of those tools and tried out the libraries from various sources.
http://masm32.com/board/index.php?topic=4162.064bit Libraries
The following sources seem to work when compiling with JWasm64 (copying them directly into \JWasm\Lib)
- WinInc v2.08 Lib64 (build libraries with POLIB, see intructions)
- PellesC libraries from Lib\Win64
- \Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64
- \Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64
- \Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x64
- \Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64
Obviously I didnt package them up into one download, much as i might have liked to, as i wouldnt have the rights to distribute most of the tools and other bits and pieces.
From my own experiences with 64bit assembler, limited as it is, i found using jwasm/hjwasm very easy to use, and converting x86 source to x64 mostly a simple search and replace for registers (ecx->rcx etc) and the addition of FRAME keyword in the procedures (PROC) , and a line or two at the start for the options: option win64 : 11, option frame : auto and option stackbase : rsp
Since i use RadASM as my IDE, i also created the additional files for the JWasm in Radasm addin - which also works with HJWasm (found here
http://masm32.com/board/index.php?topic=4162.0) to further help in creating x64 programs.
The only issue i came across is the includes from WinInc - couple of definitions i had to modify, and it doesnt pair up with the library you are including, this is presumably due to the original source being the sdk header files, so some libraries and bits and pieces are mashed together or use different filenames that are not the same as the library you are including. Not hugely an issue, but it would be nicer and easier to use if they where named similar to the masm32 package include files.
It might be handy for those looking to develop x64 if there was a one stop package to download everything. The lib files possibly could be sourced from Pelle, assuming he is ok for someone to take them and package them up - which requires someone to ask him if that would be ok. Or perhaps there is already a way to include those libs from somewhere already (assuming there is no issues redistributing them)
I dont know the status of redistributing ML64, so would require someone to check that - i suspect its only to be distributed as part of the Visual Studio and its service packs - and similarly with the linker, library manager and all the dlls that are required for those tools. cvtres seems to be included with a lot of .net packages, but on its own taken from them, can it be distributed? i dont know. Assuming there was a way, that would be handy to include all those in one package.
Including HJWasm would be handy as well, but that would be up to Habran and John to decide if thats cool.
Then that leaves who is to be the curator who can collate all these separate bits and pieces into a package, and where it might be stored.
Lots of questions, not so many answers, but hopefully there is a way to make this happen - fingers crossed. I fear the biggest issue / stumbling block is the redistribution of the ms stuff tho.