Releases: PowerBeef/discpress
Release list
Discpress v1.7.0
Discpress 1.7.0 knows your games better: the right names for more of them, more consoles recognized, and a warning before you make a CHD your emulator can't play.
Get it
- ⬇ discpress.html (about 3 MB): the whole app in one file you keep. If you use the downloaded file, download it again for this version.
- 🌐 powerbeef.github.io/discpress: nothing to download, and the way to convert big games on iPhone and iPad. It updates itself.
Better names
- Sega's own US games are named right. Dreamcast, Saturn and Sega CD games Sega published in the US (18 Wheeler, Amok, The Adventures of Batman and Robin and many more) got the European release's name, or none on Sega CD.
- Each disc of a Sega game is named for itself. Saturn and Dreamcast discs say which disc of the set they are, so Disc 2 is no longer named Disc 1, and the set gets its playlist.
- A release of your disc's size wins over another one that shares its serial number, and a release for another region than the disc's no longer names it.
- Sets lettered Disc A and Disc B get a playlist too.
Known games
- PAL PlayStation games protected by LibCrypt (195 of them) warn when their
.sbifile wasn't added: without it, emulators stop them partway. Add it and it is saved next to the CHD, under its name. DuckStation's.lsdfiles work the same way. - A disc of a set says how many discs the set has, until you have converted all of them for its playlist.
More consoles recognized
- Jaguar CD discs are recognized, from the header in their audio tracks.
- PC Engine CD and PC-FX discs that also carry a PC file system are no longer taken for PC discs.
- Amiga CD32 and CDTV are told apart better, and more Neo Geo CD and CD-i discs are recognized.
- PlayStation 2 games missing from the database become DVD or CD CHDs from what the disc is, not only from its size.
- Video CDs, DVD-Video, Blu-ray and UMD Video discs are recognized as films, with a note that video players and PPSSPP don't play them from CHDs.
CHDs that load where you play
- Saturn and Sega CD games no longer keep their cue sheet in the CHD when Settings asks for it: Kronos, Yabause and jgenesis can't open such a CHD. The card says so.
- NAOMI GD-ROMs keep their file's name, which MAME and Flycast look for in the game's romset.
- Faster to load (Zstd) warns for more consoles: PlayStation 2 (AetherSX2 and NetherSX2), Dreamcast and NAOMI (Flycast before 2.3), and PC-FX. The MiSTer preset now gives the same warnings, since it uses Zstd too, and says when MiSTer has no core for the console.
Warned in time
- Discs that convert but won't play right somewhere now say so on their card: discs with two sessions (MIL-CDs, Enhanced CDs, every Jaguar CD), Dreamcast MODE2/2048 tracks (Flycast refuses them), 2,048-byte PlayStation ISOs (videos and sound may be missing), and cue sheets with PREGAP or POSTGAP lines or track layouts that particular Saturn, Sega CD, PC Engine, PlayStation and Neo Geo CD emulators misread. Each note names the emulator.
- CD+G (karaoke) cue sheets are refused with the reason, instead of failing when converting.
Valid discs give the same CHDs as before, byte for byte the same as chdman 0.289's with the default settings.
Discpress is free and open source under the BSD 3-Clause license. See the README for help and the FAQ.
Discpress v1.6.0
Discpress 1.6.0 can check every CHD it makes, and guards against what could quietly spoil one.
Get it
- ⬇ discpress.html (about 3 MB): the whole app in one file you keep. If you use the downloaded file, download it again for this version.
- 🌐 powerbeef.github.io/discpress: nothing to download, and the way to convert big games on iPhone and iPad. It updates itself.
Verify what you make
- Every finished CHD has a Verify button. It reads the CHD back and checks that it holds exactly the data it was made from.
- Settings → "Verify each new CHD after creating it" does that after every conversion.
- When a helper thread fails during a conversion, which a faulty browser engine can cause, the CHD is now checked by itself before the next game starts.
Safer conversions
- Big jobs that can only be kept in memory ask first. When the browser gives Discpress no storage of its own (a downloaded file opened in Chrome or Edge, for example) and a result could be too large to hold, the page says so and how to keep it on disk, before you spend an hour converting.
- A helper thread that answers for the wrong part of a disc is dropped, and the others redo its work, so the CHD is still right.
- Large ECM images show how far reading them has got, and identifying one no longer gives up on a slow device.
Behind the scenes
Every change to Discpress is now tested automatically: the whole test suite runs against the original chdman 0.289 on every change, the app is rebuilt on GitHub's machines to check it comes out byte for byte the published file, and chdman's code is tested with memory and undefined-behavior checkers.
Valid discs give the same CHDs as before, byte for byte the same as chdman 0.289's with the default settings.
Discpress is free and open source under the BSD 3-Clause license. See the README for help and the FAQ.
Discpress v1.5.0
Discpress 1.5.0 adds what chdman users ask for most: it checks every track of a disc against your Redump or No-Intro DAT files, reads games inside .zip archives and PlayStation EBOOT.PBP files, and makes the LibCrypt .sbi file of a PAL PlayStation game from its CloneCD dump.
Get it
- ⬇ discpress.html (about 3 MB): the whole app in one file you keep.
- 🌐 powerbeef.github.io/discpress: nothing to download, and the way to convert big games on iPhone and iPad.
Check your games against DAT files
- Add Redump or No-Intro DAT files (the
.dator.xml, or the.zipthey come in) by dropping them with your games or in Settings → "Your DAT files". They are kept in the browser for your next visits. - Every track of a disc is checked by size and CRC-32 before you convert it, and every track of a CHD after Verify, without extracting it. The card says which game it matches and whether every track does; a fully verified disc is named after that game.
More inputs
.ziparchives work like the files inside them: a zipped cue sheet finds its tracks in the zip. Files stored in the zip are read in place; compressed ones are unpacked first and checked against the zip's checksum.- PlayStation
EBOOT.PBPfiles made with popstation (for a PSP or PS Vita) convert to CD CHDs, one card per disc, named after the game in the file. PlayStation Store downloads are encrypted and can't be read, and the card says so. - LibCrypt from a CloneCD dump: for a PAL PlayStation game, the page reads the
.subfile's subchannel and saves the.sbithat emulators need next to the CHD. An.sbiyou add yourself still takes its place. - Formats Discpress can't read (DiscJuggler
.cdi, Alcohol 120%.mds/.mdf,.isz,.7z,.rar) get a card that says why and what to do, instead of being ignored.
Set up for your emulator
- A "For MiSTer FPGA" compression preset for CDs: Zstd and FLAC in 4-sector hunks, which MiSTer's CD cores read fast enough.
- The card warns when a common emulator can't load the CHD: PCSX2 plays only the first track of a PS2 CD with music tracks, and Flycast 2.7 and earlier can't load CD-based Dreamcast discs whose tracks have pregaps. The Zstd preset also warns for PlayStation, since SwanStation before March 2026 can't read it.
Valid discs give the same CHDs as before, byte for byte the same as chdman 0.289's with the default settings.
Discpress is free and open source under the BSD 3-Clause license. See the README for help and the FAQ.
Discpress v1.4.4
Discpress 1.4.4 fixes the blurred top of the app on iPhone and iPad when it is added to the Home Screen.
Get it
- ⬇ discpress.html (about 3 MB): the whole app in one file you keep.
- 🌐 powerbeef.github.io/discpress: nothing to download, and the way to convert big games on iPhone and iPad.
Fixes
- The header is sharp again in the Home Screen app. Since iOS 26, iOS blurs the top of a Home Screen web app, and that blur covered Discpress's logo, name and Settings button. The header now gives iOS a solid colour to use instead, so the status bar takes the page's colour and nothing is blurred. Nothing changes in Safari or other browsers.
- On phones and tablets the empty page says "Choose your games" from the start, instead of asking you to drop files, which you can't on a touch screen.
Valid discs give the same CHDs as before.
Discpress is free and open source under the BSD 3-Clause license. See the README for help and the FAQ.
Discpress v1.4.3
Discpress 1.4.3 brings back the status line above the cards, now as one slim line.
Get it
- ⬇ discpress.html (about 3 MB): the whole app in one file you keep.
- 🌐 powerbeef.github.io/discpress: nothing to download, and the way to convert big games on iPhone and iPad.
Changes
- The engine's status is back: whether the engine is ready, how many threads compression uses, and where results are kept. Version 1.4.2 had hidden it whenever all was well.
- It always fits on one line. On phones, the threads item drops "Auto" and, on the narrowest screens, steps aside. Warnings, such as results kept in memory, always show.
Valid discs give the same CHDs as before.
Discpress is free and open source under the BSD 3-Clause license. See the README for help and the FAQ.
Discpress v1.4.2
Discpress 1.4.2 makes the page clearer and easier to use, with the same look and the same CHDs.
Get it
- ⬇ discpress.html (about 3 MB): the whole app in one file you keep.
- 🌐 powerbeef.github.io/discpress: nothing to download, and the way to convert big games on iPhone and iPad.
Changes
- Each card is headed by the game's name once Discpress recognizes it, with the file's name underneath. The console, serial number and how the game was matched sit on one line under that, and what the disc is comes before how to convert it.
- The bar at the bottom shows one main button at a time: Start all while there are games to convert, then Download all, with the number of files. Files that can't be converted are counted as that, not as failed, and Clear finished moves out of the way.
- Plainer words. The compression choices say what you get first (smaller, faster to create, faster to load) and which emulators read them. Progress shows "41% of the original" instead of "ratio". A cue sheet without tracks says what to do next. On phones and tablets the page asks you to choose your games instead of dropping them.
- Less on screen. The status line above the cards only appears when something needs your attention, the version badge moved to Help → About, and Settings keeps the scrolling and screen-info options under Troubleshooting.
- Easier to read. Outlines show again in dark mode, small labels are bigger, and Help's text has shorter lines.
- Better with screen readers and keyboards. A finished or failed conversion is announced, progress bars say how far along they are, each card's remove button names its game, the tabs work with the arrow keys, and the bottom bar no longer hides the button you tab to.
Valid discs give the same CHDs as before.
Discpress is free and open source under the BSD 3-Clause license. See the README for help and the FAQ.
Discpress v1.4.1
Discpress 1.4.1 gets past a fault in some browsers' WebAssembly engines that could stop a conversion with "Out of bounds memory access".
Get it
- ⬇ discpress.html (about 3 MB): the whole app in one file you keep.
- 🌐 powerbeef.github.io/discpress: nothing to download, and the way to convert big games on iPhone and iPad.
Fixes
- A helper thread that fails no longer stops the conversion. Some versions of Safari's WebAssembly engine (and of WebKit, which every browser on iPhone and iPad uses) now and then miscompile the code that compresses a disc, and one of the conversion's threads stops with "Out of bounds memory access". The other threads now take over its work. If none is left, the conversion runs once more from the start. Either way the CHD is exactly the one it would have been.
- Extracting and verifying go on as well when threads stop: the others, or the main one, take over their work.
- If the conversion fails again, the message says it's the browser's fault, not your files', and to update iOS or Safari (or, on a computer, to use another browser). It no longer suggests trying with 1 thread, which doesn't help with this.
Valid discs give the same CHDs as before.
Discpress is free and open source under the BSD 3-Clause license. See the README for help and the FAQ.
Discpress v1.4.0
Discpress 1.4.0 sets up your games for the emulator that will play them: it keeps a PlayStation game's .sbi file, makes playlists for games on several discs, and warns where a console's emulators can't read a setting. It also closes the last items from the full review of the app, and reads more kinds of disc images correctly.
Get it
- ⬇ discpress.html (about 3 MB): the whole app in one file you keep.
- 🌐 powerbeef.github.io/discpress: nothing to download, and the way to convert big games on iPhone and iPad.
Set up for your emulator
- A PAL PlayStation game's
.sbifile (LibCrypt protection data), added with its.cueand.bin, is saved next to the CHD under the CHD's name, where DuckStation, Beetle PSX and other emulators look for it. - Games on several discs get an
.m3uplaylist once two or more discs are converted: keep it with the CHDs and open it, so the emulator can swap discs. - AetherSX2 and NetherSX2 (Android): Settings → "PlayStation 2 DVD games" can make CD CHDs of DVD games, the only kind those emulators read.
- The Zstd preset warns for consoles whose emulators can't read it (Saturn, 3DO, Sega CD, PC Engine CD, Amiga).
- Xbox, Xbox 360 and PS3 discs are recognized, with a note that their emulators don't load CHDs (as for GameCube and Wii).
Disc images read correctly
- Nero images (.nrg) keep the pregaps they store, and tracks after one are no longer shifted. The CHD is now the same as from a cue sheet of the same disc.
- cdrdao TOC files (.toc) are read the way cdrdao writes them: START, PREGAP, SILENCE and ZERO, several files in one track, and a file without a length (the rest of it). Such TOCs used to be refused, or gave a CHD with the wrong layout.
- EAC cue sheets with "gaps appended to the previous track" (a track's pregap at the end of the previous file) make the right CHD.
- A raw .iso of 2,352-byte sectors is recognized whatever its size (some sizes were taken for 2,048-byte images in the Advanced tab).
- Extracting a CD CHD as a DVD in the Advanced tab is an error instead of a meaningless file.
- Extracting a CD as a TOC file gives a TOC that converts back to the very same CHD. The TOC of a disc with pregaps changes by one line: chdman 0.289 added a
ZEROline that made the disc longer when converted back. - TOC files naming
.wavaudio read it as WAV (without the file's header), and data ending inside a sector is padded with zeros, as cdrdao does. - Dreamcast and NAOMI GD-ROMs extracted as a cue sheet convert back to the very same CHD, and "Redump" extraction gives Redump's layout whatever the CHD was made from. A GD-ROM can't be extracted as a TOC file (the format can't describe one), so that is now an error.
- Cue sheets with INDEX points out of order, or a track with no data after its INDEX 01, are errors (chdman 0.289 made tracks of negative length). So is a Nero image whose sector size doesn't match its mode (0.289 crashed or made a CHD of the wrong data).
- TOC files read more of cdrdao's details: a
.wav's offset, a length of 0 meaning the rest of the file, and errors instead of wrong discs for statements past the end of their file. - Damaged audio in a CHD is reported cleanly (arithmetic overflows in the audio decoder are gone; results are unchanged).
Identification
- A CHD made against a parent CHD is identified through its parent.
- PlayStation discs that boot
PSX.EXEget their serial number from the disc. - NAOMI 2 GD-ROMs are named with their right system.
- A damaged ECM image found while checking against the database says so on its card, before you convert it.
Saving and other fixes
- Cancel works while the last writes into a folder are going ("Saving to folder"), and a job that crashes leaves no half-written file.
- Writing into a folder asks before replacing any file already there, each track file of an extract too (only the main file was asked about). A write the folder refuses stops the job at once and removes what it had written.
- Renaming a result into a folder can be canceled.
- A version picked under "Which version?" while the job waits its turn names the result.
- Notifications: Settings → "Notify me when all jobs are done" (asks your browser's permission).
- Download all reminds you to allow the browser's "several downloads" prompt.
- Two open tabs no longer lose each other's list of unsaved results.
- The speed test pauses a game's checksum while it measures (the checksum starts over after it), so it no longer settles on fewer threads.
- Advanced tab: typed commands accept backslash escapes (
my\ game.cue), and names with an apostrophe (Tony Hawk’s.iso) typed with either kind. - A theme picked in Settings shows from the first moment the page opens (Safari briefly showed the other one).
Valid cue sheets, GDIs, ISOs and CHDs give the same CHDs as before, and the same files when extracted, except the GD-ROM changes above. Nero images and TOC files with pregaps, and EAC sheets with appended gaps, give different (correct) CHDs, and TOC files extracted from discs with pregaps lose one wrong line.
Discpress is free and open source under the BSD 3-Clause license. See the README for help and the FAQ.
Discpress v1.3.8
Discpress 1.3.8 recognizes more of your games and copes better with damaged or unusual files. This is the second and third round of fixes from the full review of the app.
Get it
- ⬇ discpress.html (about 2.9 MB): the whole app in one file you keep.
- 🌐 powerbeef.github.io/discpress: nothing to download, and the way to convert big games on iPhone and iPad.
Identifying games
.tocand.nrgdiscs are identified. Games added as a cdrdao TOC or a Nero image were always "Game not recognized", so their results kept the file's name.- CHDs with Mode 2 data tracks are identified. A CHD made from a cue sheet with
MODE2/2048orMODE2/2336tracks was never recognized. - Games with two serial numbers are found. Discs listed in the database under a serial like
SLES-04107/SLES-04108weren't matched by the serial on the disc. - A serial the database doesn't know no longer ends the search. A CHD whose serial isn't listed can still be named by the size of its data track, as other CHDs already were.
- The version you pick is kept. Choosing under "Which version?" while the app was still checking the game against the database was undone when the check finished. A version picked while converting now names the results too.
- Identification can't block the queue. If the part of the app that reads a CHD or compressed ISO stopped (an iPhone short on memory, for example), that game stayed at "Identifying game…" and every game added after it waited forever. It now reports that it couldn't identify the game, and the next one goes ahead.
Damaged and unusual files
- Extracting a damaged CD CHD reports the damage. It used to finish as if all was well and write wrong data (chdman 0.289 does the same).
- Very small CHDs can be read. A CHD of a few seconds of data was written with a broken index and couldn't be opened afterwards.
- Malformed cue sheets, TOC files, GDI files and Nero images are refused with a message instead of crashing or hanging: lines before the first track, a missing GDI track file, broken Nero images.
- A cue sheet with several tracks in one file followed by another file no longer gives the last of those tracks the whole file.
- Data tracks in a file marked MOTOROLA are no longer byte-swapped.
- A result can't be written over one of the game's own track files.
- File names in single quotes in cue sheets are read as chdman reads them.
Saving and storage
- Removing a finished job, or Clear finished, asks first when its results haven't been saved, and the files can then be added again.
- Writing into a slow folder (a USB stick, a network share) no longer piles the whole result up in memory: the conversion waits for the folder to catch up.
- A cancelled conversion's partial file is removed from the browser's storage, and the Advanced tab's results are cleaned up when the next command runs and by Clear temporary storage.
- "Storage full" is said in words, instead of "[object Object]".
- "From your last visit" deletes a job's files together, with one button.
Other fixes
- A hunk size picked for a DVD no longer makes the conversion fail when the game turns out to be a CD.
- A cue sheet added after the .iso it lists takes it over, instead of waiting for a file that is already there.
- macOS "._" files (on exFAT drives and in zips) are no longer taken for games.
- The online version shows its saved copy if GitHub Pages answers with an error.
The CHDs are the same as 1.3.0's, except very small ones, which chdman 0.289 wrote unreadable.
Discpress is free and open source under the BSD 3-Clause license. See the README for help and the FAQ.
Discpress v1.3.7
Discpress 1.3.7 fixes the most serious problems found by a full review of the app: jobs that could hang or keep running after Cancel, files in your output folder that could be deleted, and games that could be built from another game's tracks.
Get it
- ⬇ discpress.html (about 2.9 MB): the whole app in one file you keep.
- 🌐 powerbeef.github.io/discpress: nothing to download, and the way to convert big games on iPhone and iPad.
Fixes
- Cancel works from the moment you press Start. While a job was still identifying the game or measuring the device, Cancel did nothing and the job converted anyway. Removing a job then only hid it: it kept converting in the background.
- Removing a job no longer freezes the queue. Removing a started job that was still waiting for identification left every other job "Queued" until the page was reloaded.
- Your output folder is safe. Cancelling, or a failed job, deleted a file of the same name that was already in the folder. Now a file already there is replaced only if you agree, and a cancel leaves it as it was. Two games that get the same name no longer silently overwrite each other.
- Each game uses its own tracks. Adding a folder of several games (Dreamcast GDIs all use
track01.bin), a game with a missing track quietly took the same-named file from another game's folder, making a CHD of two discs. It now waits for its own file. Files of the same name, size and date in different folders are no longer taken for duplicates. - A damaged audio track no longer hangs Verify or Extract. chdman 0.289 looped forever on some damaged FLAC data; it's now reported as a decompression error.
- A helper thread that fails to start (an iPhone short on memory, for example) stops the job with a message instead of leaving it at 0% forever.
- Music CDs and PC discs are no longer named after a random game. A track that happened to have the size of some game in the database was taken as that game.
The CHDs are the same as 1.3.0's.
Discpress is free and open source under the BSD 3-Clause license. See the README for help and the FAQ.