I have temporarily posted the two different versions of the installation at the 2 following URLs. The main install is for Windows versions from Win2000 upwards, the second is for win9x versions. I still have to do the web pages for the main download referral site which I will have done in a day or so.
www.website.masmforum.com/masm32/m32v9r.zip Release version for Win2000 and later
www.website.masmforum.com/masm32/legacy.zip Legacy version for win9x.
Thanks Hutch, it is appreciated :U
It installed with no problems on my XPHE w/SP2
I will install it on WinME in about 6 hours - 40 minutes.
Paul
Hutch, that's great, thanks :U
Hi Hutch,
www.masm32.com is pointing to masm32 8.2. Thought you might want to know.
I assume a new version is ready to go. Many thanks for all your hard work.
Regards,
JPS
Thanks Jack, I mentioned in the first post that the web page has not yet been done as i wanted any useful feedback before I download the project to all of the different web sites that help carry the bandwidth load.
I had reorganize the Workstation Directory on my PC with the new version,and now i can sit back for 1 cigarette time,satisfied by that :U
Hi Hutch, just FYI but building the libraries still generates some warnings:
Quote from: XP Console
...
adme.def : warning LNK4104: export of symbol "DllRegisterServer" should be PRIVATE
adme.def : warning LNK4104: export of symbol "DllUnregisterServer" should be PRIVATE
...
dtcuic.def : warning LNK4104: export of symbol "DllGetClassObject" should be PRIVATE
dtcuic.def : warning LNK4104: export of symbol "DllRegisterServer" should be PRIVATE
dtcuic.def : warning LNK4104: export of symbol "DllUnregisterServer" should be PRIVATE
dtcuis.def : warning LNK4104: export of symbol "DllGetClassObject" should be PRIVATE
...
Creating library framedyd.lib and object framedyd.exp
input file must have .inc extension
input file must have .inc extension
...
logmgr.def : warning LNK4104: export of symbol "DllGetClassObject" should be PRIVATE
logmgr.def : warning LNK4104: export of symbol "DllRegisterServer" should be PRIVATE
logmgr.def : warning LNK4104: export of symbol "DllUnregisterServer" should be PRIVATE
...
msdtctm.def : warning LNK4104: export of symbol "DllGetClassObject" should be PRIVATE
...
strmbasd.def : warning LNK4104: export of symbol "DllCanUnloadNow" should be PRIVATE
strmbasd.def : warning LNK4104: export of symbol "DllGetClassObject" should be PRIVATE
...
strmbase.def : warning LNK4104: export of symbol "DllCanUnloadNow" should be PRIVATE
strmbase.def : warning LNK4104: export of symbol "DllGetClassObject" should be PRIVATE
...
C:\masm32\include\wsnmp32.lib
C:\masm32\include\wsock32.lib
C:\masm32\include\wtsapi32.lib
Could Not Find C:\masm32\m32lib\masm32.lib
The rest of the installation went smoothly except for the TESTINST. It compiled and ran fine, showing "Installation success" but then crashed at "Offset: 10141FBD." AMD XP 2500, XP Pro SP2. The error is repeatable at the call to DispatchMessageA.
Also note that Pelle.txt lists older versions of POLINK and POLIB. The new versions are 4.00.2 and 4.00.0, respectfully.
whats new in this version? is there any changelog?
Updated my mirror: http://ghirai.com/hutch/mmi.html
Quote from: hutch-- on March 09, 2006, 03:13:36 AM
I have temporarily posted the two different versions of the installation at the 2 following URLs. The main install is for Windows versions from Win2000 upwards, the second is for win9x versions. I still have to do the web pages for the main download referral site which I will have done in a day or so.
www.website.masmforum.com/masm32/m32v9r.zip Release version for Win2000 and later
www.website.masmforum.com/masm32/legacy.zip Legacy version for win9x.
I noticed this version is slightly bigger than the beta version. Should the other version be replaced ?
Hutch,
My installation experience was identical to Mark Jones'. The package is working fine after installation.
Note: I'm running Windows XP Pro SP2.
Mark, Greg,
Thanks for the info on testinst. I can't get it to misbehave on my win2k but its possible that there is some change in how the messaging is set up in xp with late service packs. Could I ask a favour and get you to test a very simple mod on the source file.
Replace the message loop in the Main proc with the following.
jmp @F
StartLoop:
invoke TranslateMessage,ADDR msg
invoke DispatchMessage, ADDR msg
@@:
invoke GetMessage,ADDR msg,NULL,0,0
test eax, eax
jnz StartLoop
All I have added is the jump into the loop instead of falling through the DispatchMessage to see if this is the problem. Just as an additional test, could you test the masm1k example in the exampl08 directory and see if it builds and runs OK ?
For the amount of time it took, I just coded another simple indicator program that shows if the installation has succeeded.
If you have the time, it would be appreciated if you could test it on a machine that showed a fault with the older one.
[attachment deleted by admin]
Hutch,
I assembled a debug version of testinst.asm and stepped through it. You got it right, your replacement code fixed the problem. The problem was happening in the call to DispatchMessage. I believe it was because GetMessage needed to be called before calling DispatchMessage (the MSG structure didn't contain a valid message), which is the case in the new code.
The new testinst.exe you just posted works fine too.
Greg
Thanks Greg,
It has always irked me that Microsoft make changes like this when a fall through first iteration has always worked before on every other version.
Hutch,
They (Microsoft) seem to be making "breaking changes" a lot lately, huh?
Hutch, my results correspond with Greg's. :bg
Hi Hutch.
What can I say? It is MEGA. I assembled all my programs... and they works :dance:.
THANKS. WELL DONE :U, AsmER
Hutch,
The package installed perfectly and my full tree of asm projects assembled perfectly. :clap:
Your effort is much appreciated. :U
Tim
Hutch,
No probs here on XPSP2. Many thanks.
Kindest Regards.
I think Hutch has been kind of busy.
I took me all of 10 minutes to download and install the new 9.0 version.
Seems to be working fine on Windows XP PRO.
Many thanks Hutch for all your efforts.
JPS
Hutch!
A lot of thanks!
Few seconds to download, about 1.5 minutes to install, everything works fine on XP Pro SP2.
:U :U :U
i installed masm 9.00 successfully and my projects were compiled successfully too.
only the installer and link.exe freezed after installation.
but its ok... :U
Install was ok, and I notice one thing; dw2ah is not defined in masm32.inc.
Quote from: diablo2oo2 on March 17, 2006, 10:58:41 PM
i installed masm 9.00 successfully and my projects were compiled successfully too.
only the installer and link.exe freezed after installation.
but its ok... :U
Hey diablo2oo2, is this your page?
http://www.diablo2oo2.*** Edit by P1 [/color]
Google is an amazing thing. If it is your page, you've got some nice toolz there! Keygens, ASProtect CRC sniffer, Universal Patcher, even an e-mailer DLL with attachment support! Nice for breaking apps and spreading worms and viruses... or of course, sending out Sunday-school letters to poor orphans in 3rd-world countries. :bdg
The disclaimer is nice too, "This site doesn't contain illegal stuff. If you think it does write me a mail and explain why..."
Quote from: Mark Jones on March 21, 2006, 06:00:04 PMHey diablo2oo2, is this your page?
Fair question. Is it???
Regards, P1 :8)
Great hutch--
I've updated win32asm.cjb.net with the new version as well... better late than ever eh? ;)
ctt,
You are a gentleman and a scholar. Great looking dog though. :U
Quote from: hutch-- on March 24, 2006, 12:09:07 PM
ctt,
You are a gentleman and a scholar. Great looking dog though. :U
Dunno about the scholar part, but a gentleman i am ::)
And yes, she is a beautiful dog :wink
Hi ctt, you're Iczelion?
Great, I downloaded the new version 9 release, thanks :U
Quote from: MazeGen on March 24, 2006, 04:20:29 PM
Hi ctt, you're Iczelion?
Nope, i'm ctt, Iczel is another guy... :)
Quote from: ctt on March 29, 2006, 09:02:41 AM
Nope, i'm ctt, Iczel is another guy... :)
Thanks for clarification, I was just surprised that his site was updated after four years :thumbu
I have a custom 8.2 install right now, custom because I inserted a files for programming dx9 stuff, so I dont dare to ruin it installing over v9
so what do I miss?(whats new in V9)
Magnus,
Just put it on another partition. I run partitions from C to R and it will install on any of them.
Just uploaded the files on my site as a mirror for Romania / eastern Europe:
www.oby.ro/masm32/m32v9r.zip
www.oby.ro/masm32/m32v9r_legacy.zip
Hutch, I guess you could again add it to your list of mirrors / download locations
Because it is a new stable hosting and can releave some bandwidth.
Bogdan,
Thanks for carrying these, I will update the referral page a bit later today.
hutch, you might also want to update this url: http://www.website.masmforum.com/masm32.htm
Ghirai,
Thanks, I forgot.
I see there are two versions. One for Win9x and one for Win2k+. What's the difference? I guess this is silly, but couldn't there just be a single install and have sort of precompile definitions for one over the other?
Also, right now I'm using lots of things from the Platform SDK. Is that included in the Win2k+ version ... or how would I get into the Platform SDK items with one of these installs?
Microsoft repeatedly break backwards compatibility from version to version and I got tired of trying to fix this across versions from win95b upwards so I made two different installs.
The PLATFORMSDK I downloaded from Microsoft yesterday was 430 meg so NO the 3.5 meg masm32 installation does not include it.
I understand. How can I get to functions like
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/window_station_and_desktop_functions.asp
... because I need to work with Window Stations. Should I make a request to have these added to the windows.inc?
So, how would I then be able to work with the Platform SDK with MASM? I also have downloaded the huge series of files needed for the installation of the Platform SDK and would like to see about creating some learning projects for myself. Sometimes I use headers and libs from the Platform SDK so using those still would be really important.
Thanks again for all of your time on this project. I think it's very important and you are doing good works.
thomas
Hi thomas_remkus,
did you try:
findstr "GetWindowStation" *.*
on the command prompt inside the include directory of masm32 ?
No, I did not try that ::). I thought that all of the definitions for functions were in windows.inc. I'll have to look more.
thx
I've just installed MASMv9 and tried to build my projects. There is
a mismatch of the QUOTA_LIMITS struct between your windows.inc
and EliCZ's NtStruc.inc ... EliCZ defines it as follows:
QUOTA_LIMITS STRUCT ;NTDDK corrected by EliCZ: size must be 20H
PagedPoolLimit DWORD ?
NonPagedPoolLimit DWORD ?
MinimumWorkingSetSize DWORD ?
MaximumWorkingSetSize DWORD ?
PagefileLimit DWORD ?
Reserved14 DWORD ? ;added (probably qword alignment)
TimeLimit QWORD ?
QUOTA_LIMITS ENDS
While windows.inc defines it as:
QUOTA_LIMITS STRUCT
PagedPoolLimit DWORD ?
NonPagedPoolLimit DWORD ?
MinimumWorkingSetSize DWORD ?
MaximumWorkingSetSize DWORD ?
PagefileLimit DWORD ?
TimeLimit LARGE_INTEGER <>
QUOTA_LIMITS ENDS
Apart from that, it works.
Regards,
- key2k3 -
This is what my PLATFORMSDK has.
typedef struct _QUOTA_LIMITS {
SIZE_T PagedPoolLimit;
SIZE_T NonPagedPoolLimit;
SIZE_T MinimumWorkingSetSize;
SIZE_T MaximumWorkingSetSize;
SIZE_T PagefileLimit;
LARGE_INTEGER TimeLimit;
} QUOTA_LIMITS;
typedef QUOTA_LIMITS *PQUOTA_LIMITS;
The ersion in WINDOWS.INC is correct by this definition.
I'm using the masm32 distribution.
hutch,
what am I doing wrong?
@duplicate:
...
; len == 1
; case 1 - JUMP IS TAKEN
mov al, BYTE PTR [esi]
mov cl, BYTE PTR [edi]
cmp al, cl
jz @duplicate
; case 2 - JUMP IS NOT TAKEN
invoke cmpmem, esi, edi, len
jnz @duplicate
Maybe the problem is because len is usually one byte, but can be greater ?..
I made a little test, which required me to write comparison routine (at least experiment was worth something)...
so I was comparing two equal 15byte data buffers, everything was very simple I called each comparison routine 15 times with different length, from 15 to 1, and here ar the results..
111111111111000 - cmpmem...
111111111111111 - my_slow_compare
so it's obvious that cmpmem requires at least 4 bytes data length
my_slow_compare proc uses esi edi src:DWORD, dst:DWORD, len:DWORD
mov esi, src
mov edi, dst
mov ecx, len
@@:
mov al, BYTE PTR [esi]
mov dl, BYTE PTR [edi]
cmp al, dl
jnz @no_match
dec ecx
test ecx, ecx
jz @match
inc esi
inc edi
jmp @B
@match:
mov eax, 1
ret
@no_match:
mov eax, 0
ret
my_slow_compare endp
ramguru,
Thanks for doing the test, as soon as I get time I will have a good look at the cmpmem algo. Here is a byte version that should have some reasonable legs, it will not be as fast as a DWORD compare version but it is alignment insensitive and seems to run OK.
; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
include \masm32\include\masm32rt.inc
; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
comment * -----------------------------------------------------
Build this template with
"CONSOLE ASSEMBLE AND LINK"
----------------------------------------------------- *
byte_compare PROTO :DWORD, :DWORD, :DWORD
.data
item1 db "1111111111111111"
item2 db "1111111111111111"
.code
start:
; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
call main
inkey
exit
; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
main proc
LOCAL bcnt :DWORD
mov bcnt, 16
@@:
invoke byte_compare,ADDR item1,ADDR item2,bcnt
print str$(eax),13,10
sub bcnt, 1
jnz @B
ret
main endp
; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
OPTION PROLOGUE:NONE
OPTION EPILOGUE:NONE
align 16
byte_compare proc src:DWORD, dst:DWORD, ln:DWORD
push esi
push edi
mov esi, [esp+4+8] ; src
mov edi, [esp+8+8] ; dst
mov ecx, [esp+12+8] ; ln
mov edx, -1
push ebp
mov ebp, 1
@@:
add edx, ebp
movzx eax, BYTE PTR [esi+edx]
cmp al, BYTE PTR [edi+edx]
jnz no_match
sub ecx, ebp
jnz @B
match:
mov eax, ebp
pop ebp
pop edi
pop esi
ret 12
no_match:
xor eax, eax
pop ebp
pop edi
pop esi
ret 12
byte_compare endp
OPTION PROLOGUE:PrologueDef
OPTION EPILOGUE:EpilogueDef
; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
end start
i could not install it
i have recieved an error
7z SFX has encountered a problem and needs to close
AppName: finst.exe AppVer: 4.23.0.0 ModName: unknown
ModVer: 0.0.0.0 Offset: f60026ab
wht to do noW??
If ypou are running a late version of Windows disable DEP as version 9.0 was produced before Microsoft changed the specs for PE files. The problem will be solved in the next version.
i use sp2 , but thank U
Sp2 introduced the problem. Just turn it OFF and it should install properly.
the problem did not solve.should i have instaledl something else such as vs2005 before installing masm32?
No, as this is a problem that has been occurring since Microsoft changed the PE specifications, make sure you actually succeed in turning DEP OFF. The SP2 you are using with XP is the problem as it introduced DEP for XP.
milligator,
Here is a link (http://www.tech-recipes.com/windows_tips566.html) about disabling DEP that might help.
thanks for your help.but i did theese all and the problem is un solved;
1. Click Start
2. Select Control Panel
3. Select System
4. Click the Advanced tab
5. In the Performance region select Settings
6. Click the Data Execute tab in the dialog box that opens
7. Select Turn on DEP for all programs and services except for those I select
8. Click Add.
9. The open dialog box will open. Browse and select your application.
10. Click Open
11. Click Apply
12. Click Ok
13. Reboot
millifgator,
I think the best option in this case is to "Turn on DEP for essential Windows programs and services only".
These steps are for XP SP2.
1. Click Start
2. Settings
3. Select Control Panel
4. Select System
5. Click the Advanced tab
6. In the Performance region, click Settings
7. Click the "Data Execution Prevention" tab in the dialog box that opens
8. Select "Turn on DEP for essential Windows programs and services only"
9. Click OK
10. Click OK
Hi
I am a beginner in all programming. I just downloaded the servicepack 2 of masm 9.0. And why i can't update the files in masm/m32lib folder. What i mean is that, whenever i doubleclick the make.bat all the files(excluding folders) in my masm folder is deleting.
Sorry if itsn't the place to post this.
DavidJohn
It's been a while, so I did a fresh download of the service pack and installed it over a copy of my masm32 directory, following the instructions in README.TXT, and everything worked just as it should. Are you sure that you are following the instructions correctly?
Oh i am extremly sorry, it was my misunderstanding that masm32\m2lib is used to create the entire
masm32\lib directory. Now i know it there for the masm32.lib only. Eventhough i got new masm32lib,
the make.bat file doesn't create any new masm32.lib
My masm32 is in C drive and when i start the bat file it will show
could not find C:\masm32.lib
c:\masm32\*, Are you sure(Y/N)
When i press no, it will show a message such as
MASM : Fatal errot A1017 missing source filename
LINK ERROR BUILDING LIBRARY
The MASM32 Library was not built
..........
........
........
and when i press yes, then the same error shows again + deleting the masm32 files(not folders)
Sorry if its due to my bad usage of .bat files. I don't have any experience with it.
DavidJohn
Although I can't find any explicit statement of this, the service pack is for installation over a working version 9 installation. If you have not done so, you need to download and install the appropriate version before you install the service pack. See the first post in this thread.
I am using a masm9.0 downloaded when it was released 1 and half month ago. Leave it the problem, now i have new masm32.lib and the rest of the servicepack can be done manually. Thanks for looking into my problem MichaelW.
DavidJohn
David,
Just make sure your machine is not set up with hardware DEP enabled, the version 9 installation was written before the DEP technique was released by Microsoft and it does not work correctly under it.
If this has been the case, once you turn it off run the original masm32 version 9 install, make sure all the libraries are built and then manually install the service pack to get it all up to the latest available.
Quote from: hutch-- on August 26, 2007, 12:48:52 AM
If ypou are running a late version of Windows disable DEP as version 9.0 was produced before Microsoft changed the specs for PE files. The problem will be solved in the next version.
I was affected by that problem some months ago, but could find at least a workaround due to your quick help. Now I'm awaiting the next version. When is the next version to expect?
kind regards
MoreBits