VOGONS


Allocating heap memory

Topic actions

First post, by Mitja

User metadata
Rank Newbie
Rank
Newbie

Hello!

Is there a way to allocate heap memory? I'm using old DOS programs (written in Borland Turbo Pascal) and someone told me enough heap memory should be allocated. Programs start running, but freeze in the process and DOSBox stops responding.

What should I do?

Reply 1 of 7, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

could you upload those programs ?

Water flows down the stream
How to ask questions the smart way!

Reply 2 of 7, by Mitja

User metadata
Rank Newbie
Rank
Newbie

I could, but that would be violating their license, because they're commercial. Besides it's not just one exe, there's 2 more exes, a .bat file and a bunch of other files that need to be correctly placed in directories in order to run the main application properly.

I can send just the exe that freezes, but it will complain about another program not running and you won't be able to reproduce the error.

Do you still want it?

Reply 4 of 7, by Mitja

User metadata
Rank Newbie
Rank
Newbie

Thanks for the link. The new exe didn't help, however. The developers said programs should work on 32-bit XPs in plain console without DOSBox. So I'll probably switch OSes. I'm using 64-bit XPs at the moment.

Reply 5 of 7, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Can you try it also with dosbox+32bitXP?

And before starting the program, type loadfix,
and play around with the ems/xms switches in
dosbox.conf, maybe that changes something.

Reply 6 of 7, by eL_PuSHeR

User metadata
Rank l33t++
Rank
l33t++

I think heap allocated space is defined by a directive in the Turbo Pascal source code. To change it, you probably need to recompile those programs.

Intel i7 5960X
Gigabye GA-X99-Gaming 5
8 GB DDR4 (2100)
8 GB GeForce GTX 1070 G1 Gaming (Gigabyte)

Reply 7 of 7, by jal

User metadata
Rank Oldbie
Rank
Oldbie
eL_PuSHeR wrote:

I think heap allocated space is defined by a directive in the Turbo Pascal source code. To change it, you probably need to recompile those programs.

When I programmed in TP, I reduced the heap to near-zero, and then allocated heap-memory through DOS-calls. This way I could write that memory to a file (or just releasing it, depending on the program) and then release it, when I let the user shell to DOS. Thus, the user had more memory available. My point being that from TP you had quite some control of the level of memory mangement.

JAL