News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

MASM32 on Vista

Started by P1, May 25, 2007, 01:39:13 PM

Previous topic - Next topic

P1

Though I am waiting for my Vista system, I just began to wonder if MASM32 installs and runs on Vista?

I have had software vendors tell their re-writing applications, so as they run on Vista.  Plus, I understand the VDM on Vista is a lot stricter to old software.  But I always knew ML.exe to be one of the better behaved programs for DOS.

Any field reports?

Regards,  P1   :8)

hutch--

The current version won't due to DEP but the next version will not have that problem as I diagnosed what the problem was some time ago. I have the replacement binaries posted in the masm32 sub forum and at the moment about the only way it can be done would be to install it on XP or earlier, update the exe files with the DEP compatible ones then copy the entire directory tree across to a Vista box.

As it becoems more pressing I will make a SFX version that has the replacements done.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

japheth


> But I always knew ML.exe to be one of the better behaved programs for DOS.

> Any field reports?

No, but I have 2 questions:

1. How do you get the idea that ML.exe is a DOS program?

2. I understand that advertising for such a bullsh*t like Vista is absolutely necessary, but why must it be the moderator of an ASM board who does this job?




hutch--

 :bg

I suggest that having to suffer Vista is a different phenomenon to actually supporting it. Many commercial programmers have to make the effort as some of their customer base will start using Vista sooner or later. If I remember correctly XP was a pig when it was first released and over time Microsoft fixed it so it was a more or less reliable version.

If they don't fix it they run the risk of it being an orphan like ME was. The other factor is there is little reason to develop later 32 bit OS versions as 64 bit hardware is starting to become available in reasonable numbers now. Unless they make Vista more compatible and usable, there is no reason to waste the money when both XP and win2000 work fine.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

P1

Quote from: japheth on May 25, 2007, 02:27:10 PM1. How do you get the idea that ML.exe is a DOS program?
Ok, my bad.  I have never needed to look at this tool that closely.  It runs in a batch file, does not mean it's a DOS program.  It's a MZ PE, just like the ones I produce.  Touché  :8)  In my defense, that's when I first used ML.exe in DOS.  Assembly on one floppy(320/360K) with output going to another floppy on a 128KB 8088 at 5MHz.  Humn, I need to update the help file on this old wet computer of mine.

Quote from: japheth on May 25, 2007, 02:27:10 PM2. I understand that advertising for such a bullsh*t like Vista is absolutely necessary, but why must it be the moderator of an ASM board who does this job?
I am a victim of M$ propaganda sold to corporate users.  Seeing that the corporate users hold my leash and jerk it when I don't behave.  I am left no other choice to heel or go run away.

As a ministry to other programmers who are caught in this war of wills as well.

Our Art is for every gallery of OSes.  It's the enjoyment of our situation, to be creative with our craft.

What I find strange is, I know you have been caught in between what you want versus what they wanted.  Who won?

Regards,  P1   :8)

P1

#5
Quote from: hutch-- on May 25, 2007, 02:48:49 PMUnless they make Vista more compatible and usable, there is no reason to waste the money when both XP and win2000 work fine.
The day they stop supporting W2K, will be a sad day for me.  Maybe I should start version lying tool for stuff loaded on other family Oses.  i.e.  My son has mp3 player software that only loads on WXP or better.  We have W2K around the house.  I just could not see why they would do that on shell 5.X code.  W2K=5.0, WXP=5.1, W2K3=5.2

Quote from: hutch-- on May 25, 2007, 02:21:51 PMAs it becomes more pressing I will make a SFX version that has the replacements done.
I started on a msi version for you, but got distracted from it.

Is that something we wish to pursue?

Regards,  P1   :8)

MichaelW

QuoteHow do you get the idea that ML.exe is a DOS program?
The ML.EXE that shipped with MASM 6.0b, and probably all 6.0 versions, is a DOS program. This was the first version of ML that I used. Here is what it displays when run with an empty command line:

Microsoft (R) Macro Assembler Version 6.00B
Copyright (C) Microsoft Corp 1981-1992.  All rights reserved.

usage: ML [ options ] filelist [ /link linkoptions]
Run "ML /help" or "ML -?" for more info

And here is a dump of the first 256 bytes:

00860048  4D 5A DA 00 E9 01 A6 07 - 00 02 CC 12 FF FF AD 3D  MZ.............=
00860058  00 22 B3 17 30 12 00 00 - 40 00 00 00 01 00 00 00  ."..0...@.......
00860068  02 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
00860078  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
00860088  74 02 FB 02 37 02 FB 02 - 22 02 FB 02 75 01 FB 02  t...7..."...u...
00860098  67 01 FB 02 41 01 FB 02 - 15 01 FB 02 AC 00 FB 02  g...A...........
008600A8  60 00 FB 02 3A 00 FB 02 - 10 03 FB 02 FF 02 FB 02  `...:...........
008600B8  B3 02 FB 02 13 02 D3 12 - 76 01 D3 12 24 01 D3 12  ........v...$...
008600C8  CD 00 D3 12 68 02 D3 12 - 1A 04 FB 02 09 04 FB 02  ....h...........
008600D8  F8 03 FB 02 CD 03 FB 02 - A2 03 FB 02 61 03 FB 02  ............a...
008600E8  49 03 FB 02 31 03 FB 02 - BE 05 FB 02 98 05 FB 02  I...1...........
008600F8  29 05 FB 02 EB 04 FB 02 - 8F 04 FB 02 7E 04 FB 02  )...........~...
00860108  4A 04 FB 02 3F 04 FB 02 - FE 07 FB 02 E3 07 FB 02  J...?...........
00860118  D1 07 FB 02 95 07 FB 02 - 6C 07 FB 02 50 07 FB 02  ........l...P...
00860128  19 07 FB 02 F0 06 FB 02 - CD 06 FB 02 C3 06 FB 02  ................
00860138  7E 06 FB 02 6C 06 FB 02 - 5C 06 FB 02 EC 05 FB 02  ~...l...\.......

Compare to the same for a later version 6.14:

00860048  4D 5A 90 00 03 00 00 00 - 04 00 00 00 FF FF 00 00  MZ..............
00860058  B8 00 00 00 00 00 00 00 - 40 00 00 00 00 00 00 00  ........@.......
00860068  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
00860078  00 00 00 00 00 00 00 00 - 00 00 00 00 D8 00 00 00  ................
00860088  0E 1F BA 0E 00 B4 09 CD - 21 B8 01 4C CD 21 54 68  ........!..L.!Th
00860098  69 73 20 70 72 6F 67 72 - 61 6D 20 63 61 6E 6E 6F  is program canno
008600A8  74 20 62 65 20 72 75 6E - 20 69 6E 20 44 4F 53 20  t be run in DOS
008600B8  6D 6F 64 65 2E 0D 0D 0A - 24 00 00 00 00 00 00 00  mode....$.......
008600C8  9B D2 5E 02 DF B3 30 51 - DF B3 30 51 DF B3 30 51  ..^...0Q..0Q..0Q
008600D8  DF B3 31 51 9F B3 30 51 - BD AC 23 51 DC B3 30 51  ..1Q..0Q..#Q..0Q
008600E8  37 AC 3B 51 DE B3 30 51 - 5C AF 3E 51 CB B3 30 51  7.;Q..0Q\.>Q..0Q
008600F8  DF B3 30 51 DC B3 30 51 - 37 AC 3A 51 42 B3 30 51  ..0Q..0Q7.:QB.0Q
00860108  52 69 63 68 DF B3 30 51 - 00 00 00 00 00 00 00 00  Rich..0Q........
00860118  00 00 00 00 00 00 00 00 - 50 45 00 00 4C 01 04 00  ........PE..L...
00860128  BF 2C 00 37 00 00 00 00 - 00 00 00 00 E0 00 0F 01  .,.7............
00860138  0B 01 06 00 00 10 04 00 - 00 E0 02 00 00 00 00 00  ................


eschew obfuscation

hutch--

I think from memory that the last true dos MZ version was 6.11d. I remember running a patch on it from Microsoft and it would not run in DOS any longer which I think was 6.12. Everything else from there up has so far been 32 bit PE files.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

japheth

> The ML.EXE that shipped with MASM 6.0b, and probably all 6.0 versions, is a DOS program.

It's rather inevitable that older MASM versions were true DOS programs - since MASM existed long before PE was invented. But I bet that P1 does not use such an old version (which all suffer - at least - from the very annoying "line too long" bug).

The v6.11x versions were Phar Lab TNT binaries, that is, PE binaries being able to run in both Win32 and DOS.


MichaelW

My point was that it would be easy for someone who started with an early version to assume that ML was still a DOS program. I knew the later versions were not only because at some point I became curious and took the time to check.

I had seen the Phar Lap and TNT in version 6.11, but until now I didn't know what it meant.

eschew obfuscation

hutch--

I have a copy of masm 6.11 installed on my box and it certainly ran in 16 bit real dos with no dos extenders. I remember the very poor expanded memory in masm 6.11 but it was for the PWB, not the ML.EXE version supplied with masm 6.11. The version I am referring to is the last boxed version of MASM from Microsoft.

They did release a few weird and wonderful versions on the way through but the patches for ML of version 6.12 onwards were 32 bit PE files.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

P1

Quote from: japheth on May 26, 2007, 10:00:24 AMIt's rather inevitable that older MASM versions were true DOS programs - since MASM existed long before PE was invented. But I bet that P1 does not use such an old version (which all suffer - at least - from the very annoying "line too long" bug).
Your Right, I don't use the true DOS versions any more.  Which was your point.  I have buried around here, two versions before 5.0, 5.0 and the last retail version M$ sold as well 6.11.  Unless, you have something else to point out here? 

Michael is right as well, I got started on a DOS version.  It was just an assumuption my part, that keep me at that level of retension of knowledge.

So even as experienced programmers, we need to stay current with our tools ( OSes are tools, as well. ), techniques and knowledge of what we do for others. 

May others be so kind with your errors and faults, and be as humble to admit them.

Regards,  P1   :8)

ridgerunner

Quote from: japheth on May 26, 2007, 10:00:24 AM
The v6.11x versions were Phar Lab TNT binaries, that is, PE binaries being able to run in both Win32 and DOS.

True! ML.EXE versions 6.11 and 6.11d are both 32-bit PE executables. And they are both DOS 16-bit executables as well. In this case, the DOS stub program embedded in the beginning of ML's PE is actually a very useful program (when run from DOS that is!) Version 6.12 and beyond have useless (albeit tiny) DOS stub programs.

You can embed pretty much any DOS program you like into a PE file, but the DOS program must be built with the (undocumented) /KNOWEAS linker option. This option modifies the resulting DOS MZ header to a format that the 32-bit linker will accept with its /STUB option (i.e. /KNOWEAS changes the MZ header byte offset to the relocation table to be 64).

Yes there are some of us who still have reason to run DOS on occasion. And for those of us that do, for some applications (command line utilities), it can be useful to write a two-in-one program that runs in both 16 and 32-bit modes (compile both a 16-bit and 32-bit version, but embed the 16-bit version into the stub of the 32-bit one).

p.s. Hello all, I'm new here!

GregL

I am running MASM32 with all the latest updates on Vista Home Premium and it works fine. I just copied the MASM32 directory over from my XP system. I haven't extensively tested it but it's working fine. I downloaded the DEP update but I haven't needed it so far.




hutch--

Thanks Greg,

That is useful to know as sooner or later I must do an upgraded version of masm32 for DEP and any of the later stuff that has been developed.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php