Paso 1: Aprender cómo funcionan los CDs y CD-Rs
Datos en un CD o cualquier medio óptico, se almacenan como una secuencia de hoyos de diferentes longitudes. Para ser precisos, un 1 está representada por el cambio del hoyo hoyo no o el cambio de cielo no al hoyo, y un 0 está representado por ningún cambio de altura (hoyo a hoyo u hoyo de no que no-hoyo). Los hoyos y hoyos de no reflejan diferentes cantidades de luz; así es posible dibujar imágenes en CD ' s por organizar adecuadamente estos 1s y 0s.¿Cómo organizan los 1s y 0s? Ayuda a saber que los datos se escriben a lo largo de una espiral que comienza desde el centro del CD y espirales hacia afuera en sentido horario. La duración de cada bit es un valor bastante preciso (más sobre esto más adelante), y el tono de la espiral, o la distancia entre espirales sucesivas, también es un valor bastante preciso. Así, con algunas matemáticas y algunas conjeturas, es posible crear una asignación de la broca n de sus datos a una x, coordenada y.
Ahora que tenemos que mirar debajo de la campana de almacenamiento de datos de CD para encontrar la manera de decirle a la grabadora de CD para escribir un 0 o un 1 para el bit n-ésima. Datos está organizados como una secuencia de sectores, cada uno de ellos es 2352 bytes de longitud. Los datos dentro de cada sector se organizaron de forma particular dependiendo del tipo de CD está abordando (etc. audio, datos,...). El tipo más "cruda" de organización se conoce como "modo 2". Modo 2 elimina muchas de las cosas agradables acerca de CDs como corrección de errores, pero nos da más control sobre los bits. En un sector del modo 2, los primeros 12 bytes contienen datos "sincronización" y los 4 siguientes contienen información específica sobre el sector. Estos bytes no se puede cambiar a nivel de software. (Tal vez es posible escribir un driver que podría cambiar estas?) El siguiente 2336 bytes pueden ser cualquier cosa aunque. Si esto fuera todo lo que le sucedió a los datos, nuestro trabajo sería fácil. Por desgracia, hay mucho más de manipulación de datos antes de que los datos realmente se escriben al CD.
En primer lugar, los datos de cada sector es "revueltos" que significa que se ejecuta a través de alguna función matemática que se supone que "blanquear" los datos (es decir, mantener la altura media de los datos en el CD de mitad de camino entre hoyo y hoyo no).
En segundo lugar, los datos se envían a través de un codificador CIRC, que se aplica a algunos códigos de corrección de error.
Por último, los datos se envían sin embargo un modulador de ocho a catorce (EFM). Esto asigna cada byte de 8 bits a una secuencia de 14 bits. Esto es para evitar largas secuencias de 0 (no hay cambio de altura) que son difíciles para la unidad de CD leer.
El punto es: hacer dibujos de los CDs es posible, por lo que se debe hacer.
Para una explicación más completa (pero todavía a veces crípticas) de CDs, consulte la especificación ECMA-130 libremente disponible.