Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ucbcad!ucbvax!YALE.ARPA!fischer-michael From: fischer-michael@YALE.ARPA (Michael Fischer) Newsgroups: comp.sys.atari.st Subject: Re: Why does GEMDOS call Mediach() so often? Message-ID: <8705061403.AA01528@yale-celed.arpa> Date: Wed, 6-May-87 10:03:33 EDT Article-I.D.: yale-cel.8705061403.AA01528 Posted: Wed May 6 10:03:33 1987 Date-Received: Sat, 9-May-87 00:44:49 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 21 Landon Dyer writes: > Mediach() on floppies does not simply "check a bit somewhere". It > hits the disk (to check the serial number) only as a last resort, > since ANY disk I/O --- floppy OR hard disk --- is expensive. I > suggest you send a packet only as a last resort. Unless there have been substantial changes to the Bios since the developer's kit was produced, this is not strictly accurate. Mediach() NEVER hits the disk, it only computes and returns a mode: 0-safe, 1-unsure, 2-changed. Rwabs() calls Mediach() and hits the disk if 1 is returned, changing the mode to 0 or 2 depending on whether the serial numbers match. If mode=2, Rwabs does not perform the I/O but instead returns the media change error (-14). Getbpb() resets the mode back to 0. Mediach() changes the mode from 0 to 1 if a short time (1-2 seconds) has elapsed with no disk I/O and the write protect bit has been seen on during that time. The write protect bit goes on whenever a disk is removed from the drive or the disk is write protected. --Mike Fischer -------