Como “pintar” a camada de dados de um CD usando uma unidade de CD?

6

Estou procurando um método para "pintar" formas geométricas, pontos ou linhas na camada de dados de um CD gravável (ou DVD) usando uma unidade padrão. Estes não precisam ser visíveis a olho nu; Eu tentaria abusar do pequeno tamanho dos pontos no CD para algumas medições científicas.

A maioria dos softwares disponíveis é limitada a gravar música ou dados, mas não oferece a funcionalidade de baixo nível "coloque um ponto neste raio, este ângulo". Existe algo para mim?

    
por Jens 27.06.2012 / 10:34

4 respostas

3

Você não precisa gravar dados "apropriados" no disco ... você pode gravar dados arbitrários simplesmente criando um arquivo de tamanho apropriado.

Para começar, vamos supor que estamos usando um CD para escrever (esperamos que seja regravável, porque nós vamos fazer alguns coasters !!), então nosso tamanho de imagem de dados desejado é de cerca de 700 meg.

Crie um arquivo com blocos de 10 meg de alternância entre 0x00 e 0xff. Isso mostrará o padrão 'on / off' dos dados em um formato simples.

Module os dados no arquivo de imagem ... Os discos são escritos do centro para fora ... então mais dados estão contidos no diâmetro externo (mais rápido!) que no interno, e você deve ser capaz de calcular o ponto aproximado para alterar seus padrões de dados no arquivo de imagem usando alguns padrões criativos.

Depois de descobrir as 'zonas', você deve ser capaz de criar padrões de dados ainda mais complexos para compensar a velocidade de rotação e densidade de dados na 'faixa' externa (CD / DVD é na verdade apenas uma espiral apertada). Fun Fun Fun !!

Bem ... é assim que eu começaria, se eu estivesse procurando descobrir coisas sobre a escrita de padrões em superfícies de dados de CD / DVD.

(dang it ... cadê aquele velho fuso de CDs que eu nunca usei ...)

Ah sim ... os comandos envolvidos:

 CD: wodim dev=/dev/sr0 -eject -v -data=MYIMAGE.img
DVD: growisofs -Z /dev/sr0=MYIMAGE.img
    
por 30.06.2012 / 22:54
2

Isto parece que faz o que você quer, inclui 2 arquivos MATLAB que eu não entendo muito bem a magia de. Eu adoraria ver uma versão atualizada!

link

    
por 01.03.2013 / 14:12
1

Eu tive algum sucesso com o Red Book CD Audio usando bytes (caracteres de 8 bits) de 171 decimais para áreas escuras e 48 decimais usando o programa Img2CD. Eu não consegui a calibração perfeita, mas para a linha artística você pode ver imagens no CD-RW. Nenhum hacking é necessário, tudo o que é um arquivo de música WAV com este sinal não musical - é tão real quanto um CD de música como os regraváveis permitirão (os CD players mais antigos nem tocam CD-RWs com música humana neles!). Quando estiver pronto, você pode reproduzir o CD-RW em um novo CD player de áudio que reproduza discos regraváveis e ouça a imagem. E se você se cansar da imagem, apenas anule o disco e reescreva algo novo. O disco é melhor visualizado sob luz solar direta.

    
por 27.10.2013 / 08:13
1

Para gravar diretamente uma imagem de disco de dados ISO ou similar em um CD, lembre-se de que a unidade codifica e decodifica os pixels físicos usando CIRC (Cross-Interleaved Reed – Solomon Coding) para permitir a correção de erros de leitura. Você precisaria descobrir quais bytes de dados correspondem aos fluxos de dados de pixels gravados codificados.

link

link

link

link

link

O último, rscode, tem uma explicação aqui: link

que menciona o uso do CD, com base no exemplo.txt do rscode. Acredito que o código para implementar a codificação do tipo CD (o que os pixels codificados com correção de erro em um CD-R leiam) pode ser:

unsigned char codeword1[28];
unsigned char codeword2[32];
unsigned char msg[24];

encode_data(msg, sizeof(msg), codeword1);
encode_data(codeword1, sizeof(codeword1), codeword2);

Enviei um e-mail para o autor do rscode e atualizarei esta resposta se ele responder.

    
por 20.12.2013 / 01:06