Hi guys,

There is an incompatibility issue with the "File Selection" dialogs of one of our legacy engineering MS-DOS programs. We don't have the source code of the program but I know it was written in Borland Turbo-Basic a long time ago. For years I thought it was a flaw in the FreeDOS compatibility. In fact I found recently this is because the output of the "dir" command is dumped in a temporary text file and parsed by the program in a fragile way. I discovered three requirements for this program to work. The display of the "dir" command must be formatted in a way that :

1 - The file dates must be printed with a 2 digits year representation
2 - The file times must be printed without the AM/PM flag (24 hours 
3 - The thousands delimiter of the file sizes must be a blank space (" ") instead of a 
comma (",")

Honestly, I wouldn't bother with trying to disassemble, decompile, recompile, whatever any of the programs involved because I wouldn't have the necessary tools and settings to reproduce the same programs, only with these small changes and nothing else. I would rather hack the binaries.

In this case, your DOS program could be changed in a few places so that its fixed but FreeDOS-incompatible requirements become fixed FreeDOS-compatible ones. Without having seen your program, I would say that changing requirement:
- #3 is easy;
- #1 is a bit complicated;
- #2 may not be possible.
In the last case, I would hack the FreeDOS command.com also/instead.

These changes would break compatibility between your program and other DOS'es as well as the compatibility of FreeDOS with other programs so they would be only for this very specific setup. You should get a replacement for your program as soon as possible, though. :-)

KOVÁCS Balázs aka Joe Forster/STA; s...@c64.rulez.org; http://sta.c64.org
Don't E-mail spam, HTML or uncompressed files! More contacts on homepage
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Freedos-devel mailing list

Reply via email to