Link to home
Start Free TrialLog in
Avatar of gato-san
gato-san

asked on

Stack overflow in old DOS program under Windows XP

I use an old DOS based engineering calculation program named ESTRUCT.EXE using the DOS console under Windows XP professional SP2/3.

If I reinstall WIndows XP the application runs fine. But after some time, perhaps after doing something else, the program returns an error:

(C) Copyright 1985-2001 Microsoft Corp.

D:\UTILS\ESTR>estruct

? Error: stack overflow
  Error Code 2000
PC = 25AC: 122E; SS = 23A8, FP = 000C, SP = 2580

D:\UTILS\ESTR>

I already modified the CONFIG.NT and AUTOEXEC.NT. Also, I tried restoring the files from c:\WINDOWS\REPAIR.

It seems to me that something changes in Windows. So far only a reinstall works for me but that is too much work.

Any ideas on what could possibly be happening?
Avatar of Justin_W_Chandler
Justin_W_Chandler
Flag of United States of America image

1) Right click, properties, compatibility tab, enable compatibility mode
2) Try running the application with the 16bit COMMAND.EXE command interpreter.
3) Install MSDOS or Windows 9x on a virtual machine (MS Virtual Machine and Sun Virtual Box are both free)
Avatar of SysExpert
Other options, turn on restore points in XP, and restore to a previous point that worked OK.

Also there is a program called apcompat that helps with DOS settings.

I hope this helps !
ASKER CERTIFIED SOLUTION
Avatar of gato-san
gato-san

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I hope that by modifying the memory pointers you do not skew the required results. If it turns out that this was the appropriate solution then congratulations and good job!
Avatar of gato-san
gato-san

ASKER

I compared with several old outputs. All features seem to be ok.
Good job, nice find