Stap 1: Leren hoe cd's en CD-r's werken
Gegevens op een CD of alle optische media, wordt opgeslagen als een reeks van kuilen van verschillende lengtes. Om precies te zijn, een 1 wordt vertegenwoordigd door de verandering van put neen-pit of de verandering van neen-pit pit, en een 0 wordt vertegenwoordigd door Geenverandering in hoogte (pit-pit of neen-pit aan neen-pit). De kuilen en de neen-pits weerspiegelen verschillende hoeveelheden van het licht; het is dus mogelijk om beelden op cd's door deze 1s en 0s op de juiste manier te schikken.Hoe zorg je ervoor dat de 1s en 0s? Het helpt om te weten dat de gegevens langs een spiraal die begint vanaf het midden van de CD en spiralen naar buiten in een richting van de klok worden geschreven. De lengte van elke bit is een vrij nauwkeurige waarde (hierover later meer), en de toonhoogte van de spiraal, of de afstand tussen opeenvolgende spiralen, is ook een vrij nauwkeurige waarde. Met behulp van wat wiskunde en sommige giswerk, is het dus mogelijk te maken van een toewijzing van de nde bit in uw gegevens naar een x, y-coördinaat.
Nu moeten we echt kijken onder de motorkap van opslag van de gegevens van de CD om erachter te komen hoe herken ik de CD-writer een 0 of 1 voor de n beetje te schrijven. Gegevens wordt georganiseerd als een reeks van sectoren, die elk 2352 bytes lang is. De gegevens binnen elke sector wordt georganiseerd op een bepaalde manier afhankelijk van welk type CD u bent behandelen (gegevens, audio, etc...). De meeste "ruwe" soort van de organisatie staat bekend als "modus 2." Modus 2 doet weg met veel van de leuke dingen over cd's zoals foutcorrectie, maar het geeft ons de meeste controle over de bits. In een mode 2-sector, de eerste 12 bytes "synchroniseren" gegevens bevatten en de volgende 4 bevatten specifieke informatie over de sector. Deze bytes kunnen niet worden gewijzigd op het niveau van de software. (Misschien is het mogelijk om een driver die dit veranderen kan te schrijven?) De volgende 2336 bytes zijn vrij om om het even wat wel. Als dit alles wat er gebeurd met de gegevens, zou onze taak gemakkelijk. Helaas, er is veel meer gegevensmanipulatie voordat de gegevens daadwerkelijk wordt weggeschreven naar de CD.
Eerst, de gegevens in elke sector is "Roerei" dat wil het wordt uitgevoerd door middel van een wiskunde-functie die wordt verondersteld zeggen om "witter" de gegevens (d.w.z. houden de gemiddelde hoogte van de gegevens op de CD halverwege tussen put en neen-pit).
Ten tweede, de gegevens worden verzonden via een CIRC-encoder, die sommige foutcodes voor correctie van toepassing is.
Tot slot worden de gegevens verzonden al een acht-met-veertien modulator (EFM). Dit wijst elke 8-bits byte in een reeks van 14-bits. Dit is om te voorkomen dat lange reeksen van 0 (geen verandering in hoogte) die moeilijk zijn voor het cd-rom-station om te lezen.
Het punt is: tekening van foto's op cd's is mogelijk, zodat het moet gebeuren.
Voor een completer (maar nog steeds op sommige momenten cryptische) uitleg van cd's, check out de vrij beschikbare specificatie van ECMA-130.