clrmamepro [English] > clrmame Discussion

delta chds, cmpro test version

(1/7) > >>

Roman:
Ok, here we go....a test version for some delta chd features.

Disclaimer: This is not an official release, it's just a 64bit cmpro exe file which can replace yours. Do it on your own risk. Any chd convert/revert operation, you do it on your own risk.

What are the delta chd features (screenshots here: https://www.emulab.it/forum/index.php?topic=9148.msg25902#msg25902) ?

In Settings->Compressor...->CHDMan, you find a new section "Delta CHDs". It also holds two new command line boxes for converting and reverting. They are filled with the default copy operations, don't change them.
The section holds options where you can decide if cmpro
- should warn you about chds which can be converted to deltas
- chds which are deltas
- or you don't want to see any warnings at all (default).

There is also a checkbox (ticked by default) which enables backup when a convert/revert operation actually takes place.

After running a (new) scan and having a warning option enabled, you might see warnings in the warnings window below the scanner. It can list something like:

- Non-delta chd: some.chd Convertable via someother.chd ( showed warning about non-delta chds )

- Delta chd: some.chd Revertable via someother.chd (showed warning about delta chds)

- Bad parent delta chd: some.chd Revertable via someother.chd (error: parents can't be deltas)

- Bad clone delta chd: some.chd Revertable via someother.chd (error: the delta clone uses a different chd than the current parent)

- Can't convert/revert some.chd. Can't find a non delta CHD with SHA1: somesha1 (error: parent is not available)

If one or more of the messages are shown, you can use the popup contextmenu on one of the lines (you can also select multiple) and select one of the delta chd options in the menu. You can convert or revert all/selected. Depending on the selection you see either the one or the other or both options...

When selecting convert or revert, chdman is called and run in the background. If something went wrong or your used ctrl-c to exit chdman and you got multiple files in the queue, you will be asked if you want to continue.
If you ticked the backup option (you should), delta and absolute chds are copied to your backup folder. For this, subfolders are created in there _chd_abs_ and chd_delta_.

Known things:

- delta chds are always smaller? No, there are cases, especially when it comes to examples where the parent chd is a v4 baddump and the clone is a v5 chd, the delta version is slightly bigger

- when a chd is converted and reverted, I get the original file back? No, not necessarily. There are chds which were created with an older version of chdman and converting/reverting them with the current one ends up with a slightly smaller file. This is most likely based on the fact that the newer chdman uses a newer version of lzma which is responsible for the size loss. However, the raw data and its sha1 will be the same.

- when thinking about reverting, cmpro's unneeded/set check helps to find parent chds which might be located elsewhere or named incorrectly

- Can I convert all clone chds? If there is a belonging parent chd, yes (when CHD version is >= 3). Belonging? Well, there are sets which have more than one chd. To identify a belonging chd, the chd's "region" (and for software lists, the "part") information is used for a match. If a chd is not listed with a region/part, cmpro won't use it for any delta operations.


Well..happy testing...and don't forget: it's your fault when something goes wrong ;-)

Don't know if it's worth all the trouble....in times of multi terabyte HDs.....but the warnings might be useful.

oddi:
Hi Roman,  not working ! :)
I try all - with delta, miss delta, bad delta ...and more delta warnings...and nothing.
Cmpro completed scan without warnings :)


All is fine, my mistake :)

john iv:
D'oh, I was watching the other thread and missed this! Downloaded the new release build and am testing.  Thanks Roman!

john iv:
Ok, I just hit a few errors 'an error happened during working on a CHD, do you want to stop yes or no'.  If I choose no it prompts me again when it finds the next one.  It would be nice to say 'no to all' and let it run without being touched.
The CHDs it choked on were ddr4mj, ddr4msj, dmx so far.  Is there logging code to see what happened?  When I run a regular scan after those errors cmpro tells me those CHDs are 'unneeded' now.  Maybe they were originally damaged but unnoticed and this deeper dive is calling them out.

john iv:
Here are some of the delta CHDs that get created but are flagged as wrong, and then missing if I remove them:

Dance Dance Revolution 4th Mix (G*A33 VER. JAA) [folder: ddr4mj]
missing chd: a33jaa02.chd [chd-md5: N/A] [chd-sha1: 9d9fb5e65f1532f358e9c273c56d11389d11fd79]

Dance Dance Revolution 4th Mix Solo (G*A33 VER. JBA) [folder: ddr4msj]
missing chd: a33jba02.chd [chd-md5: N/A] [chd-sha1: 9d9fb5e65f1532f358e9c273c56d11389d11fd79]

Dance Maniax (G*874 VER. JAA) [folder: dmx]
missing chd: 874jaa.chd [chd-md5: N/A] [chd-sha1: 3338a784efdca4f8bdcc83d2c9a6bbe7f7046d5c]

Dancing Stage featuring Dreams Come True (GC910 VER. JAA) [folder: dsfdcta]
missing chd: 910jaa02.chd [chd-md5: N/A] [chd-sha1: 70851c383e3876c4a697a99706fbaae2dafcb0e0]

Bass Angler 2 (GE865 VER. JAA) [folder: bassang2]
missing chd: 865jaa02.chd [chd-md5: N/A] [chd-sha1: b98d9aa54f13aa73bea580d6494cb6a7f3217be3]

Guitar Freaks 3rd Mix - security cassette versionup (949JAZ02) [folder: gtfrk3mb]
missing chd: 949jaz02.chd [chd-md5: N/A] [chd-sha1: b0c786ba420a34fcbd16bc36a137f6ae87b7dfa8]

Guitar Freaks 8th Mix (G*C08 VER. JAA) [folder: gtrfrk8ma]
missing chd: c08jaa02.chd [chd-md5: N/A] [chd-sha1: 7a1d97f74ec4d643ff7d3981d66b551cbf9e57f0]

Quizard (v1.2, German, i8751 DE 11 D3) [folder: quizard_12]
missing chd: quizard12.chd [chd-md5: N/A] [chd-sha1: 6e41683b96b74e903040842aeb18437ad7813c82]

Quizard (v1.7, German, i8751 DE 11 D3) [folder: quizard_17]
missing chd: quizard17.chd [chd-md5: N/A] [chd-sha1: 4bd698f076505b4e17be978481bce027eb47123b]

Quizard (v1.2, Italian, i8751 IT 11 I2) [folder: quizardi_12]
missing chd: quizard12.chd [chd-md5: N/A] [chd-sha1: 6e41683b96b74e903040842aeb18437ad7813c82]

Quizard (v1.7, Italian, i8751 IT 11 I2) [folder: quizardi_17]
missing chd: quizard17.chd [chd-md5: N/A] [chd-sha1: 4bd698f076505b4e17be978481bce027eb47123b]

Quizard 2 (v2.2, German, i8751 DN 122 D3) [folder: quizard2_22]
missing chd: quizard22.chd [chd-md5: N/A] [chd-sha1: 03c8fdcf27ead6e221691111e8c679b551099543]

Quizard 3 (v3.2, German, i8751 DE 132 D3) [folder: quizard3_32]
missing chd: quizard32.chd [chd-md5: N/A] [chd-sha1: 31e9fa2169aa44d799c37170b238134ab738e1a1]

Quizard 4 Rainbow (v4.0, German, i8751 DE 142 D3) [folder: quizard4_40]
missing chd: quizard4r40.chd [chd-md5: N/A] [chd-sha1: 288cc37a994e4f1cbd47aa8c92342879c6fc0b87]

Quizard 4 Rainbow (v4.1, German, i8751 DE 142 D3) [folder: quizard4_41]
missing chd: quizard4r41.chd [chd-md5: N/A] [chd-sha1: 2c0484c6545aac8e00b318328c6edce6f5dde43d]

Navigation

[0] Message Index

[#] Next page

Go to full version