I trying to re-compile a very, very, very old Project written for the Archimedes Compiler Version 4. It was created by an employee that is no longer with the company. The Target CPU is a Siemens 80535, an enhanced 8051 CPU, and a single 27C512 EPROM. When I run the MAKE File it calls C:\arch4\bin\c-51 (an .EXE file dated 11/14/1990!). I am trying to compile in a DOS window in Windows 2000. I am told that the orignal programmer used a DOS window in Windows 3.0 for compiling. Any help in how to prevent the "DOS/16M Error: [30] Program must be built -AUTO for DPMI" ERROR Message? This Embedded application has no idea what DOS/16M or DPMI is and could never use that functionality.
Get a DOS boot floppy, if you only need to do it once. For example, http://www.freedos.org - mike
Mike, Great Idea! I have a Dell notebook. I will check it out to see what that involves. Can I stil access (compile from) my C Drive after booting fron Free-DOS ? Greg
If it's NTFS, you are in trouble. If FAT32, recent freedos versions support it. A Win98 rescue floppy could do the job (with FAT32), if you have one of them around. - mike
Mike, The solution was to run c-51.exe in a c:\windows\system32\COMMAND.EXE (MS-DOS Prompt) window and NOT a c:\windows\system32\CMD.EXE (Command Prompt) window. The CMD.EXE file is different enough from the COMMAND.EXE file to cause the DPMI Error in old DOS applications.
Are you sure that's COMMAND.EXE and not COMMAND.COM? COMMAND.COM is the original, MS-DOS, 16-bit command interpreter, complete with 640K limit, etc, etc - that's why it needs an extender; CMD.EXE is the Win-NT 32-bit command interpreter - a completely different animal (although it provides many of the same commands) "This Embedded application has no idea what DOS/16M or DPMI is and could never use that functionality." The error has nothing to do with your embedded application - it is being generated by the DOS/16M kludge; DOS/16M is complaining about your compiler, and suggesting that you rebuild the compiler executable! "'Simple' - now thats funny! :-)" Unfortunately, this sort of thing is almost inevitable when trying to run ancient DOS apps on modern Windows - especially where the nastier aspects of EMS, XMS, etc are involved... :-(
Andy, Yes, you are correct, it is the COMMAND.COM file. I remember that file from the old DOS days (Command.com, Autoexec.bat, Config.sys) I never thought I would be compiling a program using command.com in the year 2003! :-) Yes, CMD.EXE and COMMAND.COM are different enough to cause the C-51 compiler to work on one but not the other. I didn't even know command.com was hiding in c:\winnt\system32\ sub-dir on my Windows 2000 computer. It makes a MS-DOS Icon while CMD.exe makes a C:_\ Icon shortcut. I learn something new every day. I can also get the Compiler to run under cmd.exe if I use this "command /c c-51 ..." I am so happy that it works! Greg