UNPKG

chdman

Version:

💿 chdman binaries and wrapper for Node.js.

96 lines (75 loc) 3.91 kB
<h1 align="center">💿️ chdman</h1> <p align="center"><b>Pre-compiled binaries and Node.js wrapper for MAME's <a href="https://docs.mamedev.org/tools/chdman.html">chdman</a> tool.</b></p> <p align="center"> <a href="https://www.npmjs.com/package/chdman"><img alt="npm: version" src="https://img.shields.io/npm/v/chdman?color=%23cc3534&label=version&logo=npm&logoColor=white"></a> <a href="https://www.npmjs.com/package/chdman"><img alt="npm: downloads" src="https://img.shields.io/npm/dt/chdman?color=%23cc3534&logo=npm&logoColor=white"></a> <a href="https://github.com/emmercm/chdman-js"><img alt="GitHub: stars" src="https://img.shields.io/github/stars/emmercm/chdman-js?style=flat&logo=github&logoColor=white&color=%236e5494"></a> <a href="https://github.com/emmercm/chdman-js/blob/main/LICENSE"><img alt="license" src="https://img.shields.io/github/license/emmercm/chdman-js?color=blue"></a> </p> ## Supported platforms | OS | Architectures | Additional Instructions | |---------|-------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Windows | <ul><li>x64</li><li>x86</li></ul> | | | macOS | <ul><li>arm64 (Apple Silicon)</li><li>x64 (Intel)</li></ul> | | | Linux | <ul><li>x64</li><li>x86</li><li>arm (armhf)</li><li>arm64 (aarch64)</li></ul> | [SDL2](https://www.libsdl.org/) is required to be installed separately:<ul><li>Debian: `apt-get install libsdl2-2.0-0`</li><li>Gentoo: `emerge libsdl2`</li><li>Red Hat: `dnf install SDL2`</li></ul> | ## Running You can easily run the `chdman` binary for your OS from the command line like this: ```shell npx chdman [command] [options..] ``` Examples: ```shell npx chdman help npx chdman info --input Image.chd npx chdman createcd --input Disc.cue --output Disc.chd ``` ## Installation ```shell npm install --save chdman ``` ## Usage ```javascript import chdman from 'chdman'; /** * Create and extract hard disks */ await chdman.createHd({ inputFilename: 'original-image', outputFilename: 'image.chd', }); console.log(await chdman.info({ inputFilename: 'image.chd' })); // { inputFile: 'image.chd', fileVersion: 5, ... } await chdman.extractHd({ inputFilename: 'image.chd', outputFilename: 'extracted-image', }); /** * Create and extract CD-ROMs */ await chdman.createCd({ inputFilename: 'Original.cue', outputFilename: 'CD.chd', }); console.log(await chdman.info({ inputFilename: 'CD.chd' })); // { inputFile: 'CD.chd', fileVersion: 5, ... } await chdman.extractCd({ inputFilename: 'CD.chd', outputFilename: 'Extracted.cue', outputBinFilename: 'Extracted.bin', }); /** * Create and extract DVD-ROMs */ await chdman.createDvd({ inputFilename: 'Original.iso', outputFilename: 'DVD.chd', }); console.log(await chdman.info({ inputFilename: 'DVD.chd' })); // { inputFile: 'DVD.chd', fileVersion: 5, ... } await chdman.extractDvd({ inputFilename: 'DVD.chd', outputFilename: 'Extracted.iso', }); ``` ## License MAME and its tools are licensed under the GPLv2 license.