Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!cbatt!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU.UUCP Newsgroups: comp.sys.amiga Subject: Track 40 Blues SOLVED!!!!! Delay() is the culprit! Message-ID: <8703070244.AA13483@cory.Berkeley.EDU> Date: Fri, 6-Mar-87 21:44:23 EST Article-I.D.: cory.8703070244.AA13483 Posted: Fri Mar 6 21:44:23 1987 Date-Received: Sun, 8-Mar-87 11:44:37 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: University of California at Berkeley Lines: 23 The test was simple. If you run the following program in the background: for (;;) Delay(0); You are GUARENTEED to get a disk write error! The problem is in DOS. This is why HANOI running at full speed kills the machine... looking at the source it calls Delay() with some argument that was set to 12 - N , where N is the speed specified. If you specify 0, it calls Delay(0). This is also why Steve Drew's Manx version was dying a while back. By doing a directory on a cluttered disk with a large loop program running (for(;;) Delay(0)), you will also get read errors... what you hear is AmigaDos trying twice to read a track ... it misses a track, seeks to cyl. 0 and then tries again. So far as I can tell, Delay(1) doesn't seem to cause any problems. I've forwarded this to carolyn so she can get it to the right people. -Matt