Jump to content

Cause and workaround for a 50K file size limit in DOS?


Tripredacus

Recommended Posts

I've run into what is either a file size or address limit with a game that I often use. I had run into this issue many years ago with the same program using actual DOS, but I had figured it was caused by some other limit. I had been running the program again, under that impression, and did not run into the issue again until now. The program allows for entering new data into it, and it gets saved into a file. The size of the original file, and the modified file is the same. DOS reports that size as 50,991. The program allows for the removal of data, however I have found that it doesn't remove it from the file, rather it marks it as deleted. So there is a finite amount of additions that can be made, and previous data cannot be removed easily.

There is no EOF marker that I can determine. I have tried to increase the size of the null portion at the end of the file, but the program just will overwrite the last section anytime new data is input. There appears to be some ID value that is stored, because when the data is overwritten, ghost entries appear in the data viewer. I tried to search for what the possible limitation could be caused by, but not able to find anything helpful. Making a larger data file does not effect the program's operation, so it does not appear to be a filesize limitation.

Here are the details. Main application was compiled with IBM BASIC 2.0. It uses BASRUN20.exe for runtime but no library is present. No source is available. Program currently running in DOSBox with default config. DOSBox has upper memory set at 63Kb as seen in MEM command. Data range start of last entry in data file is c6e9 / 50921. Maximum position of the original file, as seen in a hex editor is c72e / 50990.

Is there some address limit that matches up with this behaviour?

If it is related to the upper memory size, how can I increase this?

Link to comment
Share on other sites


Title:

Quote

Cause and workaround for a 50K file size limit in DOS?

Contents:

15 hours ago, Tripredacus said:

Making a larger data file does not effect the program's operation, so it does not appear to be a filesize limitation.

And likely it is not.

15 hours ago, Tripredacus said:

The program allows for entering new data into it, and it gets saved into a file. The size of the original file, and the modified file is the same. DOS reports that size as 50,991. The program allows for the removal of data, however I have found that it doesn't remove it from the file, rather it marks it as deleted.

Well, you are describing the behaviour of a database with fixed size/fixed number of records, they are not unheard of, particularly on old DOS progams that ran from floppy.

I doubt you can modify the behaviour without modifying the executable that uses it.

jaclaz

Link to comment
Share on other sites

I can't recall the DOS file size limit but PQMAGIC.OVL is 818KB on my PQ Magic floppy disk.  FAT partitions are limited to 2GB so it's somewhere between those two.  Way biger than your 50K file.

Link to comment
Share on other sites

It seems to not be a file size limit relating to DOS, but a size limit set by the application itself. I have given up trying to determine how to increase it. Instead I have been figuring out how the data is stored and I have been making some progress in that. The data is stored in fixed sized regions, so replacing the "deleted" data may end up being easier than trying to figure out how to make the flat file database larger. I may end up posting a topic into the programming section later about it.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...