ClrMamePro Changelog

What's new in ClrMamePro 4.035

Aug 31, 2018
  • added: batcher, scanner, auto save have/miss list options
  • fixed: case rename on eFAT formatted drives does not work
  • fixed: profiler sorting of items in "new datfiles
  • fixed: possible archive loss when fixing names in password protected 7z sets and not using 7z's native rename
  • fixed: setinformation attributes (size/hashes) for clonesamples/clonechds aren't listed sometimes
  • fixed: clone sets which only consist of chd nodumps appear wrongly as missing
  • fixed: chd-only clone sets which only consist of a parent clone are wrongly listed as missing set
  • fixed: bad 32bit cast causes name check to fail for > 32bit sized files
  • fixed: hashcollision check different sha1 values are not detected when crc32s are identical
  • misc: strenghten merge attribute rule when datfile holds merge attributes and you got parse merge attributes on
  • misc: don't show "Sets Option Disabled" warning in batch mode
  • misc: prompt rebuilder errors only once per destination file
  • misc: updated to 7z sdk 18.05, rar to 5.60, zipArchive lib to 4.6.6

New in ClrMamePro 4.034 (Jun 30, 2018)

  • fixed: due to a cache flag error, in non-merged mode, cmpro took merge attribute information for names into account which is wrong
  • fixed: setinfo, falsely hide empty parent set and its clones in tree when parent is empty but clones got content
  • fixed: scanner, falsely list empty parents set in full merged mode as wrong named when parent is empty
  • fixed: scanner, falsely list empty parent set in full merged, multi-software list mode as missing when set exists in various software lists
  • fixed: miss list generator falsely lists sampleonly sets when they only reference parent samples
  • fixed: scanner, falsely show wrong case set messages when missing option is turned off
  • misc: allow romclones to be sampleparents
  • misc: switched to visual studio 2017 (also for updater)
  • misc: updated zipArchive lib to 4.6.5, 7z sdk to 18.01

New in ClrMamePro 4.033 (Sep 5, 2017)

  • fixed: xml parser to handle > character within an xml attribute correctly
  • fixed: wrong "missing but fixable" message (mainly chd) when set check is disabled which covers the actual message
  • fixed: dir2dat archives with folders produce wrong output
  • fixed: stats count of missing roms for clone sets which only consist of parent roms (and chds)
  • fixed: stats count of missing chds in case set check is disabled
  • fixed: fixmissing skips the set with the missing file itself for checking for a possible match and might miss a possible fix (pretty rare that a set holds identical files, but e.g. MAME's 188 "pippin" does)
  • misc: use MoveFile instead of CopyFile also for disabled remove-rebuilt-source when possible
  • misc: drag'n drop operations now work when you use "run as admininistrator" to run cmpro in an UAC protected folder
  • misc: changed softwarelist import to always import all and filter specific afterwards. Solves problem where MAME does not print out data for some.
  • misc: remove possible empty setfolder when a chdfile is moved
  • misc: cmpro.ini setting Adv_AvoidPCSleep=on can be used to avoid PC switching to hibernate/sleep mode during scan/merge/rebuild/dir2dat operations (default = on, i.e. it won't switch)
  • misc: updated to rar 5.50

New in ClrMamePro 4.032 (May 17, 2017)

  • fixed: dir2dat creates subfolders for found filenames with `. Now it translates it to ' (as the parser does anyway)
  • fixed: unique softwarelist folder check can fail and only show an empty list instead of details
  • fixed: batcher's "for rompath naming use "dafilefolder" created double foldernames when using dats with subfolders
  • fixed: batcher's "for rompath naming use "datfile name tag" or "datfile file" was not working
  • fixed: batcher's "for default naming use" options does not use the global profiler setting anymore
  • fixed: don't list existing parent roms in completely missing clones' output
  • fixed: profiler hides empty folders
  • fixed: wrong bios set assignment in non rom-merge-parse-mode for some sets which use merge tags to link to bios roms
  • fixed: profiler context menu tree delete folder switched to 'delete profile' when a profile in list view was selected
  • fixed: problem with memoryfile exceptions when working with enabled headers
  • added: batcher option to skip scan run when a batch rebuild did not create any files
  • misc: updated fuzzy set name check routine (which is rarely used though) giving more robust results
  • misc: better profiler tree display when delete/reset/clean cache on a folder or move profile (not jumping to root and collapsing the tree)
  • misc: show red/green dot profiler tree folder icons when profiles contain at least one red or only green items
  • misc: updated to zip archive: 4.6.4

New in ClrMamePro 4.031c (Dec 23, 2016)

  • fixed: falsely create sampleOnly sets from empty sets (MAME >.180 genpin issue)

New in ClrMamePro 4.031b (Oct 31, 2016)

  • fixed: statistic count values for sets which do not really exist (e.g. sets with only biosroms and nodumps/samples)
  • fixed: fix test for unneeded rom/detecting not separated biosrom checks interfear and you need a 2nd scan to get rid of it (MAME .178 decoccass v0a-.7e issue)

New in ClrMamePro 4.030a (Aug 11, 2016)

  • fixed: scanner speed regression on crc32 collision sets

New in ClrMamePro 4.030 (Aug 10, 2016)

  • added: supporting crc32 collisions within sets (equal crc32, different sha1/md5)
  • added: missing/total chds column for profiler and htmlReport
  • fixed: having set folders and archives can create wrong missing roms messages (mainly on Linux/ext4)
  • fixed: unneeded chds are not showing up if nothing of the set exists
  • fixed: MAME -listxml output was not taking changed temporary folder into account
  • misc: slight rebuilder speed update for rebuilding separated bios files
  • misc: updated unrar dll to 5.40.4
  • misc: compiled with VS Studio 2015 Update 3

New in ClrMamePro 4.029b (Jun 15, 2016)

  • misc: updated unrar dll to 5.40.2
  • misc: updated to 7z sdk/dll 16.02
  • misc merger: "clean sets" option gets disabled when "move sets to" option is used. Otherwise it's too risky to accidently wipe out sets when doing multiple runs.
  • misc: compiled with VS Studio 2015 Update 2
  • fixed: software list export has a space at the end of the prolog
  • fixed: rare rebuild name-case-pick problem when rebuilding parent/clone sets where the clone uses different case in naming of the parent files
  • fixed: %H does not match all chd-only ones
  • added: setinfo lists referenced device roms in set file list
  • added: settings->compressor->chdman option setting to hide console window during verify process
  • added: batcher scanner option to include/exclude chd decompress in deep modes
  • added: batcher scanner option to disable deep (sha1/md5/full decompress) scan
  • misc: reorganized batcher prop pages (mainly used radio buttons for some options)
  • misc: updated unrar dll to 5.31

New in ClrMamePro 4.029a (Apr 21, 2016)

  • Removed possible merger security issue.

New in ClrMamePro 4.029 (Apr 11, 2016)

  • fixed: software list export has a space at the end of the prolog
  • fixed: rare rebuild name-case-pick problem when rebuilding parent/clone sets where the clone uses different case in naming of the parent files
  • fixed: %H does not match all chd-only ones
  • added: setinfo lists referenced device roms in set file list
  • added: settings->compressor->chdman option setting to hide console window during verify process
  • added: batcher scanner option to include/exclude chd decompress in deep modes
  • added: batcher scanner option to disable deep (sha1/md5/full decompress) scan
  • misc: reorganized batcher prop pages (mainly used radio buttons for some options)
  • misc: updated unrar dll to 5.31

New in ClrMamePro 4.028 (Feb 5, 2016)

  • misc: dir2dat, software exports adds offset=0
  • misc: dir2dat, prevent system sleep mode
  • misc: dir2dat, add manufacturer from folder also works for non-single-set mode
  • misc: dir2dat, when addYear/addManufacturer is used, tags get initialized with "????" (unless they get a value assigned by other options)
  • fixed: setinfo tree disappears when no devices or mechanicals are used

New in ClrMamePro 4.027 (Jan 26, 2016)

  • misc: 32bit version still runs on SSE1 processors
  • misc: compiled with VS Studio 2015 Update 1
  • misc: updated to unrar lib/sdk 5.31.1 and 7z lib/sdk to 15.14
  • misc: prevent system sleep mode for scan, rebuild, merge tasks
  • misc: the minimum value for rebuilder option to skip folder after X skipped files is now 1
  • added: setinfo tree lists empty sets only on request (context menu) and empty tree branches are removed
  • misc: setinfo tree gets reendered on actions (apply, invert, etc) when show enabled/disabled is used
  • added: %r=1, %P=1, %H=1 variable (has roms, is sample-only set, is chd-only set)
  • misc: select sets variables %h,%p,%M,%B,%I,%r,%P,%H also supports =0 now (e.g. %h=1 has chds; %h=0 hasn't chds)
  • removed: cmpro.ini switch Adv_DatFormatXML, Export format (from setinfo) can now be switched in dir2dat
  • added: dir2dat can export in softwarelist format (pretty preliminary but a start)
  • added: dir2dat option add manufacturer -> from folder, which takes the current folder name as manufacturer/publisher (in single set mode only)
  • hint: if you don't collect chds/samples and don't want cmpro to moan about missing sets, you can use %H=1;%P=1 (Apply, Invert, check 'initial invert' checkbox) to disable chd-only and sample-only sets

New in ClrMamePro 4.026 (Oct 26, 2015)

  • fixed: memory corruption and random crash during sethash generation
  • fixed: disabled softwarelists with non-unique assigned paths could lead to wrong missing set messages
  • added: set information copy2clipboard context menu to generate set lists
  • misc: updated 7z library and sdk to 15.09

New in ClrMamePro 4.025 (Oct 13, 2015)

  • misc: better support for UHD screens (button bar, statistic window output, initial default size of sizeable windows)
  • misc: updated unrar library 5.30.5
  • misc: updated 7z library and sdk to 15.08
  • fixed: crash when going from profiler create to scanner setinfo
  • fixed: exception when loading of 7z dll failed
  • fixed: evil romcheck skip when chds of the set are missing and the archive is stored in the same path
  • fixed: re-fixed wrong placed/unneeded chd detection problem when setnames share the same name across software lists
  • fixed: showing wrong bad chd checksum messages when setnames share the same name across software lists and one chd is missing
  • fixed: unneeded set check marks some sets as unneeded when you have a pretty uncommon setup where chds in the dat are listed as roms with subfolders

New in ClrMamePro 4.024 (Sep 24, 2015)

  • fixed: cmpro still shows a wrong checksum message for unneeded chds even after removing them
  • fixed: general 32bit cut down issue when calculating size/checksums of files in zip64 archives
  • misc: xml datfiles with "machine" elements instead of game elements are parsed, too
  • misc: xml datfile export (either setinformation or dir2dat) uses "machine" as set element (cmpro.ini Adv_SetElementXML value holds the value in case you want to change it to "game")
  • misc: updated zipclass library to 4.6.2
  • misc: updated unrar library 5.30.4
  • misc: updated 7z library and sdk to 15.07
  • misc: ah yeah, if you don't know already, zip64 format now is officially supported

New in ClrMamePro 4.023 (Sep 19, 2015)

  • fixed: cmpro did not mark old chd files (replaced with identical named but different checksum files) as unneeded
  • fixed: cmpro oversees some unneeded chds (dupe) chds in sysdef paths when the correct chd is also present (quizard sets)
  • fixed: cmpro doesn't warn about some unpacked rom files within chd subfolders if a rom archive also exists
  • added: setinformation "initial invert" option, which inverts your selection on database load (so you need to manually hit the invert button)

New in ClrMamePro 4.021a (Jul 21, 2015)

  • fixed: nspirit nodump hashcollision issue which was a sideeffect of the 4.020 hashcollision fix

New in ClrMamePro 4.020 (May 29, 2015)

  • misc: using "engine" and "game" elements as defaults which allow loading of new MAME binaries and dats without modifying engine.cfg

New in ClrMamePro 4.019 (May 28, 2015)

  • misc: updated engine.cfg to support MAME .162 (the emulator formerly known as MAME and MESS). You can ignore possible prompts regarding engine.cfg changes, they are normal and they only appear once per profile. The default entry MAME will now work for MAME >= .162. There is a new entry at the end of the list for MAME < 162 if you got the need to read in an old MAME binary.
  • The OLD_MAME entry is for MAME < .84 where -listxml was not supported. Actually engine.cfg is an old quick way to support binaries which only have some output elements renamed and after my summer holiday I might think of a more generic or auto-detect way..but for now it is working fine. This change only affects direct import from the MAME binary. Reading in datfiles will still look at "game" and not "machine" elements.
  • fixed: game name check might produce a wrong warning for full merged chd sets where the parent does not have chds
  • fixed: sampleclones check for sample-only sets fails and reports missing sets

New in ClrMamePro 4.018 (Mar 13, 2015)

  • fixed: official 7z bug which causes a crash when a fake 7z archive file is being processed
  • fixed: rebuilding bios files in hash collide full merge mode creates dupes (this also affects dat export)
  • fixed: wrong statistics "wrong named chd count"

New in ClrMamePro 4.017 (Feb 19, 2015)

  • added: support for biossets with chds
  • fixed: obsolete missing game message for sample-only sets in multi-software list mode
  • fixed: deprecated dat export exports biossets as resource and game
  • misc: updated to latest rar (5.21) and 7z sdk (9.38)

New in ClrMamePro 4.016 (Dec 27, 2014)

  • So what will change if you scan your MAME set with the new cmpro version: - unmerged sets: (you don't use this for MAME, do you...), nothing changes... - split merged sets: you will see some wrong placed roms now since clrmame did not kill parent/clone relationships - full merged sets: you will see several wrong named roms (due to hash collisions) misc: Changed the way how hash collisions are handled. A hash collision happens when you got identically named files with different hashes within a parent/clone relationship. In the past cmpro either removed the parent/clone relationship completely or you were forced to split merged mode. Now, in case of a hash collision *and* only if switch to full merged sets (scanner, rebuilder or merger), the rom names of the clones will be switched to a naming convention which you can select. Default is setname\romname. You can select the naming in profiler options 'Naming pattern'. A flyover tells you which variables you can use there. %1 (plus something else) is mandatory here. Again, only if full merged mode and hash collisions are active. You also got an option there to say how many files get renamed. Either only the single hash collision clone file, or all files in this clone set or all clone files in all clones of this parent clone relationship.
  • added: added option (Settings screen) to allow a full merge mode which ALWAYS stores parent/clones the way described above, no matter if a hash collision is there or not. This is the "hash collision name" mode. If you're using this, the upper mentioned selection of files which get renamed is obsolete. In this mode all clone files in the parent clone relationship are renamed.
  • added: batcher rebuilder option "never compress files" which allows you to create unpacked sets
  • removed: "Possible wrong nodump definition found" cleanup step prompt. It's actually a special case of hash collision and so it's handled the same way as other collisions.
  • misc: some intern changes so that you got theoretically 32k path length support (Hello Tosec..) If you need such long paths, you need to add "\\?\" in front of your rom/sample/add/rebuilder source/destination/etc paths.. So for example: \\?\E:\temp\this is a long folder name right or wrong blabalbalblablablablabalabl\
  • misc: updated to latest unrar dlls
  • misc: merger works with subfolders
  • misc: "double roms detector" during parsing handles weird merge tag combinations better
  • misc: "double setname" is also performed when you're using "release" elements and switch modes
  • fixed: belongs_to_parent check fails on 0-byte files
  • fixed: weird messages when you enable the clone but disable its parent in full merged mode
  • fixed: remove obsolete wrong merging or missing set messages (which normally get removed in 2nd scan)
  • fixed: adding sampleonly sets may cause issues when you got softwarelist which share the setname

New in ClrMamePro 4.015 (Aug 20, 2014)

  • fixed: corrected handling of sets with only bios roms and sample clone (MAME 154 gp110 sets)
  • fixed: dir2dat not always writes cr/lf as line delimiter (deprecated format only)
  • fixed: rebuilder log shows no reason for already rebuilt files
  • fixed: rebuilder shows warning when rebuilding uncompressed file which already exists in destination
  • fixed: rebuilder recreates files (when not needed) when you use chds files as roms
  • fixed: crash when redrawing scan results (some rare circumstances)
  • misc: optimized general hash calculation / file read routine
  • misc: removed crc=-1 / 1 suspicious checksum check
  • misc: changed nes header file to be a bit less strict
  • misc: updated to latest ziparchive class lib, unrar dll
  • misc: parse rom merge tags enabled by default (on clean install)

New in ClrMamePro 4.014b (Apr 18, 2014)

  • fixed: not initialized variable causes 7z decompress warnings in Windows 8.1 (64bit only)

New in ClrMamePro 4.014a (Mar 27, 2014)

  • fixed: accidentally reintroduced 7z case fix issue when using 7z exe's rename operation

New in ClrMamePro 4.014 (Mar 25, 2014)

  • misc: switched to 7z CPP SDK core now. Unpack operations and hash calculations are now done blockwise. So you should not run into memory issues with huge 7z files anymore.
  • misc: reenabled detection of unneeded folders within rar/7z files with safe handling on delete
  • fixed: no more possible double file creations when using external packer's rename command
  • fixed: possible assertion when not using external packer's rename command
  • misc: updated unrar dll

New in ClrMamePro 4.012b (Feb 27, 2014)

  • fixed: unneeded samples can cause crash
  • fixed: rebuilder fails on filenames containing special character '`' which is internally used
  • fixed: crash on illegal 7z file dates
  • fixed: case fix for rar/7z without using their rename operations removes file and leads to crash
  • misc: updated to latest unrar dll
  • misc: updated to latest ziparchive class

New in ClrMamePro 4.011a (Aug 21, 2013)

  • misc: supporting multiple device_ref entries (removed %i from rebuilder poststring variables though)
  • misc: replaced 7z case fix with exe rename when possible
  • misc: disabled obsolete archive folder check for external packers (since they might remove the folder and entries)

New in ClrMamePro 4.011 (Aug 1, 2013)

  • added: profiler column timestamp when dat was added
  • misc: removed some visual effects (useful if you're using dark themes)
  • misc: updated to latest ziparchive library
  • misc: rebuilder log shows more info for 'Exists' and 'Skipped'
  • fixed: runtime error with 0 sized packed files and header support
  • fixed: software lists of a previous loaded datfile stay when no xml datfile is loaded afterwards
  • fixed: batchrun uses previous scan data sometimes incorrectly
  • fixed: rebuilder destprestring function does not pick clone or bios set when file belongs to them only (issues with e.g. %a)
  • fixed: 7z/rar removal of unneeded files in archive subfolders does not work
  • fixed: chds and samples with extensions loose extensions
  • fixed: xml file header parser can (by mistake) detect a mess -listxml output as a mess software list output
  • fixed: xml parser crash when xml file is wrongly detected as mess software list ouput (above)

New in ClrMamePro 4.010 (Feb 15, 2013)

  • fixed: 7z working with filenames starting with an "@" fails if the filename also contains a space
  • fixed: header support: possible infinite loop when file is too short
  • fixed: header support: wrong hash calculation (in file and memfile) when file is too short
  • fixed: detection of prefered archive type falsely failed for unpacked sets causing creation of zips
  • misc: unneeded check also detects obsolete chd folders
  • misc: explicity test folder for no entries to avoid possible deletion of NTFS junctions
  • misc: check if file really exist in 7z/rar archives before trying to remove them. Gives a small speed gain

New in ClrMamePro 4.09a (Dec 12, 2012)

  • misc: take over a set bad dump chd status flag for all parent/clone instances of that chd

New in ClrMamePro 4.05 (Mar 26, 2012)

  • added: profiler options option to prompt for software lists import during MAME/MESS import
  • added: chdman settings option to optionally show version mismatches during scan
  • misc: auto expand not fixed items in tree control
  • misc: improved scanner matching for identical named sets / softwarelists (with BIOS roms)
  • misc: updated to latest ziparchive lib
  • misc: updated to latest unrar lib
  • misc: scanner adv option to remove not renamed sets to backup now also applies to roms
  • misc: removed border from tree scan output (minor cosmetics)
  • fixed: warning about missing sysdefpaths rarely shows only "..." instead of list
  • fixed: batch rebuilding doesn't care about forcepacking attributes in dats