We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you a podcast all about Citrix Workspace, moving to the cloud, and analytics & intelligence. Episode 2 coming soon!Listen Now

x

Extended filename file operations programming in DOS mode

tkonan
tkonan asked
on
Medium Priority
339 Views
Last Modified: 2010-04-16
I want to be able to copy FAT16/FAT32 files created in Win9x after booting to DOS with a DOS boot disk or Console Mode using a Win9x boot disk. This is primarily for upgrading hard drives in Win9x PCs. I think it is possible but not sure what tools to use to create such a program. My efforts so far have resulted in problems like (i) only 8.3 filenames supported, & (ii) program developed in Win9x IDE will not run in DOS mode. Any comments appreciated.
Comment
Watch Question

Commented:
For pure DOS, you'll need 16-bit real-mode code.  There may be others, but the only compiler/linker I know of that's readily available for that is Digital Mars:

http://www.digitalmars.com/

Pay special attention to the 16-bit guidelines:
http://www.digitalmars.com/ctg/win32programming.html#win16

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
Yeah thanks for that cookre. Will get to it when i can.

Author

Commented:
So are we talking about using the C/C++ or D compiler?

The license agreement says that the C/C++ compiler is 'not designed to operate after December 31, 1999', 'has not undergone testing' and also that 'It may be incomplete and it may not function properly'.

I guess that means i'd better include a verify command in my application.

:/

Commented:
My guess is they didn't want to deal with Y2K.

Author

Commented:
ok. do you know if it is possible to use msvc++ to create this app?

Author

Commented:
version 6 that is

Commented:
Alas, the last 16-bit compiler from MS was VC 1.52

Try this one - it claims to generate 16-bit code:
http://www.openwatcom.org/index.php/Main_Page

Author

Commented:
i am guessing 'real-mode' means a program that fits into the 640K memory block and therefore would need to specify a compatible memory model. However, when i do this with digital mars C/C++ compiler, the linker tells me a library is missing. Does this mean I would only be able to do it with the full version? could i not just specify the memory model in the ms linker?

Commented:
You would normally specify the memory model to the compiler, either with a command line option or a #define.

Unfortunately, it would appear that the documentation is only on the CD version.

Commented:
I found this old thread:
http://www.experts-exchange.com/Programming/Q_20666684.html?query=%22digital+mars%22&clearTAFilter=true

compiler option -ml for large memory model, -ms for small.




If you can't get DM working, try DJGPP:
http://www.delorie.com/djgpp/


Author

Commented:
i think the memory model also may only be on the cd version
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.