Tripredacus Posted July 27, 2019 Posted July 27, 2019 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?
jaclaz Posted July 28, 2019 Posted July 28, 2019 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
aoresteen Posted July 29, 2019 Posted July 29, 2019 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.
Tripredacus Posted July 30, 2019 Author Posted July 30, 2019 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.
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now