Skip to content

1.0.4

Choose a tag to compare

@github-actions github-actions released this 11 May 10:36

P-ROM Bank Swap Auto-Detection

The --swap-p option now defaults to auto. neoconv inspects the M68000
exception-vector table in both 1 MB halves of a 2 MB P-ROM and automatically
determines whether a half-swap is needed — no manual guesswork required for
unknown dumps or hacks. The result is printed as a diagnostic line during
packing. Manual override remains available via --swap-p yes or --swap-p no.

A new detect-swap subcommand allows inspecting a P-ROM or MAME ZIP without
packing it:

neoconv detect-swap mygame.zip

GUI — Major Overhaul

Drag and drop
All file input fields accept drag and drop. Drop a .neo file or MAME ZIP
directly onto any tab — no need to use the file browser.

Progress bar and Cancel
Extract, Pack, and Verify tabs each show a progress bar and a Cancel button.
All operations run in a background thread — the UI stays responsive during
long operations. Cancel requests are handled at the next safe checkpoint.

Real-time input validation (Pack tab)
The Pack tab continuously validates all inputs and shows a colour-coded status
line below the controls:

  • Missing or invalid input path
  • Non-integer values for Year, NGH, Screenshot
  • Missing required ROM roles (P, S, M) detected by scanning the ZIP or
    directory in the background — with debouncing so it does not re-scan on
    every keystroke

Metadata field byte-limit enforcement
Name is hard-limited to 32 bytes and Manufacturer to 16 bytes (latin-1
encoded), matching the .neo header format. Characters beyond the limit are
rejected immediately while typing rather than silently truncated at pack time.

P-ROM swap radio (Pack tab)
The P-ROM bank swap option is now a three-way radio button:
Auto-detect (default) / Yes / No.

Settings persistence
All tab inputs, format selections, C chip size, swap mode, and window geometry
are saved on close and restored on next launch. Settings are stored in the
platform-appropriate config directory:

Windows : %APPDATA%\neoconv\config.json
macOS : ~/Library/Application Support/neoconv/config.json
Linux : ~/.config/neoconv/config.json

Reset all tabs
A "Reset all tabs" button in the toolbar restores all inputs to their defaults.
Blocked while an operation is running.

Extract output mode
Extract tab now offers a choice between ZIP output and directory output.

Darksoft format support
MAME and Darksoft output formats are selectable via radio button in Extract
and Verify tabs.

Resizable window
The main window is now resizable so the log area can grow as needed.

Prebuilt Binaries

Native GUI binaries are now provided for Windows, macOS, and Linux on the
Releases page. No Python installation required.

Windows : neoconv-gui-x.y.z-windows.exe — run directly
macOS : neoconv-gui-x.y.z-macos.zip — unzip, double-click .app
(first launch: right-click -> Open to bypass Gatekeeper)
Linux : neoconv-gui-x.y.z-linux — chmod +x, then run

CLI

  • detect-swap subcommand added
  • --swap-p accepts auto (default), yes, no
  • verify output uses consistent [OK] / [ERROR] / [WARN] markers throughout