Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!mcsun!hp4nl!star.cs.vu.nl!Stickey From: Stickey (sbakker@cs.vu.nl) Newsgroups: comp.os.minix Subject: Hard disk & 1.5.5 again. Keywords: xt_wini.c, w_reset, controller not responding correctly. Message-ID: <5932@star.cs.vu.nl> Date: 8 Mar 90 11:48:45 GMT Sender: news@cs.vu.nl Organization: Fac. Wiskunde & Informatica, VU, Amsterdam Lines: 32 Hello, again. Recently I posted an article about my hard disk not working. I've already had some reactions to it and I want to thank everybody for that. Seems I forgot to mention the controller: it's a NEC (floppy is a Zilog, by the way). So, It's a Laser XT-3, 10 MHz, 5.25" floppy (Zilog chip), 20 Mb Seagate ST225 (NEC controller). Message I get: "hard disk won't reset, status = 0". I wanted to see how my controller reacted to a 0 being written into its status register. So I wrote w_reset into a little testprogram, compiled it with Turbo-C and got the following results: - A few times 0x1e (= 0x2 | 0x4 | 0x8), - A little more 0x10, - A lot of 0x00. W_reset() in xt_wini.c is waiting for 0x1 | 0x4 | 0x8 (0x0d) in the status, instead there's 0x2 | 0x4 | 0x8 (0xe) in the status. 0x10 is treated as an error. Questions: 1. What does 0x10 mean? It's not documented in the code (except for /** What is 10? 20 = interrupt **/). 2. Why do I get WST_INP (0x2) instead of WST_REQ (0x1) ? Has my controller swapped them (i.e. should WST_INP be WST_REQ)? I hope someone knows. Thanks in advance, Steven (sbakker@cs.vu.nl).