time eror after standby

G

Guest

If my DOS app is running when XP goes into standby, after coming out of
standby, the time reported IN my app is wrong - it is behind by the amount of
time XP was in standby. My app obtains time from DOS interrutp 21h service
2Ch. If the app is ended and then restarted the time is correct.

This problem does not occur on another computer running Windows ME
 
G

Guest

This comment makes no sense. This problem occurs in any DOS program,
including a new one, that uses the DOS time service interrupt or library time
function such as the C language function: time().
 
B

Bob I

No, it makes perfect sense. XP only provides a DOS emulator, and as an
emulator direct hardware access is not supported. Pretty simple
solution, Upgrade to a program designed to run on the operating system
or provide the operating system the program was designed to run on.
 
G

Guest

Sorry Bob, you still don't get it. DOS emulation is still part of Windows XP
and in fact many of the XP utilities also run under DOS. This problem
apparently occurs because the DOS emulator is keeping time internally based
on the time stamp counter, or some similar time counter, that is turned off
during standby. This is not designed performance and is obviously not
intended.

If everyone who has had a problem with XP moved to another operating system,
no one would be using it.
 
B

Bob I

OH MY! You really believe the NT/XP utilities are running under
DOS!?!?!? They don't, they run in NT. Your little DOS program runs in
NTVDM (or NT virtual dos machine). Please look in Task Manager to see.
 
G

Guest

Why do you keep wasting my time with your useless observations? You have
never addressed the actual problem. As I stated in my original description of
the problem, this problem doesn't occur on another machine I have that runs
Windows ME. I am not interested in changing OSs just to avoid this problem.
You are right that the problem is no doubt in NTVDM, but this does not mean
that it is alright to misfunction.

If you have any advice on resolving this problem, such as an alternate DOS
service or method of accessing the correct clock counter, it would be
appreciated. Continual observations that the DOS environment is provided by
emulation in XP are not helpful.
 
B

Bob I

Of course it doesn't occur in Windows ME, ME is DOS based. But 2000, XP
and Vista are NT based, and do not provide a DOS environment but only an
emulator. You are free to trying some 3rd party software such as DOS
box, or perhaps load Virtual PC from Microsoft and install MS-DOS on
that. Your other option is to run it on a multi boot PC with DOS based
operating system, or not allow standby. You have plenty of options.
 

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