Ok, with some windiff fiddling and batch files, I managed
to update only the files that are already in masm32, and
keep the files in masm32 that aren't in psdk. The results
aren't overwhelming, but then again, a 4 megabyte isn't
too shabby.

before: 19,1 megabyte.
after: 15,3 megabyte.

Now, what I had *not* expected, is that when compressed,
the new libs are a tiny little larger - 122kb. Weird.
However, archiving the examples as one big solid rar file
brings them down from ~1019kb to ~728kb.. A ~291kb improvement,
Which makes up for the extra overhead of the new libraries
(which, remember, are a 4 megabytes smaller when installed!).

Remember, I'm trying to help, it's not to annoy you ;).
If I don't compress the libraries nor examples (but leave
everything else as they were (libraries upgraded to new
versions)), rar solid+best compression with a 1024kb dictionary
and the default SFX module gives me an install file that is...
(waiting for it to finish, dum di dum...) 5411kb. Hm. Larger
than your original... now that's weird, defies my logic...
perhaps the dictionary got swamped. Trying again with all
exapmles rared into an example.exe: down to 5274kb.

With the libs also rar'ed up before the main archive is
created, the filesize goes up to 5278kb.

Oh well, seems like I was wrong then :(. Sorry hutch. But
still... a 16kb additional download to save 4 megs when
installed, plus the benefit of having the newest libraries?
Wouldn't that be great? :).
Posted on 2001-11-27 16:50:24 by f0dder
VirtualSize > RawDataSize usually means the section is compressed.
Could also be used if your section ends with a lot of zeroes (dunno
if any linker does this), and is definitely used for BSS sections
(RawDataSize = 0).
Posted on 2001-11-27 16:58:17 by f0dder

I use an unpublished EXE compressor on most of my binaries to improve the load time. From my testing even small EXE files load faster when compressed than left to the assembled disk order. The other thing is with small EXE files, I prefer them loading in memory without paging.

The compression technology was developed by Jibz and it is a very reliable and mature technology which I have had no problems with at all.


Thanks for doing the testing but I have done this stuff before, I support up to win98 as I have a method of testing it so I supply the win98 sdk libraries. The problem is selecting what libraries to use and what to leave out, the whistler edition I have here on CD is a larger collection of libraries and what one person will never use is desperately needed by another.

If I was going to supply the whistler edition libraries, it would be all of them but they are only useful to people who are running win2k/ME/XP while most people are still running 9x.

Anyone can buy the platformsdk on a CD for the shipping price so if they need the later stuff, its no big deal to get them and make a set of include files to match.

I am not sure what you mean with the format of the libraries in MASM32, they are as supplied in the platformsdk, compressed in winrar, decompressed at installation and ready to use.


Posted on 2001-11-27 19:24:04 by hutch--

I am not sure what you mean with the format of the libraries in MASM32, they are as supplied in the platformsdk, compressed in winrar, decompressed at installation and ready to use.

Well, your install app certainly doesn't decompress neither libs
nor examples. I have .exe files in the example* folders and the lib

As for the format, there are (at least) two formats of import libraries.
The old/big format has all the information so the linker doesn't do
anything but pull stuff in. The new (small) format only has the
necessary stuff, which the linker uses to build the .idata section.
As I wrote in the previous post, there was a 4meg saving by
switching from the old format to the new format. That's why I wanted
you to include the latest libs instead of the old libs, even if you only
upgrade the libs masm32 already has.

It doesn't really matter to me as I only use the platformsdk libs,
but dialup users (who might even have a tight enough financial
situation to not want to pay the shipping for the platformsdk :))
would probably appreciate it. Oh well.
Posted on 2001-11-27 19:39:12 by f0dder

Thanks for making sense of what it was about, the installation tests on win95b, win98se and winNT4 (sp6a) and it deletes each compressed EXE after it is run so on the 3 Windows versions I test on, there is no EXE files left after they have been run.

I think from memory that you run win2k so if you do not have some strange settings that prevent the files from being deleted, it sounds like another bug in win2k.

Not much I can do about that as I don't run it and don't support win2k at all.


Posted on 2001-11-28 00:04:45 by hutch--
"another bug in 2k". The files aren't deleted. They aren't even extracted. I don't have any strange settings, no. How do you go
about running the self-extracting exes, and even more important,
how do you wait till they terminate?
Posted on 2001-11-28 00:08:26 by f0dder
Hmmm.. Its so nice to sit on a fence post and watch a modest genius impose a better way of lining up bits and bytes to a Cranky Old B*st*rd. :grin:

Posted on 2001-11-28 00:35:27 by NaN
For those who are interested in the latest lib files from platform SDK, they are all there... (around 2 MB) :


Enjoy !
Posted on 2001-11-28 00:51:15 by JCP
Asside from mocking the management :),

I would like to add some comments about the package:

    [*]Hutch - thanx for including the *.zip as well as the unzipped (surprised a bit).
    [*]Zadkiel/E?in - Good idea for the GDI tutorial, wish i had it to start with.
    [*]Ewayne - Very Kool regdemo tut (like the format) alot! && The menu demo program is a true asset!
    [*]Hitchhikr - Cool OpenGL example (impressed at its coded size)
    [*]Vladimir Kim - WOW! First true look at the debug stuff **impresive**
    [*]Sami Paju - The Desktop Icon trick is something i've wanted for Eon's, thanx!
    [*]Others not mentioned, thanx for your contributions... I learn best studying from the imagination of others.

    I cant wait till the next box o' tricks is to be released. However im surprised the docking windows example by KetilO was never submitted. Likewise, its my oppinion that there needs to be *some* FPU stuff to make the package complete. Zadkiel/E?in's three tutorials would have made an exellent asset as well.

    However, good work Hutch.
Posted on 2001-11-28 01:46:24 by NaN
I have Win2k here at work, and MASM7 installed like a breeze. The includes and libs are there, decompressed and no exe in there.

'Bye, Kefren
Posted on 2001-11-28 02:47:28 by kefren

How do you go about running the self-extracting exes, and even more important, how do you wait till they terminate?

Normal synchronous operation, assembler code version in MASM32 library called "shell". The installation is written in PowerBASIC which uses the same technique.

I would be interested to see if anyone else was getting the same problem in win2k, this installation works perfectly in NT4 sp6a so I am somewhat surprised at what is happening on your own box.


Thanks for the confirmation, it sounded unusual so i guess f0dder has a problem with the box or the Danish version does something very different that I am not aware of.


I would like to see some of Ketil Olsen's code in MASM32 because his work in RadAsm is very impressive and i think many people would appreciate his work.

Still, I am slightly brain dead at the moment (different from senile decay) so maybe the next service pack can do some stuff like that.


Posted on 2001-11-28 03:01:39 by hutch--
Drink some single malt, you'll still be brain-dead but at least it will be pleasant :grin:
Posted on 2001-11-28 03:06:49 by Hiroshimator

What do you think MASM32 was built on ? :tongue:


Posted on 2001-11-28 03:14:02 by hutch--
Installed it a second time, and now stuff unpacked as it's supposed
to do. Dunno what happened the first time. I'm pretty puzzled to
say the least. I'll have to find something else to gripe about then,
let me see... ah yes :D. *progress indicator*, that would have been
nice (okay, so your caption updates, but... that's not really enough).
At least make the window moveable while the extraction is going on.
(Don't tell me it already is and that it's just me who's b0rked).

Oh well, keep up the good work hutch. Even if the install is a bit
primitive and you don't want to upgrade the libs, it's still a good
Posted on 2001-11-28 06:58:47 by f0dder
Hutch, you can check out KetilO's work from this thread, the download is still active.

Posted on 2001-11-28 08:12:01 by NaN
f0dder, maybe you talk too little to your PC. It's what keeps Windows together, the talking. Something like plants. You talk to them, they grow faster. You talk to your PC, it works. You don't, it does not. You insult it, maybe it will work again, maybe it will crash completely, perhaps even with hardware damage. :)

You may laugh at me, but hear this story:
I had the great idea to flash my MB bios. I know it's never a good idea, but periodically i get caught into it.
So, everything worked, then it said: Flash comleted and successful. Now, shut off you PC, and clear the CMOS via the jumper on the MB, as stated in the manual. Thanks"
I told to myself: "Pfui, it's superfluos. It is something they say, but that's not really needed. I will reboot, and load CMOS defaults."
Well, it did NOT reboot. Only a BEEEEEP!! and everything black.

Oh, my! Where is that jumper? And more, where is the manual?
I could not find the manual, and I tried some jumpers at a random base. Well, it always works in the movies, doesn't it?
BEEEEEPPP! Yes, but it never works in the real life.

I could do nothing for it, almost started crying, and while I was looking for the jumper, I started to prey my PC.

Well, believe it or not, it BOOTED on its own. I mean, it was switched off, and then it switched ON BY ITSELF!!!!
And more, it booted!!!!

Always talk to your PC, to show him who is the one that actually commands.

Him, of course.

'Bye, Kefren
Posted on 2001-11-28 11:06:23 by kefren

I am glad you got it going OK. The install is by no means "flash" but it does what I am after and that is the capacity to use the best compression method available from winrar in a single installation.

Any other compression method is some megabytes bigger and that is a problem in terms of download size, bandwidth and web space. It actually installs reasonably quickly for a package that expands up over 25 meg so it does more or less what I am after.


Posted on 2001-11-28 14:48:02 by hutch--

Thank You for Your great and excellent job!:alright:
Posted on 2001-11-28 23:48:00 by vkim
I was wondering:
you call the new realease Masm32 v7. But the bin files are the same : ml.exe is version 6.14, not the 6.15 and even not the 7.

I thought that it would be a real new version. However it works correctly.

Real good job, thanks for that.:alright:
Posted on 2001-11-29 05:26:46 by Vom-bonjour:-()
Vom, masm32 != masm :). Masm32 is hutch's package, and versionned
as he makes new releases. masm is the assembler. I can see why
this can be confusing ;).
Posted on 2001-11-29 11:11:53 by f0dder