delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/11/28/16:33:00

From: George Foot <mert0407 AT sable DOT ox DOT ac DOT uk>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Intermittent Run-Time of DJGPP App under Win95
Date: 26 Nov 1997 19:21:57 GMT
Organization: Oxford University, England
Lines: 24
Message-ID: <65hssl$h8s$1@news.ox.ac.uk>
References: <m0xaFyg-000S23C AT inti DOT gov DOT ar> <348488fe DOT 61835728 AT news DOT uni-duisburg DOT de>
NNTP-Posting-Host: sable.ox.ac.uk
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

On Wed, 26 Nov 1997 12:13:31 +0100 in comp.os.msdos.djgpp Michael Mauch <michael DOT mauch AT gmx DOT de> wrote:

: ******* wintimer.c: ********
[code snipped]

Why do you use real mode calls for this?  I thought there was a speed
penalty in doing so.  I don't suppose this is that significant since
our timing resolution is milliseconds, though.  AFAICS you can simply
use inline assembler, in protected mode -- it works fine for me.  On
performing a raw int 0x2f, you get the protected mode entry point in
%es and %edi; stick these in consecutive memory locations and do an
lcall to call the VxD.  I haven't yet had any problems with this
technique on the VTD VxD (nor on the wsock VxD, where Dan Hedlund does
this); it didn't work quite properly for the registry access VxD
though.  [The calls worked fine, and valid error codes were returned;
I just couldn't pass parameters to it properly.]

If you want to see code showing what I mean, look in vtd.c in this zip
file:  http://users.ox.ac.uk/~mert0407/downloads/vtd.zip.  I wrote
this before finding out what the different functions in the VTD were
for, so please excuse the erroneous guesses in some of the comments ;).

-- 
george DOT foot AT merton DOT oxford DOT ac DOT uk

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019