www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/08/17/06:14:37

Xref: news-dnh.mv.net comp.os.msdos.djgpp:1603
Path: news-dnh.mv.net!mv!news.sprintlink.net!in1.uu.net!salliemae!europa.chnt.gtegsc.com!cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!news.sesqui.net!rice!news!sandmann
From: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: v2.interrupts
Date: Wed, 16 Aug 1995 13:51:44 CDT
Organization: Rice University, Houston, Texas
Lines: 21
References: <DDEt3H DOT DtL AT jade DOT mv DOT net>
Reply-To: sandmann AT clio DOT rice DOT edu
Nntp-Posting-Host: clio.rice.edu
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Dj-Gateway: from newsgroup comp.os.msdos.djgpp

> interrupt with the _go32 calls AND the -go32 wrapper function.  It now works
> with out crashing but I can only get an interrupt rate of around 5khz which
> doesn't crash the program.  (I'm using a DX4/100 with 16Mb of RAM).
> I'm was hoping to get anywhere between 20 & 40 Khz (at least 10khz).

I would expect you to be able to get around 20Khz if:
1) You were running under Windows, QDPMI, or at least a better EMM than
   EMM386 (something like QEMM, 386max).
2) Your interrupt routine was coded in GAS (so did a minimal number of
   instructions, only saving/setting/restoring a few items).  You
   set up the routine with __dpmi routines avoiding the wrapper overhead.
3) Your CPU was running almost completely in Protected Mode (ie no
   DOS or BIOS calls to be interrupted) and no page faulting.
4) You don't chain, and EOI the interrupt directly (from GAS code).

> I was under the impression that dpmi interrupts didn't require these wrappers.

The wrappers are not needed if you handle it all yourself (assembler).
You must have wrappers if you expect a GCC subroutine to work,
since it expects SS=DS=ES=CS base, and many other things which probably
won't be true.

- Raw text -


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