Newsgroups: comp.os.msdos.programmer
Path: utzoo!utgpu!watserv1!maytag!watstat.waterloo.edu!dmurdoch
From: dmurdoch@watstat.waterloo.edu (Duncan Murdoch)
Subject: Re: Turbo-C 2.0 absread() / abswrite()
Message-ID: <1990Nov30.141911.5076@maytag.waterloo.edu>
Sender: daemon@maytag.waterloo.edu (Admin)
Organization: University of Waterloo
References: <1990Nov30.071240.8847@csusac.csus.edu>
Date: Fri, 30 Nov 90 14:19:11 GMT
Lines: 26

In article <1990Nov30.071240.8847@csusac.csus.edu> emmonsl@athena.ecs.csus.edu (L. Scott Emmons) writes:
>
>I am experiencing problems using absread() / abswrite() to access raw
>(not-neccessarily-msdos) floppies.  I am unable to read side 1 of
>disks...  reads walk down side 0 from track 0 to track 359 with no
>problem (360K drives...); however the second side of the disk does not
>seem to be accessible.  It would seem to me that absread/abswrite could
>reasonably try reading from other heads on the device (like after the
>last track on side 0 or something).  What's the point of this system
>call, besides accessing single-sided devices ONLY?  Guess I will have
>to use biosdisk(), which I wanted to avoid...

According to my manual, absread uses the DOS absolute read service.  As
far as that service is concerned, disks don't have sides:  they're just 
a bunch of sectors, running from 0 to 719 on a standard 360K disk.  If
you can read sectors 0 to 359, you're reading both sides of the disk, tracks
0 to 19.  You seem to be having trouble reading tracks 20 to 39, which
is a completely different problem. 

Unless TC is really messed up (it's shelfware for me, so I have the manuals,
but I don't really know how well it works), 
I'd suspect your problem is somewhere else.  Perhaps something has happened to
the boot sector of your disk, so DOS thinks it's single sided? 

Duncan Murdoch

