Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Firstly, you want to have an ATA driver as combuster said.
On top of that you want a cdrom driver that supports CD filesystems such as iso9660, rock ridge extensions and joliet extensions.
On top of that you probably want a VFS so you can hook in extra filesystems transparently to user programs.
is9660 is easy to implement. If you like, i can share some of my code which (with a few minor tweaks) sits on top of the ATA code given in these forums.