Skip to main content

Command-line utility to convert a CloneCD .img file to a .iso file

Project description

ccd2iso

Command-line utility to convert a CloneCD .img file to a .iso file.

This is a fork of ccd2iso, a project by Danny Kurniawan and Kerry Harris. Besides being Python-based and easier to build on Windows, this fork adds a little more error handling and a progress bar.

Installation

You can grab appropriate binaries for your system on the releases page. These are self-contained and don't have any external dependencies. Either drop the executable somewhere in your PATH or manually navigate to it each time you want to use ccd2iso, I can't tell you what to do.

Or if you prefer using pip:

pip install ccd2iso

If you go the pip route you'll need Python 3.8+, because I like the walrus operator too much.

Usage

usage: ccd2iso [-f] [-q] [-v] [-?] img [iso]

Convert CloneCD .img files to ISO 9660 .iso files.

positional arguments:
  img             .img file to convert
  iso             filepath for the output .iso file

optional arguments:
  -f, --force     overwrite the .iso file if it already exists
  -q, --quiet     don't output conversion progress
  -v, --version   show program's version number and exit
  -?, -h, --help  show this help message and exit

Usage is pretty straightforward, just hand ccd2iso a .img file and a filepath to spit out a .iso file. If you're lazy you can hand ccd2iso just the .img file and it'll output to the same folder with the same filename, just with the extension changed.

Most of the time, you'll call it like this:

ccd2iso totally_legal_game_disc.img

If you don't want to see a progress bar for some reason, pass --quiet or -q.

ccd2iso won't overwrite any .iso file unless you tell it to with -f or --force. It uses a temporary file when reading the .img file, so even with -f your .iso won't get overwritten with an invalid file. In rare cases, such as when you have the iso file mounted in Windows, ccd2iso won't be able to overwrite the file. When this happens it'll tell you, and give you the location of the temp file containing your completely valid .iso data.

As a library

ccd2iso contains a convert() function that can be used outside of the command-line interface, if for whatever reason you'd prefer to run conversions from your own Python code:

def convert(src_file: BytesIO, dst_file: BytesIO, progress: bool = False, size: int = None) -> None:
    """
    src_file -- CloneCD disc image bytestream (typically with a .img extension)
    dst_file -- destination bytestream to write to in ISO 9660 format
    progress -- whether to output a progress bar to stdout
    size -- size of src_file, used to calculate sectors remaining for progress
    """

ccd2iso.clonecd also contains some C-style structures representing the CloneCD .img file format. This is completely based on Danny Kurniawan's research and I can't take any credit for it.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccd2iso-0.0.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

ccd2iso-0.0.1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file ccd2iso-0.0.1.tar.gz.

File metadata

  • Download URL: ccd2iso-0.0.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for ccd2iso-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c24350b92e39b10201f7aa63304659ea663bca5ba8482acf171f0a29042a22a3
MD5 95ed37f2132dd0c263bac354c21abb7a
BLAKE2b-256 5019c69f7bbe04f5025847a3e36c6b8028e349acc630fbdf073c5f0c63a1757b

See more details on using hashes here.

File details

Details for the file ccd2iso-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: ccd2iso-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for ccd2iso-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ba9c995307821d4aa5fbf32dc43b544a914ce6de81755f9d6fd720b7ea10b19
MD5 93632d48fb0a6fc6b6441597b513959c
BLAKE2b-256 70a18d4e0e7026306e1c10fd367da3a8396839d9ade04eb65930e7f04a2edf39

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page