Results 1 to 8 of 8

Thread: ECM -- Error Code Modeler (Better Compression)

Threaded View

  1. #1
    Join Date
    Sep 2006
    Posts
    22,212
    Thanks
    172
    Thanked 385 Times in 241 Posts
    EP Points
    825

    Default ECM -- Error Code Modeler (Better Compression)

    CD Data Sectors

    To understand what ECM does and how it works, you must first understand the sectors in a CD and what they're made of.

    A typical data CD consists of thousands of 2352-byte sectors. Each sector looks like this (drawings not to scale):



    Only 2048 bytes in each sector are used for actual data. The rest are:

    # Sync - A special code used by the drive to tell where the sector begins
    # Address - This tells the drive which sector it's looking at
    # EDC - Error Detection Code, used to detect if the data is corrupt
    # ECC - Error Correction Code, used to correct the data if it is corrupt

    When you create BIN/CUE files from a data CD, the BIN contains all of this data - all 2352 bytes from each sector.

    The light-colored areas in the diagram (sync, address, data) are usually easy to compress. However, the dark areas (EDC, ECC) look like noise, and are nearly impossible to compress with conventional tools such as WinRAR. When you compress a BIN file in WinRAR, each sector ends up looking something like this:



    Sync, address, and data compress okay, but EDC and ECC just sit there like bricks taking up space. And they usually don't even need to be there!

    Filtering Sectors Through ECM First

    ECM selectively strips the sync, EDC and ECC codes from each sector, whenever possible. Once a BIN file has been run through ECM, the resulting sectors look like this:



    That process, in itself, doesn't reduce the BIN size very much. But notice how the only parts left are the light-colored (easy to compress) parts! Now, when you run the ECM file through WinRAR, you'll get much better results than before:



    But wait a minute, don't I need those ECC codes? Doesn't that make it less reliable?

    You get the EDC/ECC codes back when you convert from ECM back to BIN
    (which is required before burning - you can't currently burn a ECM file directly).

    When you're archiving or transmitting files in a format such as RAR, you already have error detection built in. WinRAR doesn't particularly care about the CD sector EDC/ECC codes, and just handles BIN files like any other file.

    So no, you're not losing any reliability by converting BIN files to ECM, as long as you make sure to convert them back before burning.

    What about copy protection? Don't they use bogus ECC data? Wouldn't ECM ruin that?

    ECM only eliminates EDC/ECC data for sectors where it's verifiably possible to recreate that data. If the ECC is bogus, ECM will preserve that bogus data.

    You won't lose any data by converting a file to ECM and back again. The process is completely lossless.
    So when you use ECM to compress the BIN file, then 7zip it you can save a hell of a lot of space.

    Offical site
    Download

    I've personally used this to save a lot of space on PC games. I know they aren't allowed here, but I was just trying it. With one game I cut down the ISO by 500mb+ using ECM and then compressing the ecm with 7zip -ultra. It can be quite the bandwidth saver.

    Here is the example:
    Red outline is the size of the .img.ecm uncompressed
    Silver outline is the compressed size total.



    GUI version of ECM made by Renan Lazarotto here
    Last edited by Inferno.; 22nd-May-2011 at 23:42.

Similar Threads

  1. Suggestion - Using ECM for ISO's
    By Winged 2.0 in forum Comments/Suggestions/Broken Links & Download Problems
    Replies: 7
    Last Post: 15th-March-2004, 21:41
  2. Does a ROM lose quality after compression?
    By Grim Reaper in forum Computer Corner
    Replies: 3
    Last Post: 23rd-September-2003, 00:03
  3. Invalid Compression
    By danielwalsh2000 in forum ROM & ISO Requests
    Replies: 1
    Last Post: 21st-July-2002, 15:33
  4. compression utility
    By gotenks_2322 in forum ROM & ISO Requests
    Replies: 1
    Last Post: 4th-June-2002, 07:44

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About Us

We are the oldest retro gaming forum on the internet. The goal of our community is the complete preservation of all retro video games. Started in 2001 as EmuParadise Forums, our community has grown over the past 18 years into one of the biggest gaming platforms on the internet.

Social