16-bit compatibility problems?

S

Stubby

I use a little database program that has an old Paradox engine in it.
This is a 16-bit program that runs on Windows. It used to work fine on
Win 3.1 but Win2K seems to make it crash very occasionally, perhaps once
a month. This has been noted on several different machines, Pentium and
AMD CPUs, different amounts of physical memory and speeds, etc.

I'm wondering if Win2K and following has some old, dark corner concerned
with 16-bit apps that has been ignored. Maybe a victim of a missing
lock on multiple processes or an interrupt (i.e., timing) problem.

Thoughts?
 
D

Dan Seur

More than likely the old DB engine, under some occasional circumstances,
attempts to manipulate some hardware directly which it could safely do
in a DOS environment...but cannot do in the NT-class "virtual machine"
protected environment. NT, W2k, et seq will kill such a process
instantly, by design, for the safety of other multitasked processes
including the system itself. This is a virtue. :)

Another way of saying this is that the DOS simulator in NT-class systems
is designed to support only well-behaved DOS apps. Well-behaved is
defined as software that uses standard DOS calls for ALL functions.
Clever machine-language coders long ago discovered that performance can
be significantly improved by NOT using DOS calls - and this clever code
is what gets trapped and killed in newer systems. Compute-intensive DOS
code, like good DB code, is a prime candidate for this sort of thing.
 
S

Stubby

Thanks, Dan. I believe you nailed it. What I really like about this
little phone book app is that it is very fast and very small, not to
mention it only cost $9.99. I dread the idea giving it up and finding a
stable program.
 
D

David H. Lipman

From: "Stubby" <William.Plummer*NOSPAM*@alum.mit.edu>

| I use a little database program that has an old Paradox engine in it.
| This is a 16-bit program that runs on Windows. It used to work fine on
| Win 3.1 but Win2K seems to make it crash very occasionally, perhaps once
| a month. This has been noted on several different machines, Pentium and
| AMD CPUs, different amounts of physical memory and speeds, etc.
|
| I'm wondering if Win2K and following has some old, dark corner concerned
| with 16-bit apps that has been ignored. Maybe a victim of a missing
| lock on multiple processes or an interrupt (i.e., timing) problem.
|
| Thoughts?

Have you tried setting the OS Compatibility mode in the link file associated with the
application ?
 
D

Dan Seur

You're welcome. Hope you find a way to keep that old horse handy...maybe
a cheap old PC running DOS/WIN3x ? :)
 
G

Galen

In Dan Seur <[email protected]> had this to say:

My reply is at the bottom of your sent message:
You're welcome. Hope you find a way to keep that old horse
handy...maybe a cheap old PC running DOS/WIN3x ? :)

Sorry to butt in but perhaps this is an alternative for the OP? (It's a bit
of a learning curve but not nearly what it used to be. Now it's pretty good
and fixes most of the pesky troubles with DOS in the newer OSes.) It's also
free, effective, and the closest thing on the planet to DOS emulation that
I've come across.

DOSBox, a x86 emulator with DOS:
http://dosbox.sourceforge.net/

Galen
--

"But there are always some lunatics about. It would be a dull world
without them."

Sherlock Holmes
 
W

Walterius

IMO that would not work. Win NT/etc. won't let old pgms call the IO
subsystem directly, no matter compatibility mode or not.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top