DIY CD drive based on a computer CDROM

I know, the issue has been covered several times before on this board, but has never been brought to a satisfying result.

As we all know, ist is more and more getting difficult to get CD drives for making really good hifi units from it. Yes, the big Philips from http://www.daisy-laser.com/ is an option, but an expensive one.
Also we have the cheaper Philips (CD 723) and Marantz (CD 6000) models, but who knows how long they will bei availeable.

So I think the only somewhere reliable source for "pure CD transports" will be computer CDROM drives, which are availeable at prices at 20 bucks - even the better ones.

It is of course not too difficult to use them in a hifi setup if you are happy with the built-in control buttons (which are normally very few), although there are some models out there with a remote control - which may be fine. But in eny case you won't have a display.

So why not try to develop our own universal CDROM controller?

It has been done before (mostly published on Russian, Korean, and Chinese sites - search this forum), but personnally, I have never found a soulution I could reproduce without major problems.

Technically, it should not be too difficult to control the drive via the ATA/IDE interface, for we don't need to transfer data through the controller.

One interesting (in terms of hardware simplicity) approach I have found is here: http://home.cybervillage.de/heesch/english/ide.htm. I have attached the schematic for all non-Eagle users. This unit so far is kind of a RS-232 controlled data storage device - not exactly what we want, but not too bad as a starting point.
As you can see, you need a microcontroller with 23 I/O pins to perform communication with the drive - no problem.
Most probably you will need a second controller for controlling keyboard, display and remote - I remember having seen this approach on a korean(?) site posted some time ago.

The problem is: controlling a drive via ATA commands is possible, but not that simple (at least not for me, as I haven't read all the hundreds of pages of interface specs). I am pretty much into hardware design as well as assembly programming on AVR microcontrollers, so this will be not too much of a problem - but only if someone can tell me exactly what to do.

So if there are some ATA/IDE interface experts out there it should be possible to get this thing started.

Come on guys - let's turn this into a really big thread :D
 

Attachments

  • interf1.gif
    interf1.gif
    35.2 KB · Views: 31,628
I am interested to do the same project ,
but I have no idea how to start.
Because I'm not familiar with those IDE controller things.
But I do have some related information, if needed,I can email you!

BTW, If you succeed, would you consider making a DIY kit for sell?
:nod: :nod:
 
Konnichiwa,

HBarske said:
So why not try to develop our own universal CDROM controller?

Sounds ABSOLUTELY great. However, I would like to throw in a few little things from the side.

How about using DAE Mode, including control of spin speed?

This way we can use up all the old 72-Pin Ram Sticks (or whatever we have) and get the Reader to fill a local buffer (say 10 second read ahead) asyncronously with data, including multiple reads on errors.

The Data can then be clocked out via I2S or S/P-DIF & AES/EBU via either external or internal clock (selectable via simple detect - external 44.1KHz master clock present, use this to clock data out, otherwise use local Osc).

Howzdat? It will take more work programming but should easily match the best transports out there.

The noise issue from the Drive can be adressed by compliantly mounting the "slot" for the drive and fitting an openable front panel that closes normally with some decent sound deadening.

Perhaps someone could make a nice 1/2 width case for that too, this would make a great kit.

Sayonara