| plan 9 kernel history: overview | file list | diff list |
1991/0831/pc/devfloppy.c (diff list | history)
| 1991/0823/sys/src/9/pc/devfloppy.c:26,34 – 1991/0831/sys/src/9/pc/devfloppy.c:26,37 (short | long | prev | next) | ||
| 1991/0727 | Fseek= 0xf, /* seek cmd */ Fsense= 0x8, /* sense cmd */ Fread= 0x66, /* read cmd */ | |
| 1991/0831 | Fwrite= 0x45, /* write cmd */ | |
| 1991/0727 | Fmulti= 0x80, /* or'd with Fread or Fwrite for multi-head */ | |
| 1991/0831 | Fchanged= 0x3F7, /* disk changed register */ Fchange= 0x80, /* disk has changed */ | |
| 1991/0728 | DMAchan= 2, /* floppy dma channel */ | |
| 1991/0727 | /* status 0 byte */ | |
| 1991/0823/sys/src/9/pc/devfloppy.c:281,286 – 1991/0831/sys/src/9/pc/devfloppy.c:284,301 | ||
| 1991/0802 | } | |
| 1991/0809 | /* | |
| 1991/0831 | * look for a floppy change */ void floppychange(Drive *dp) { if((inb(Fchanged) & Fchange) == 0) return; } /* | |
| 1991/0809 | * the floppy is so slow, we always read a cylinder * at a time and cache the extra bytes. */ | |
| 1991/0823/sys/src/9/pc/devfloppy.c:299,304 – 1991/0831/sys/src/9/pc/devfloppy.c:314,320 | ||
| 1991/0802 | dp = &floppy.d[c->qid.path & ~Qmask]; switch ((int)(c->qid.path & Qmask)) { case Qdata: | |
| 1991/0831 | floppychanged(dp); | |
| 1991/0809 | if(c->offset % dp->t->bytes) errors("bad offset"); if(n % dp->t->bytes) | |
| 1991/0823/sys/src/9/pc/devfloppy.c:343,348 – 1991/0831/sys/src/9/pc/devfloppy.c:359,366 | ||
| 1991/0802 | dp = &floppy.d[c->qid.path & ~Qmask]; switch ((int)(c->qid.path & Qmask)) { case Qdata: | |
| 1991/0831 | floppychanged(dp); dp->ccyl = -1; | |
| 1991/0802 | for(rv = 0; rv < n; rv += i){ i = floppyxfer(dp, Fwrite, aa+rv, c->offset+rv, n-rv); if(i <= 0) | |