🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.msdos.programmer
Article #47

Re: INDOS flags

#47
From: Jerzy Tarasiuk
Date: Fri, 30 Oct 1992 05:29
30 lines
2603 bytes
>>>>> On 26 Oct 92 16:02:55 CST, 2fttsubmit@kuhub.cc.ukans.edu said:
.>   I recently posted a question on how to access dos interrupts during
.> a TSR keyboard routine.  Thanks to the help of the group I found out that DOS
.> is not reentrant and some people suggested that I user the timer interrupt
.> (1Ch) to poll a memory location the my keyboard driver sets and if that
.> location is set then check the INDOS flags to see if they are clear and then
.> use the interrupts.  
.>   I read Ralf Brown's interrupt list and searched other sources as well but
.> I still can't figure out the method I should use to poll the INDOS flags. 
.>  I have the pointers to the flags stored but do I continue looping until the
.> memory locations are zero, or don't change, or do I exit the routine and check
.> the flags on the next tick of the clock?
.>   Additionally, once I determine that the flags are clear, how long do I have
.> to use the dos interrupts?  If I have to use several DOS interrupt calls 
.> in a row do I have to check the flags before each call?
.>   If someone could point me in the right direction it would be much
.> appreciated.

The InDos flag will not change during servicing interrupt by your
program. If it is set, must wait for next interrupt. But this way
can wait forever: assume shell attempts to read a command from
keyboard and no command is entered during long period...
To avoid it, there is Dos Idle interrupt. It is 28h. If your program
is connected to this vector and gets control, it can use some DOS
functions when InDos is 1. But cannot use functions 0-C, and a care
must be taken reading data from handle which may be redirected.
Another problem is DOS has different set of handles for every task.
Must use Get PSP (51h) and Set PSP (50h) calls. Also, may need save
and restore Disk Transfer Address. I have a program in which all
is done - can FTP its source from 148.81.6.100, file ./XX-SRC.ZIP
Technical Details
Message-ID: <JT.92Oct30062945@fizyk1.fuw.edu.pl>
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!sun-barr!ames!haven.umd.edu!darwin.sura.net!paladin.american.edu!news.univie.ac.at!hp4at!mcsun!sunic!fuw.edu.pl!cocos!jt
References: <1992Oct26.160306.44154@kuhub.cc.ukans.edu>

Show Full Headers
Complete Article Headers
Newsgroups: comp.os.msdos.programmer
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!sun-barr!ames!haven.umd.edu!darwin.sura.net!paladin.american.edu!news.univie.ac.at!hp4at!mcsun!sunic!fuw.edu.pl!cocos!jt
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: INDOS flags
In-Reply-To: 2fttsubmit@kuhub.cc.ukans.edu's message of 26 Oct 92 16:02:55 CST
Message-ID: <JT.92Oct30062945@fizyk1.fuw.edu.pl>
Sender: news@fuw.edu.pl
Nntp-Posting-Host: fizyk1
Organization: Warsaw University Physics Dept.
References: <1992Oct26.160306.44154@kuhub.cc.ukans.edu>
Date: Fri, 30 Oct 1992 05:29:45 GMT
Lines: 30