Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!emory!ogicse!pdxgate!eecs!bairds From: bairds@eecs.cs.pdx.edu (Shawn L. Baird) Newsgroups: comp.sys.amiga.programmer Subject: Direct hardware drive access Message-ID: <2147@pdxgate.UUCP> Date: 30 Mar 91 08:20:16 GMT Sender: news@pdxgate.UUCP Lines: 30 With the recent flamage/discussion I've revitalized some of my interest in trying my hand at direct disk reading. I've included a small snippet of code and will say that I can't even get the drive light to come on. The code enters with Disable() having been called and all DMA turned off (I'm not using any disk DMA for stepping out to track 0, so this shouldn't be a problem should it?). The goal is to step the disk out to track 0. ; step to the outside of the disk in drive 0 (I wish) and.b #$7f,ciaaprb ; select motor and.b #$f7,ciaaprb ; select drive 0 diskready: btst.b #5,ciaapra ; check DSKRDY beq.s diskready or.b #$02,ciaaprb ; set step direction checktrack0: move.l #3000,d0 jsr wait btst.b #4,ciaapra ; check DSKTRACK0 bne.s disktrack0 and.b #$fe,ciaaprb ; step out or.b #$01,ciaaprb bra.s checktrack0 disktrack0: or.b #$88,ciaaprb ; unselect drive 0 The subroutine wait uses the cia timer to wait d0 microseconds and works as far as I can tell. Didn't someone around here claim to have worked on, or developed entirely, the trackdisk.device for 1.3 and 2.0? If so, help! --- Shawn L. Baird, bairds@eecs.ee.pdx.edu, Wraith on DikuMUD The above message is not licensed by AT&T, or at least, not yet.