Repository navigation
v1.4.2
·
38 commits
to main
since this release
What's New in CHDSharp
Final chdman parity gaps closed — battle 2907/2907
- LZMA byte-parity hash-update-order bug fixed (
c470879): raw encoding now replicateschd.cpp's 256-hunk compression work buffer (RingBufferedRawReader) — ring slots past EOF keep stale bytes from the previous 128-hunk batch and the raw SHA-1 folds only valid bytes, exactly likem_compsha1.append(dest, numbytes). Also touchesFlacLpcMath,LzmaEncoderand the FLAC encoder for byte-exact output. createhdsize / CHS quirks (e4f3735): size parsing now matcheschdman.cpp:2035(sscanf("%I64u")reads leading digits only, so"512K"= 512 bytes) and small sizes are rounded up to the guessed CHS product (guess_chsparity), including theIDENT/GDDDwide-CHS case.- Laserdisc AVI byte-parity (
e4f3735):AviWriteroutput is now byte-identical tochdman createld/extractld. - Strict
info/verifyoptions (e4f3735): full-argument option validation (duplicate-i/--inputdetection, per-command option sets),inforeturns exit code 1 on failure,verifyparity withchdman'sreport_errorhandling. - DVD metadata empty payload (
c470879):DVD_METADATA_TAGwritten with zero-length payload perchdman. - CLI exit codes (
c470879): failure paths now returnchdman-consistent non-zero exit codes. - Test fixes in
CHDSharpEncoderTest/CHDSharpTestaccompany the parity work. Missmatch.mdreplaces the deleteddivergency.mdand records the battle result: 2907 checks — 2907 passed, 0 failed against MAME 0.289.
CLI improvements
createrawnow also accepts--hunk-size/--unit-sizealiases alongside--hunksize/--unitsize/-hs/-us(ea375e1).extractcdfilename template%tregex fixed (named capture groups; escaped%%handling) (ea375e1).hashcommand help corrected:--result text|json|sfvand--tracksflags (ea375e1).createhdgeometry override viaLogicalLengthBytesfor byte-parity encoding of over-/under-sized sources (c470879).
Build & tests
CHDSharpBattleTestmulti-targetsnet8.0;net9.0;net10.0withLangVersion=latestand copies the built CLI into its output for self-contained battle runs (e4f3735).- Analyzer warnings silenced (MA0008 StructLayout, unused-variable suppressions) (
aaad13d). - Formatting and style pass across CLI, encoder, and vendored codecs (
2e3a1e9,b858192).
Documentation
- New CLI command reference:
docs/cli-commands.md(413 lines) plus expandedCHDSharpCli/README.md— fullchdman/CHDSharp argument tables for every command (2bef641e). - CHD format history added to
docs/chd-format.md; language simplified and stale DVD metadata notes corrected (d208521). - Wiki home page (
docs/README.md) rewritten with CHD history;ReleaseNotesadded to sidebar and_config.yml(ff51e98). - Docs site URL fixed to the GitHub repository (
3dedc71). - Peterson Fernandes added to key contributors across all docs (
dfb74b7).