[comp.sys.atari.st] Non busy-wait disk IO on the ST.

sirkm@ssyx.ucsc.edu (Greg Anderson) (09/07/89)

I would like to be able to initiate disk IO in a program, go away
and do something else & then be informed later (via an interrupt)
that the opperation completed.

Questions:

1.	Will GEMDOS do this?

If not:

2.	Can this be done when reading/writing sectors directly?


  ___\    /___               Greg Anderson              ___\    /___ 
  \   \  /   /         Social Sciences Computing        \   \  /   /
   \  /\/\  /    University of California, Santa Cruz    \  /\/\  /
    \/    \/              sirkm@ssyx.ucsc.edu             \/    \/

apratt@atari.UUCP (Allan Pratt) (09/08/89)

sirkm@ssyx.ucsc.edu (Greg Anderson) writes:
>I would like to be able to initiate disk IO in a program, go away
>and do something else & then be informed later (via an interrupt)
>that the opperation completed.

You'll get no help from GEMDOS or the BIOS.  You can do it yourself,
but you'll have to learn all about the DMA chip and any DMA devices you
plan to talk to.  The circuitry is all there: the acknowledge from the
DMA device (which says the operation is complete) can cause an
interrupt if you want, and that's really all you need.  (Of course, you
have to deal with timeouts, etc...)

It's a lot of work, but there's nothing in hardware stopping you. It's
possible that MINIX and/or OS/9 and/or some flavors of UNIX on the ST
do this.  I don't know about that.  Anyway, good luck.

============================================
Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt

sirkm@ssyx.ucsc.edu (Greg Anderson) (09/08/89)

In article <1685@atari.UUCP> apratt@atari.UUCP (Allan Pratt) writes:
> >I would like to be able to initiate disk IO in a program, go away
> >and do something else & then be informed later (via an interrupt)
> >that the opperation completed.
>
>You'll get no help from GEMDOS or the BIOS.

That's what I was afraid of.

>You can do it yourself,
>but you'll have to learn all about the DMA chip and any DMA devices you
>plan to talk to.

What is the best (actually, cheapest and easiest to obtain) documentation
on the DMA chip?  I've been surviving with the Laser C manual (which
is quite good, for the things it documents).

>The circuitry is all there: the acknowledge from the
>DMA device (which says the operation is complete) can cause an
>interrupt if you want, and that's really all you need.  (Of course, you
>have to deal with timeouts, etc...)

That doesn't bother me as much as rewriting GEMDOS.  I suppose I could
just create a blank partition on my hard drive and _only_ do direct
sector access, but there are some things that I'd really like to keep
in files.

I'm not really in the mood for writing a DOS, though, and I doubt
I could get GEMDOS source.  (Come to think of it, I'm not really in
the mood for rewriting a DOS either...)

>It's a lot of work, but there's nothing in hardware stopping you. It's
>possible that MINIX and/or OS/9 and/or some flavors of UNIX on the ST
>do this.  I don't know about that.

I should probably just buy a multitasking OS for the ST instead of
trying to write one myself.  (That's not literally what I'm doing,
but...)  Any recommendations from people who have used Minix &/or
OS/9?

>Anyway, good luck.

Looks like I'm going to need it.  Thanks for your comments.

>============================================
>Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
>reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt


  ___\    /___               Greg Anderson              ___\    /___ 
  \   \  /   /         Social Sciences Computing        \   \  /   /
   \  /\/\  /    University of California, Santa Cruz    \  /\/\  /
    \/    \/              sirkm@ssyx.ucsc.edu             \/    \/

hase@netmbx.UUCP (Hartmut Semken) (09/11/89)

In article <9042@saturn.ucsc.edu> sirkm@ssyx.ucsc.edu (Greg Anderson) writes:
>What is the best (actually, cheapest and easiest to obtain) documentation
>on the DMA chip?  I've been surviving with the Laser C manual (which
>is quite good, for the things it documents).

A good example for a driver source is included in the Minix ST
sources...

A very good book about floppy and harddisk (and related stuff) is the
german text "Scheibenkleister" by Claus Brod, published by Maxon
Computer GmbH. 

The book is 860+ pages and includes a disk containig all
sources/programs discussed in the book.


hase
-- 
Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP
Dennis had stepped up into the top seat whet its founder had died of a
lethal overdose of brick wall, taken while under the influence of a
Ferrari and a bottle of tequila. (Douglas Adams; the long dark teatime...)

jrd@STONY-BROOK.SCRC.SYMBOLICS.COM (John R. Dunning) (09/12/89)

    Date: 7 Sep 89 19:06:50 GMT
    From: imagen!atari!apratt@ucbvax.Berkeley.EDU  (Allan Pratt)

    sirkm@ssyx.ucsc.edu (Greg Anderson) writes:
    >I would like to be able to initiate disk IO in a program, go away
    >and do something else & then be informed later (via an interrupt)
    >that the opperation completed.

    You'll get no help from GEMDOS or the BIOS.  You can do it yourself,
    but you'll have to learn all about the DMA chip and any DMA devices you
    plan to talk to.  The circuitry is all there: 

I don't suppose there's any documentation (Horrors! the 'D' word!)
available for stuff like that?  Like how to address the DMAC, or for
that matter, what kind of DMAC it is, etc?