954,480 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Controlling the Speed of a CD Drive

Hi, I am working on a project, I need to control a CD Drive via the IDE/ATA Interface using a C/C++ program.

My goal is to control the Speed of the Drive, and hopefully the radial position of the optical pickup head.
I am still fairly new to this field, is something like that even possible ( I need to finish it in 2 months)

Any help would be greatly appreciated!

Sam

fussballer
Newbie Poster
19 posts since May 2010
Reputation Points: 10
Solved Threads: 0
 

You need to address these questions to the manufacturer's web site. Another idea would be to try asking on a forum for CD software, like ImgBurn.

You may need to ask several times before you get an answer, so don't be afraid to shop around. It's impossible to know how long something like this, might take.

As always, Google is your bud.

Adak
Nearly a Posting Virtuoso
1,479 posts since Jun 2008
Reputation Points: 425
Solved Threads: 185
 

Thank you for your response, The problem I have is that the CD Drives I am working on are fairly old and it is difficult to find any supporting info on them through the manufacturers resources. My goal is to develop something generic that can be used on any CD Drive.

fussballer
Newbie Poster
19 posts since May 2010
Reputation Points: 10
Solved Threads: 0
 

You still have two main resources, besides Google:

1) Manufacturer's. CD drives today work a LOT like the CD drives of yesterday, for compatibility reasons.


2) Software (especially free software or open source software), that controls CD drives. You might recall that Linux is entirely open source, AND that it controls CD drives -- hint hint hint. :p

Now get in there and dig around. These answers aren't going to just fall into your lap.

Adak
Nearly a Posting Virtuoso
1,479 posts since Jun 2008
Reputation Points: 425
Solved Threads: 185
 

OK I was looking around, to control/access I/O Devices such as a CD Drive the DeviceIoCtl calls can be used.(Windows)
The IOCTL_CDROM_SET_SPEED control code can be used specifically to control the speed of the spindle motor.
I am now looking at how to implement these control codes into a C/C++ Program. Are there any books/tutorials out there that teach how to do this.
I found Microsoft's Windows Developer Center a very good resource!
http://msdn.microsoft.com/en-us/library/aa363216(v=VS.85).aspx

Any other ideas are still appreciated!

fussballer
Newbie Poster
19 posts since May 2010
Reputation Points: 10
Solved Threads: 0
 

Can you check out linux kernel for this, i guess there you might get ready made driver for cd rom and then you can modify that sa per your requirement.
www.kernel.org

rajeevpareek
Newbie Poster
22 posts since Jun 2010
Reputation Points: 10
Solved Threads: 3
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: