Hello All ,
How to read the CD data at a location determined by angular position. Or
how can I read data which is X mm from centre and Y mm from starting bit.
Is that possible ??
Ok if not usually , then how can I go for that ?
Please suggest me anything like books , net articles , your suggestions
etc.please please please…
Hello All ,
How to read the CD data at a location determined by angular position. Or
how can I read data which is X mm from centre and Y mm from starting bit.
Is that possible ??
Ok if not usually , then how can I go for that ?
Please suggest me anything like books , net articles , your suggestions
etc.please please please…
Cdrom’s can be read in multiples of blocks. Depending on the mode
you’ve put the drive in the block could be between 2048 and about 2300
bytes in size (all blocks are actually the largest size - the smaller
versions use some of that block for error-correcting codes.
The SCSI-2 specification has a chapter on cdroms where they tell you the
formula for converting from time-based operations (minute:second:“frame”
ie. 75th of a second) to block size in the event you want to read at a
particular time-point on the CD. Since the table-of-contents is
described in temporal terms this is useful when attempting to play a CD
track.
I suspect with some measurement you could compute a particular r/theta
coordinate for any spot on the disk. However in the end it always falls
back to which block do you want to read. And those you can read from
kernel or user-mode the same way you’d read from any device (ReadFile,
NtReadFile or sending IRP_MJ_READ - depending on your mode)
-p
-----Original Message-----
From: krishnaa [mailto:xxxxx@nothing.com]
Sent: Monday, February 24, 2003 6:08 AM
To: NT Developers Interest List
Can I query the distance between current point (Where laser head is
reading) and the CD centre ??? is that possible ?
How much fine control can I have over reading , like memory location by
memory location reading etc.
----- Original Message -----
From: “krishnaa” To: “NT Developers Interest List” Sent: Monday, February 24, 2003 2:02 PM Subject: [ntdev] Re: CD Reading
> OK … > How a Highest level CD-ROM driver read the CD ?? > — > You are currently subscribed to ntdev as: xxxxx@storagecraft.com > To unsubscribe send a blank email to xxxxx@lists.osr.com >
> > I suspect with some measurement you could compute a particular r/theta > coordinate for any spot on the disk. However in the end it always falls > back to which block do you want to read. And those you can read from > kernel or user-mode the same way you’d read from any device (ReadFile, > NtReadFile or sending IRP_MJ_READ - depending on your mode) > While in theory that’s the case - a given block hence hh:mm:ss:ff will depend on a particular predicable location on the disc - I doubt you’ll get anything useful in practice.
The data on the CD is stored in a single spiral track. This is different to other disks where the data is written as a series of circles. The distance between turns on the spiral varies - for example it’s tighter on 80 minute CDs than the usual 74 minute discs. I’d also expect minor variations between mastering plants.
Because the distance varies the length of a given turn other than the first will also vary, although only slightly. The effect of this after a few hundred turns will be that the angular position is unpredicable.
Finally there is no obvious way to find where the start of the spiral is!
You can probably get a pretty good idea of the distance out from the hub where the data is stored, but this is as far as I can tell of academic interest only. The only use for this that I can think of would be to tell the user where the scratch is - and what would be done with that information?
Krishnaa, Hope this info helps, if not solves your problem Andy
To start with… Is there a point on a CD that could be identified as
angle 0 ?
Mat
-----Original Message-----
From: Andy Champ [mailto:xxxxx@earthling.net]
Sent: Thursday, March 06, 2003 4:04 AM
To: NT Developers Interest List
Subject: [ntdev] Re: CD Reading
Peter Wieland wrote:
> > I suspect with some measurement you could compute a particular r/theta > coordinate for any spot on the disk. However in the end it always falls > back to which block do you want to read. And those you can read from > kernel or user-mode the same way you’d read from any device (ReadFile, > NtReadFile or sending IRP_MJ_READ - depending on your mode) > While in theory that’s the case - a given block hence hh:mm:ss:ff will depend on a particular predicable location on the disc - I doubt you’ll get anything useful in practice.
The data on the CD is stored in a single spiral track. This is different to other disks where the data is written as a series of circles. The distance between turns on the spiral varies - for example it’s tighter on 80 minute CDs than the usual 74 minute discs. I’d also expect minor variations between mastering plants.
Because the distance varies the length of a given turn other than the first will also vary, although only slightly. The effect of this after a few hundred turns will be that the angular position is unpredicable.
Finally there is no obvious way to find where the start of the spiral is!
You can probably get a pretty good idea of the distance out from the hub where the data is stored, but this is as far as I can tell of academic interest only. The only use for this that I can think of would be to tell the user where the scratch is - and what would be done with that information?
Krishnaa, Hope this info helps, if not solves your problem Andy