delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/06/25/15:14:05

Date: Tue, 22 Jun 93 19:18:44 EDT
From: dave%babel AT uunet DOT UU DOT NET (Dave Hayden 908- 946-1107)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: get/set interrupt vector

Hi,

I am trying to port the DFLAT text windowing system described in Dr. Dobbs
journal from Borland C to djgpp.  DFLAT uses getvect() and setvect()
to capture the keyboard and timer interrupts.  After a little poking
around, I found that djgpp does not support these DOS calls.  After some
more poking around I figured out why: the interrupt gate descriptors
are all in the 16 bit world of go32.  When you do an interrupt, the
CPU changes from 32 bit operands to 16 bit operands.

Perhaps I could get getvect() and setvect() working by having getvect
return the address of a wrapper function in the arena.  This, and
anything else I've thought of, seem fairly difficult.  Has anyone
tackled this problem?  Should I change DFLAT to not capture the
interrupts instead?

Dave


- Raw text -


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