X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Message-Id: <10201271840.AA25808@clio.rice.edu> Subject: _bios_disk doc? To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii), djgpp-workers AT delorie DOT com (DJGPP developers) Date: Sun, 27 Jan 2002 12:40:08 -0600 (CST) X-Mailer: ELM [version 2.5 PL2] Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Eli helpfully replied to a problem on our newsgroup: > > If I run this code after booting to the dos prompt using a Win98 boot disk > > it returns a status of 0x01 (Invalid request or a bad command). > > Here's why: > > > di.sector = 0; > > The first sector on a disk is number 1, not zero. This is taken from the example code for _bios_disk. Proposed patch - OK to commit? : *** b_disk.bak Sun Sep 27 09:21:02 1998 --- b_disk.txh Sun Jan 27 12:38:50 2002 *************** struct diskinfo_t @{ *** 19,23 **** unsigned head; /* Head number. */ unsigned track; /* Track number. */ ! unsigned sector; /* Sector number. */ unsigned nsectors; /* Number of sectors to read/write/verify. */ void *buffer; /* Buffer for reading/writing/verifying. */ --- 19,23 ---- unsigned head; /* Head number. */ unsigned track; /* Track number. */ ! unsigned sector; /* Sector number. (1-63) */ unsigned nsectors; /* Number of sectors to read/write/verify. */ void *buffer; /* Buffer for reading/writing/verifying. */ *************** di.drive = 0x80; *** 129,133 **** di.head = 0; di.track = 0; ! di.sector = 0; di.nsectors = 1; di.buffer = &record_buffer; --- 129,133 ---- di.head = 0; di.track = 0; ! di.sector = 1; di.nsectors = 1; di.buffer = &record_buffer;