Skip to content

OpenROM v2.7.0

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Sep 11:33
· 4 commits to main since this release
8ef3d49

OpenROM v2.7.0

Universal Retro Gaming Toolkit — convert, patch, compress, and manage your ROM collection.

Each download includes:

  • OpenROM — Flutter desktop GUI
  • openrom-core — headless CLI (used internally by the GUI, also available for scripting)

🆕 What's New in 2.7.0

New Platform Detection

OpenROM now automatically identifies 4 additional platforms via magic byte detection:

  • Sega Saturn
  • Sega CD / Mega-CD
  • PC-Engine CD / TurboGrafx-CD
  • Neo Geo CD

These join the existing detection for PS1, PS2, PSP, Xbox, GameCube, Wii, and Dreamcast — all based on actual header bytes, not file size guessing.

License

OpenROM is now pure GPL v3 — all traces of the Commons Clause have been removed from the license, source files, and metadata. This makes OpenROM fully OSI-compliant and eligible for Flathub and Linux distribution packaging.


🔧 Bug Fixes (from v2.6.1)

Critical — ISO → CHD Wrong Command

PS1 and Dreamcast ISOs were incorrectly converted using chdman createdvd instead of chdman createcd. This produced corrupt or unplayable CHD files. Now fixed — the correct command is selected automatically based on platform detection.

Xbox ISO Detection

Xbox ISOs with magic bytes at offset 0x2090000 (alternate layout) were previously misidentified as PS2 or Unknown. Now fixed — both offsets are checked via a fast in-memory path and a slow file seek fallback.


🛡️ Antivirus False Positives

In v2.6.1 we migrated openrom-core from PyInstaller to Nuitka, reducing AV detections from 27/67 → 14/67 on VirusTotal.

The remaining 14 detections originate from two bundled third-party tools:

  • ecm.exe — flagged by MaxSecure only (suspicious.gen heuristic)
  • maxcso.exe — flagged by Trapmine only (ml.score ML heuristic)

Both are established open-source tools with clean histories. False positive reports have been submitted to both vendors. See SECURITY.md for SHA256 checksums of all bundled binaries.

Special thanks to @r3tr0g4m3r for reporting the antivirus detection in issue #17 with full details including SHA256 hash and AV version — exactly the kind of report that helps us improve. 🙏


💻 CLI Usage

# Detect file format and platform
openrom-core --detect game.iso

# Convert a single file
openrom-core --input game.iso --format CHD

# Batch convert a folder
openrom-core --folder /roms/ --format CHD --compression Max

# Apply a patch
openrom-core --patch game.sfc --patch-file hack.ips

# Compress to 7Z
openrom-core --compress game.iso --format 7z --level ultra

# Remove ROM header
openrom-core --remove-header game.smc

# List supported formats
openrom-core --list-formats

📦 Supported Formats

Platform Input Output
PS1 BIN/CUE, ISO CHD (createcd), ECM
PS2 ISO CHD (createdvd), CSO
PSP ISO CSO
GameCube / Wii ISO RVZ, WIA, GCZ
Xbox ISO XISO
Dreamcast GDI, BIN/CUE CHD (createcd)
Sega Saturn BIN/CUE CHD
Sega CD BIN/CUE CHD
Universal Any ROM ZIP, 7Z
Universal Any ROM Patch (IPS, BPS, UPS, xdelta3, PPF…)

⬇️ Downloads

Platform File
🪟 Windows OpenROM-v2.7.0_Windows_Portable.zip
🐧 Linux OpenROM-v2.7.0_Linux_x86_64.zip
🍎 macOS Apple Silicon OpenROM-v2.7.0_macOS_arm64.zip
🍎 macOS Intel OpenROM-v2.7.0_macOS_x86_64.zip

Download OpenROM


🔐 Verification

Verify your download against the SHA256 checksums in SECURITY.md.

# Linux / macOS
sha256sum OpenROM-v2.7.0_Linux_x86_64.zip

# Windows (PowerShell)
Get-FileHash OpenROM-v2.7.0_Windows_Portable.zip -Algorithm SHA256

M5 Dev