You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
--v-bank-size for extract (CLI and GUI): choose the size of each v1, v2, … file when splitting V ROM (default 2 MB; presets 512 KB–16 MB in the GUI, any byte value on the CLI).
C ROM chips C9–C16 when packing MAME sets (extended / hack ROM layouts beyond the standard eight C chips).
Pack from unzipped folders: reads ROM files in the selected directory and one level of subfolders (typical unzip layout).
GUI pack preflight: warns when V or C ROM numbering has gaps (e.g. v1 + v3 without v2) before you pack.
Extract overwrite warnings: existing output files are replaced with a visible warning (CLI → stderr, GUI → log).
Changed
C chip size on extract: default is now a fixed 2 MB per chip (CLI 0, GUI “2 MB (default)”). The old auto (C_total ÷ 2) mode was removed — it could silently produce wrong c*.bin files for multi-bank sets. Use MAME neogeo.xmlsize attributes or the GUI/CLI presets (e.g. 4 MB for Neo Turf Masters).
V/C ROM gaps when packing now abort with an error instead of continuing with a broken layout.
P-ROM auto-swap: when detection is inconclusive, pack logs [WARN] and suggests neoconv detect-swap or --swap-p yes / no.
CLI errors: pack, extract, and other commands report Error: … and exit code 1 instead of a Python traceback for typical failures.
Core package layout: neoconv.core is split into focused modules; several semi-public helpers were renamed (no leading underscore).
Fixed
Atomic writes for pack output (.neo) and extract-to-ZIP (same pattern as edit); reduces risk of truncated files if a run is interrupted.
GUI worker thread safety (Tk updates via a main-thread queue).
Synthetic S-ROM filename heuristics aligned with more MAME set patterns.
.neo metadata edits (edit) rewrite the header without re-parsing ROM payloads.
V1/V2 header read/write behaviour documented; non-standard split V sizes trigger a warning on load.
Various pack/extract edge cases (duplicate ROM roles, sorted directory iteration, P-ROM swap immutability).
Documentation
README: C9–C16, C/V chip and bank size tables, neogeo.xml lookup hints, pack gap behaviour, detect-swap vs GUI Pack auto-detect, --out-dir vs --out, atomic output, extract overwrite behaviour.
Drag & drop (tkinterdnd2) and release workflow notes updated.