Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm creating a GUI for soPDF written in Delphi, but I want to know if soPDF is 16-Bit compatible, because I need to run it in MS-DOS 6.22

Also, can I do this test with DOSBox?

share|improve this question
up vote 4 down vote accepted

You can open the .exe in a text editor and look at the first two letters to tell if it's compatible with 16-bit DOS. According to the Wikipedia article, if the first two letters are "MZ" or "NE" then the program is 16-bit DOS-compatible. However, that's a little misleading. It might only be able to run in 16-bit mode just well enough to tell you, "This program cannot be run in DOS mode." Unfortunately, this is the case with soPDF (open it in Notepad and see for yourself).

Installing Win32s is probably your only hope of getting it to run. However, I'm not sure if you can run Win32s in DOS or if you have to run it from Windows 3.11. I'm also not sure if soPDF has any other prerequisites which have no hope of running even under Win32s.

You should be able to test the program in DOSBox. Although I assume it only supports 16-bit DOS applications, I can't find a definitive answer, so setting up a VMware, VirtualBox, or VirtualPC DOS installation (as David suggested) might be the easiest and most surefire way to test it.

If it wasn't as simple as opening the .exe in Notepad, you could have used DependencyWalker to see if soPDF was a 32-bit or 64-bit app.

Also, if I recall correctly, 16-bit apps run inside a WOW.EXE or maybe WOW16.EXE (Windows On Windows) process, which you should be able to see under the Processes tab in Task Manager if you try to run a 16-bit app on 32-bit WinNT/2k/XP.

Windows 64-bit editions do not include the 16-bit compatibility layer, so I suppose if all else fails, you can assume that your program is either corrupt or 16-bit if it doesn't run on a 64-bit Windows installation.

There's still a chance Win32s will help you out, but I'm pretty doubtful since doPDF was written in 2008, more than a decade after the mainstream death of 16-bit apps. Good luck, and have fun...oh--and don't forget to use your 8.3 filenames!

share|improve this answer

I didn't go into much research regarding soPDF, but if it is a tool made in the "windows era" it is almost certanly not a 16 bit program. There is no "16 bit compatibility" ... you can run lower bit programs in higher bit operating systems, but not the other way around.

Also, are you sure you want to run it in DOS ? Or do you mean cmd ?

share|improve this answer
I want to run it on DOS, not Windows Command-Prompt. – Nathan Campos Dec 29 '09 at 23:21
and you have 16 bit delphi ? – Rook Dec 29 '09 at 23:24
Of course. I have Delphi 1 For Windows 3.11 ;) – Nathan Campos Dec 29 '09 at 23:28
apart from installing dos in a virtual environment, the simplest way would probably be installing some old version of windows and seeing how it reacts when running the program in compatibility mode. if it is truly a 16 bit program, it will most probably give out some warnings and such. – Rook Dec 29 '09 at 23:28
i have dos (lots of versions), and could easily test it for you, if I had a floppy drive anymore :-( wish i could help, really, ... dos being my fav. os ! – Rook Dec 29 '09 at 23:30

The easiest way to do this is to use some virtual machine software such as VirtualBox or VMWare and run DOS in it. Im sure VirtualBox accepts floppy images.

share|improve this answer

According the information in your link, soPDF was built with Visual Studio 2008, so it would be a 32 bit Windows application, since Visual Studio can't build a 16 bit application. If you want a 16 bit version you'll have to download the source and compile it yourself. If you need a compiler you can use Open Watcom. It probably isn't a trivial conversion.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .