www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/08/11/07:09:25

Xref: news-dnh.mv.net comp.os.msdos.djgpp:1468
Path: news-dnh.mv.net!mv!news.sprintlink.net!howland.reston.ans.net!swrinde!news.uh.edu!uuneo.neosoft.com!news!sandmann
From: Charles Sandmann <sandmann AT praline DOT no DOT NeoSoft DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: V2 interrupts
Date: Wed, 09 Aug 1995 15:25:23 CDT
Organization: NeoSoft Internet Services +1 713 968 5800
Lines: 17
References: <DD15Mt DOT IHz AT jade DOT mv DOT net>
Reply-To: sandmann AT clio DOT rice DOT edu
Nntp-Posting-Host: praline.no.neosoft.com
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Dj-Gateway: from newsgroup comp.os.msdos.djgpp

> Especially since I want to log 4 Channels at about 10-20kHz.
> I hear that V2.0beta handles interrupts better.
> Is it just that the interrupt routines don't get paged out of memory
> or are there other fixes/advantages.  

There are many fixes.  The wrappers had bugs, and GO32 had bugs.
Do not hook both RM & PM interrupts in V2, only PM (since RM intertups
are reflected).  You need to lock all the memory your handler uses;
this is virtually impossible to track down in C and the wrappers don't 
lock.  I only suggest using the wrappers for environments that will not
page, and to write assembler routines for production/unknown environment
code.  On a 486/33 you can handle about 10K interrupts per second if each
requires a mode swap.  If you EOI/IRET the interrupt instead of chaining
you should be able to get a higher frequency which might meet your needs.

If this doesn't work, you might need a ring 0 DPMI which does not support
virtual memory, which could cut the interrupt overhead.

- Raw text -


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