domingo, 29 de novembro de 2009

Trabalhando com arquivos ECM no Linux


Arquivos ECM, será que você já esbarrou com eles ??? Se você for um aficcionado por emuladores, é bem possível que sim, já que esse formato de arquivos foi criado para comprimir ainda mais ISO's, tanto de games quanto de PC's.
ECM significa Error Code Modeler, e foi criado por Neill Corlett para tornar as imagens de jogos ainda mais portáteis do que ficariam, se fossem apenas comprimidas via RAR ou 7zip.
O processo de compressão funciona mais ou menos assim: o ECM retira dados sobre correção de erros e redundância dos setores das ISO's, tornando o trabalho dos compactadores (RAR, 7zip, Zip, TarGZ) mais eficiente.
O ganho em termos de compressão fica em média 20 a 25% do tamanho original.
Bem, depois da imagem ISO ter sido comprimida via ECM, ela será comprimida por outro processo (como dito acima) e, ficará num tamanho bem menor. Nessa condição, a ISO não poderá ser nem queimada e nem poderá ser rodada em emuladores, já que se encontra comprimida pelo processo ECM.
Na página de Corlett tem o link para download do programa que executa a compressão e do descompactador. Para poupar esse trabalho, coloquei o link aqui
Agora, ele já tem uma versão para windows neste pacote. E para Linux ???
Palma, palma, não priamos cânico. Os fontes vêm junto, e, vamos compilar e criar os dois comandos ECM e UNECM e incorporar ao nosso /bash.

Compilando e instalando ECM

  • Passo 1: Baixar e extrair o código fonte do arquivo zip.
    Mude para a pasta onde você salvou o arquivo zip. Ecm100.zip e o descompacte. Isto irá extrair os arquivos na mesma pasta que o arquivo zip.
  • Etapa 2: Ainda nessa pasta, compilar o código fonte, digitando
          gcc ecm.c -o ecm
    gcc unecm.c -o unecm


    No terminal
  • Agora, você tem dois executáveis padrão Linux: ecm e unecm.
    Use ecm para compactar uma imagem ISO e unecm para descompactar a imagem ISO.
  • Passo 3: copiar os arquivos compilados para /usr/bin (claro que aqui você terá que estar como root para poder copiar esses arquivos para este local.)
    Fazendo isso, você ficará com a capacidade de compactar e descompactar no formato ECM a partir da linha de comando /bash.

A sintaxe é ecm "nome arquivo.bin"  ecmfile - Para compactar e unecm "nome arquivo.ecm" para descompactar.
E, mais um ponto para o Linux: Se você cruzar com arquivos .ecm, poderá trabalhar com eles sem susto no sistema do Pinguim!

2 comentários:

  1. Alessandro Ebersol, vc pode fazer um passo a passo bem detalhado sobre os comandos do ECM?

    ResponderExcluir
  2. Não existem muitos problemas aqui. É bem simples e direto. Uma vez que você tenha o arquivo ISO ou o bin,cue, é só dar o comando ecm "nome_do_arquivo.iso" arquivo.ecm.iso
    E pronto. A mesma coisa se for um bin.cue
    Para reconstruir o arquivo, só fazer unecm "nome_do_arquivo.ecm.iso"
    e pronto.

    Ok ?

    Boa sorte,

    ResponderExcluir