https://github.com/emmercm/chdman-js
💿 chdman binaries and wrapper for Node.js.
https://github.com/emmercm/chdman-js
chd chdman isos mame roms
Last synced: about 2 months ago
JSON representation
💿 chdman binaries and wrapper for Node.js.
- Host: GitHub
- URL: https://github.com/emmercm/chdman-js
- Owner: emmercm
- License: gpl-3.0
- Created: 2024-03-03T21:12:00.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-05-03T19:48:59.000Z (about 2 months ago)
- Last Synced: 2026-05-03T20:10:59.752Z (about 2 months ago)
- Topics: chd, chdman, isos, mame, roms
- Language: TypeScript
- Homepage: https://github.com/emmercm/chdman-js
- Size: 48.3 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
💿️ chdman
Pre-compiled binaries and Node.js wrapper for MAME's chdman tool.
## Supported platforms
| OS | Architectures |
|--------------|-------------------------------------------------------------------|
| Windows |
- x64
- arm64
| macOS |
- arm64 (Apple Silicon)
- x64 (Intel)
| Linux (musl) |
- x64
- x86
- arm v7
- arm64 v8
## 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.