VOGONS

Common searches


First post, by XenaPortland

User metadata
Rank Newbie
Rank
Newbie

Hello,

I have a client who is partially successful at using DOSBox to run an old database/terminal application I wrote many years ago. I have tried other emulators (including running WinXP mode under Win7), but nothing works quite as well as DOSBox. That being said, I'm having a serious problem with DOSBox and my application as described below:

1) Due to size limitations, the DOS program I'm trying to run is broken up into four separate executables (TELECOM.EXE, TRAFMAN.EXE, TRAFDBSE.EXE, and TRAFPRNT.EXE).

2) These four separate programs work together, each able to exit entirely and run the next program without the user being aware.

3) During normal program use, the user may jump from TELECOM to TRAFMAN to TRAFDBSE and then back to TRAFMAN and finally return to TELECOM. All the switching happens with one program exiting as it spawns the next program with certain command line options to maintain sync. The user is often not even aware of these switches, it all happens in the background as they select different program options.

4) Unfortunately, DOSBox chokes on this. It will run any individual program just fine, but the moment one exits and it tries to spawn a new program, DOSBox crashes with the message: "DOS: Not enough Memory for Internal Tables".

5) Researching this issue has led me to the conclusion that this is a shortcoming with DOSBox itself, and any solution requires modifying DOSBox (something I have no experience with). I've seen comments about this which note that DOSBox does not release it's "Table Memory" from application to application, and that other users would also benefit from modifying DOSBox to handle this issue differently.

I'm making this post in the hope that either (a) there is a solution already available for this problem and perhaps someone can point me in the right direction to see it, or (b) a developer with extensive DOSBox experience would be interested in earning a reasonable fee for updating DOSBox to overcome this issue. Please reply to this post or contact me through my company website www.detllc.com if you have anything helpful. Thank you!

- Rebecca Taylor
Sr. Engineer, Diamond Edge Technology, LCC

Reply 2 of 36, by XenaPortland

User metadata
Rank Newbie
Rank
Newbie

I see posts that say DOSBox is "only for games" but, to be honest, this seems like a rather strange position for people to take. I'm willing to pay someone to make a change to a piece of software so it fits my needs better ... for whom does it hurt for this to happen?

Doesn't hurt me, my client is happy. Doesn't hurt DOSBox to gain functionality, and perhaps even some games might now work that currently don't. Doesn't hurt the person I pay to make the change, they obviously gain in income and experience.

If I have to I will download the source and make the changes myself. But I have lots of projects on my plate and I thought it might be a good opportunity for someone else with experience developing with DOSBox to earn a few bucks.

Reply 3 of 36, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

The stance is a responsibility denial mostly. Since Dosbox is missing several functions of normal Dos, the developers don't want to be responsible for lost mission critical data. Hence the restriction to games.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 4 of 36, by konc

User metadata
Rank l33t
Rank
l33t

I read that you've tried other emulators, but a) just to make you've tried this solution also b)out of curiosity why it wasn't suitable for you
a setup with for example virtualbox+ms-dos doesn't provide a solution?

Reply 5 of 36, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

And if the other solutions "don't work quite as well" as Dosbox they are probably still working much better with this problem. Have you tried VmWare, Virtualbox, Quemu, Bochs...?

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 7 of 36, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
Synoptic wrote:

I remember back in 2007 I was able to boot dos 5.0 in dosbox. Maybe you can try that if it is still possible.

Yes, many varieties of DOS can be installed and booted in DOSBox. These instructions may be slightly outdated:
Install DOS in DOSBox

It may even fix the problem, but of course the major drawback is that folders can no longer be mounted after DOS is booted, such that it is not clear what advantage DOSBox may have over the solutions Dominus suggested.

Reply 8 of 36, by collector

User metadata
Rank l33t
Rank
l33t

The point that Dominus was making was to discourage the use of DOSBox for business. It is for the sake of the DOSBox team. Remember, the world is a very litigious place.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 9 of 36, by XenaPortland

User metadata
Rank Newbie
Rank
Newbie

Thank you everyone for the replies.

To be fair, the only two solutions I really gave it my all were: DOSBox and WinXP Mode under Win7. DOSBox works except for the issue I described, and WinXP modes works too but it is SO SLOW as to be practically unusable.

VitrtualBox + MSDOS - I didn't actually try this. One limitation I have is that I need access to USB based COM Ports in addition to Virtual COM port support through a package my client uses now called ComIP. Basically they connect to remote data collection units through IP addresses mapped to virtual COM driver. Both DOSBox and WinXP mode supported this (through the host OS). Perhaps VirtualBox + WinXP might be a solution? Thank you for the tip, it's definitely worth a look.

VMWare, Qemu, Bochs - Honestly I didn't try these either. However, they do look interesting and I think they have real potential too.

I did try "Aeon" and "Fake86" without any luck.

I think in the beginning the ideal solution seemed to be DOSBox, so I kind of just stuck with that. It requires no complex setup, I didn't have to install other operating systems (like with the WinXP Mode), and it supported the virtual COM ports and the virtual modem ComIP provides to connect to the remote sites.

It would be just perfect for this except for this annoying "Not enough Memory for Internal Tables" issue. I was hoping someone out there wanted to earn a few thousand bucks to fix the issue and I could spend my time on doing something else 😀

Reply 11 of 36, by dada

User metadata
Rank Member
Rank
Member

I should note that DOSBox is an open source, GPL project. You can hire anyone you want to make the modifications, as long as you follow the terms of the license.

Reply 12 of 36, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Incidentally, have you tried the SVN version of DOSBox already? (The SVN Daum version is preferred.) I can't recall anyone mentioning that it included a fix for the internal tables thing (that's DosBox: Error "not enough memory for internal tables" and how to fight it?    , if anyone else is wondering), but it's worth a shot.

XenaPortland wrote:

I did try "Aeon" and "Fake86" without any luck.

I can't even remember hearing about those before.

Reply 13 of 36, by truth_deleted

User metadata

The problem is the OP is assuming that the "internal tables" error is the only issue. Once running the software inside dosbox, there may be another error. And then this thread will be repeated in some fashion with a more dissatisfied poster. The business software would have to be tested in dosbox for issues, and there is no guarantee there won't be an issue. This is the point made by wd, one of the dosbox authors, and the link is in the 2nd post by leileilol.

It makes more sense to test VirtualBox and other emulators first, in the case of running business software. The OP doesn't just require a systems programmer, but a person to manage the software and its emulation.

Reply 14 of 36, by XenaPortland

User metadata
Rank Newbie
Rank
Newbie

No, I understand that the "Internal Tables" issue may not be the only problem. However, the customer is presently happy with the software running under DOSBox on their system EXCEPT when it crashes as they switch between executables. I (and my client) realize it could be a complete waste of money to fix this issue only to come up against another even more difficult issue.

However, because each executable can be run individually just fine, the client has been able to do extensive testing on the different parts individually and has decided that DOSBox is what they want to use. They just want to be able to go from executable to executable in the way it is supposed to work without having to exit entirely out and rerun DOSBox with the different program in the command line.

When I originally posted I was hoping someone was around/available who wanted to earn some money and had direct experience with the internal workings of DOSBox. My client is willing to pay for this change, understands the risk with open-source software like this, and if there are other problems past that then this is another bridge which will have to be crossed. There's no liability here for anyone ... and after 30 years writing software I never promise anything I know I can't deliver 😀

I'm actually totally surprised that no one has jumped at the chance to do this and earn some money. I expected to have to select from multiple people by this point ... gosh was I wrong!

BTW ... Thank you Jorpho for the note about SVN versions. Unfortunately, I searched through all of them and I couldn't find anything that seemed to indicate someone has worked on this issue. But it was a good idea.

Reply 15 of 36, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Have you also tried booting DOS in DOSBox, as has been repeatedly suggested? That may solve the Internal Tables problem (though it remains that using DOSBox is a Bad Idea).

Reply 16 of 36, by konc

User metadata
Rank l33t
Rank
l33t

Now that you explained in more detail, in my opinion and from a business point of view, virtualbox (or similar virtualization software intended for this use such as vmware)+winxp is the correct way to go.

Reply 17 of 36, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

Wel, taking the money means taking the responsability.

An emulator is a very complex system, and maybe a hidden error may trigger a failure in your software. Or, in worst case, could corrupt your valuable data in a way that corruption remains undiscovered for some time (usually those things are discovered when backups are lost). That's the main reason for not using DOSBox for business, although I know of an architect that used DOSBox to run a structure calculation program.

Also, taking the money mean having to do that corrections in a given time, and you're talking to people that do these things as a hobby. Maybe someone would like to work in that issue, but his work/family/other circunstances prevents him to work on it for hours or release a correction soon.

And, if you (or your customer) are so happy to get DOSBox working... why not hiring a local programmer? I guess that hiring a local programming firm shouldn't be that hard, and a contract would force them to give you results in a given time.

I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...

I'm selling some stuff!

Reply 18 of 36, by XenaPortland

User metadata
Rank Newbie
Rank
Newbie

Thank you again everyone for the helpful suggestions. I'm disappointed no one stepped forward who was willing to take on the project, as that means I will have to either (a) make the changes myself, or (b) talk the client into some other approach instead of DOSBox. I could also hire someone local as Zup suggested, but I truly believed that this forum was the most likely place to find someone with proven experience altering DOSBox already and would therefore be more reliable and quicker to create a solution.

At this point I'm really considering pitching using an alternate emulator + Win XP. However, and this may be a barrier I can't get around, the end customer is a government agency who has pretty strict controls on what can be done to their systems (not to mention IT and security requirements). Any kind of virtualization software that requires some sort of major reconfiguring of the core system OS could be a non-starter. Hopefully there are options out there which don't violate the agencies policies in this way.

Thanks again.

Reply 19 of 36, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Is there something about booting DOS in DOSBox that you do not understand..?
Install DOS in DOSBox

Your apparent unwillingness to consider this option is rather discouraging. This does not require "some sort of major reconfiguring of the core system OS". For that matter, there are "portable" versions of VirtualBox that do not require a separate installation, and which can likewise be used to run DOS.

I'm not sure where you get the idea that Windows XP is a necessity. Why not stick around and ask some more questions, rather than fixating on this notion that someone has to wave a magic stick and fix DOSBox?