Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!mit-eddie!uw-beaver!cornell!batcomputer!itsgw!steinmetz!uunet!mcvax!botter!ast From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: V1.3 floppy.c with request for testing (especially 386s) Message-ID: <1896@botter.cs.vu.nl> Date: 1 Jun 88 21:49:36 GMT Reply-To: ast@cs.vu.nl (Andy Tanenbaum) Organization: VU Informatica, Amsterdam Lines: 34 Here is the 1.3 floppy.c diff listing (against 1.2). I hope it works on 8088, 286, and 386 machines. It incorporates Bruce Evans' fix, but with a shorter delay loop. I hope it is enough. I would appreciate people testing it on various machines and letting me know (1) which machine and (2) if it worked. I am especially interested in 386s. Andy Tanenbaum (ast@cs.vu.nl) ----------------------------- diffs to floppy.c ---------------- 6c6 < * m_type DEVICE PROC_NR COUNT POSITION ADRRESS --- > * m_type DEVICE PROC_NR COUNT POSITION ADDRESS 221c221 < fp->fl_sector = (int) interleave[block % nr_sectors[d]]; --- > fp->fl_sector = (int) interleave[(int)(block % nr_sectors[d])]; 338c338 < * Interrupts must be disabled temporarily to prevent clock interrupt from --- > * Interrupts must be disabled temporarily to prevent clock interrupts from 408a409 > fp->fl_curcyl = (r == OK ? fp->fl_cylinder : -1); 431c432 < /* The command is issued by outputing 9 bytes to the controller chip. */ --- > /* The command is issued by outputting 9 bytes to the controller chip. */ 476c477 < int i, j, status, ready; --- > int i, j, k, status, ready; 481a483 > for (k = 0; k < 32; k++) ; /* delay loop for 386 */