Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: $Revision: 1.6.2.16 $; site ima.UUCP
Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!harpo!decvax!yale!ima!johnl
From: johnl@ima.UUCP
Newsgroups: net.micro.pc
Subject: Re: Non-pausing disk IO
Message-ID: <38700010@ima.UUCP>
Date: Sun, 30-Jun-85 16:38:00 EDT
Article-I.D.: ima.38700010
Posted: Sun Jun 30 16:38:00 1985
Date-Received: Fri, 5-Jul-85 05:27:18 EDT
References: <3303@dartvax.UUCP>
Lines: 22
Nf-ID: #R:dartvax:-330300:ima:38700010:000:1047
Nf-From: ima!johnl    Jun 30 16:38:00 1985


> /* Written  6:36 pm  Jun 27, 1985 by kvetter@dartvax in ima:net.micro.pc */
> I'm new to using a PC and am writing an application where it
> would be nice to do disk IO without pausing.  [Set aside a buffer
> area, initiate the read and return control and get interrupted when
> a character is ready to be read.]

Unless you're in the mood for some serious programming you are out of luck.
The BIOS provided in ROM in the PC doesn't use interrupts at all.  It sits
there in a wait loop.  If you want to drive the disk under interrupts, you
have to program the hardware yourself, and simulate what DOS does for file
access.  That's a lot of work.

If you have a PC AT, you're in slightly better shape because the BIOS has
some hooks in it that let you get control when DOS is about to go into a
wait loop.  Causing the interrupt is still your problem (i.e., you have to
turn on the disk interrupt.)  Ugh.

By the time you've done all that work, you're probably better off saving
up your pennies and buying PC/IX or Xenix.

John Levine, ima!johnl