The MASM Forum Archive 2004 to 2012

Miscellaneous Forums => 16 bit DOS Programming => Topic started by: homedoc on July 15, 2005, 05:29:31 PM

Title: Running ML.exe (V6.14) in DOS
Post by: homedoc on July 15, 2005, 05:29:31 PM
Hi, folks,

     I am new to this forum, but not to assembler, which I have been writing since 1969.  My current project is a 12,000 line, 32 bit DOS/4G device driver with a ton of image processing code.  I am working with the Watcom package.

    The problem is that the Watcom debugger for 32 bit DOS extended applications only runs in DOS.  If you try to run it in Windows it hiccoughsa message about not liking DPMI 0.9 in the environment.  In contrast, the newer versions of ML.exe (needed to use Pentium instructions) onlyrun in Windows.  So I keep having to hop back to Windows  every time I make a correction to the code. It is time consuming.

     Anybody got any ideas on how to get around this? Either running ML in DOS, or maybe a Windows-based debugger that will run DOS/4GW apps? 

     Many thanks and greetings,

Dave :lol
Title: Re: Running ML.exe (V6.14) in DOS
Post by: Danesh on July 15, 2005, 09:53:02 PM
Hi Dave,

I am not sure if it helps, but you can write your code in Windows 32-bit assembly (using Windows APIs) and then build it in Console Mode which acts like a DOS program. I think if you have used interrupts (either DOS or BIOS) you have to replace them by using equivalent Windows API function and there seems not to be any other way. Also if you are developing a Device Driver, you may have many direct reading/writing to ports which is not allowed too in Windows and should be implementd in other ways. Well, if you had developed your code in some other languages like C, it would be much easier to port to Windows or any other platforms, but not in assembly.

Regards,

Danesh

Title: Re: Running ML.exe (V6.14) in DOS
Post by: dsouza123 on July 15, 2005, 10:51:43 PM
http://dos32a.sourceforge.net/
DOS/32 Advanced DOS Extender is a drop-in replacement for the popular DOS/4GW DOS Extender and compatibles.
Being fast, small and flexible DOS/32A can be used in many environments, from embedded systems to DOS emulators,
by both developers and end users alike.

http://dos32a.sourceforge.net/wwwroot/www/features.html
It fully supports Watcom C/C++ and can run applications designed for DOS/4GW line DOS Extenders from Tenberry Software.
DOS/32 Advanced is compatible with ... Windows® ME, 2000 and XP.
Title: Re: Running ML.exe (V6.14) in DOS
Post by: Gustav on July 17, 2005, 09:15:30 PM
Hello,

I once tried the hx extender, which allows MASM 6.14 to run in native DOS:
http://www.japheth.de/Download/hxrt.zip




Title: Re: Running ML.exe (V6.14) in DOS
Post by: Xor Stance on July 23, 2005, 04:12:57 PM
Hi I have a question; Can ml 6.14 compile 16-bits? I have the old linker 560 but it doesn't fit all the instructions from the
ms Guide. It will be better to get Masm 6.1, I only got the Masm 6.1d from Windows 98DDK.

I founded a useful information about all the masm 6x series. http://www.cs.binghamton.edu/~sgreene/cs220-2001f/labs/readme.txt

Oops sorry, I read that same link and founded that is being able to compile 16-bits and the guide hasn't changed!
Anyways, anyone knows how to compile 16-bits in ml 6x?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vcerrh2incerrormessages.asp
Title: Re: Running ML.exe (V6.14) in DOS
Post by: hutch-- on July 24, 2005, 11:37:35 PM
I have just downloaded Japheth's dos extender and it looks like a interesting pckage in tha it offers some support for 32 bit PE console mode apps. One of the things I have needed to do from time to time is have a bootable CD that could use 32 bit PE files and it is nearly imposible to do this using Microsoft binaries. Has anyone had a serious play with the dos extender that Japheth has written ?

Char,

ML 6.14 handles normal 16 bit syntax for dos applications with no problems. You normally cannot run it from pure 16 bit dos though and you must use the old linker with it.
Title: Re: Running ML.exe (V6.14) in DOS
Post by: Xor Stance on July 25, 2005, 01:21:18 AM
Yeah, I tried it and an obj file it's created then I can only compile with the old linker. In ml 6.15 it's not recognize, but I have seeing some about 16-bits. Did they remove the 16-bits support forever?

.8086
.Model tiny
USE16

include \masm\


...

I love so much Masm and wanted to have a standard Masm DOS.
Title: Re: Running ML.exe (V6.14) in DOS
Post by: Xor Stance on July 25, 2005, 02:20:26 AM
I was able to compile in 6.15 http://www.geocities.com/xor_stance/ml615.zip I have VCPP5 from VB and PSDK installed, it so damn good. ml .asm and then link but ml wasn't there in that folder.
Title: Re: Running ML.exe (V6.14) in DOS
Post by: MichaelW on July 25, 2005, 06:18:40 AM
Dave,

Have you considered falling back to an earlier version of MASM (6 +) and using macros to assemble the small number of unsupported (Pentium +) instructions?
Title: Re: Running ML.exe (V6.14) in DOS
Post by: Xor Stance on July 25, 2005, 04:23:41 PM
You can verify how to set the environments to be able to compile 6.14 like I did 6.15 or you can ask ms.