EMULAB Forum

clrmamepro [English] => clrmame Discussion => Topic started by: Roman on 07 June 2017, 19:27

Title: Latest Nightly Build
Post by: Roman on 07 June 2017, 19:27
http://mamedev.emulab.it/clrmamepro/binaries/cmpro20191006.rar (http://mamedev.emulab.it/clrmamepro/binaries/cmpro20191006.rar)

fixed: wrong software list rom size for roms which imply an offset of 0x00000000 as default (upcoming MAME)
added: automatic 32k path length support, no more need to use \\?\ prefixes (*)
misc: updated zip, rar and 7z dlls (4.6.7, 5.71, 1900)
misc: updated sha1 c++ class implementation to 2.1
misc: switched to Visual Studio 2019

fixed: remembering window positions on multiple / virtual screens fails
fixed: rebuilder match count for files with identical crc32 but different sha1
fixed: rebuilder removal of rebuilt files for files with identical crc32 but different sha1
fixed: detect chd clone to clone moves (aka MAME 206 vs4e to vs4eo rename)
fixed: rom count for fully missing sets included bios roms even when the bios set is available
misc: added cmpro.ini option Adv_WindowToFront = on (on / off) to handle the automatic bring window to front functionality
misc: profiler cache which reduces rescanning datfiles/settings on each profiler visit, should speed up profiler for users which have lots and lots of dats. Delete/Add/Move operations will force a refresh at the moment though
misc: limit extension removal to a max of 3 characters and no space after the .


(*) this needs of course testing. Generally, there are some remaining problems (but they were there before if you used the prefix explicitly). NTFS supports 32k path lenghts but each single folder and filename can't be bigger than 260 chars long. The problem is when it comes to directory tree walking functions when you pass a long path+filename to it. The MS library code tests this full path+filename against the 260 limit (and not just the filename and the single paths) and will fail when it shouldn't. I need to find a workaround for this. However, if you succesfully used the prefix method before, it should work for you.

(**) cmpro20191006 build contains some additional fixes for 32k UNC based paths and the scanner case test for 32k paths.
Title: Re: Latest Nightly Build
Post by: llagos on 09 October 2019, 20:37
Thanks!!! I was just about to report something with the rebuilder for the previous build...

when the rebuilder tries to add a rom to a corrupted zip file (end-of-central directory not found error), the rebuilder just stops, shows a dialog asking "continue yes/no"... Could this be changed to just a warning on a window, so the process won't stop midway?

Also, for the new build... I see the option for the rebuilder to add CHDs didn't make it :(

Thanks again!
Title: Re: Latest Nightly Build
Post by: Roman on 10 October 2019, 06:21
Well, a corrupt archive is one of the more important issues so I thought a prompt is better than just a warning ;-) I will think about it.
No chd rebuild, yes...the update was just for 32k unc paths....
Title: Re: Latest Nightly Build
Post by: coccola on 12 October 2019, 00:16
Hi, Roman!

Version 4.035 was released on 2018-08-21 (more than one year ago)...

Wouldn't you like to release this?

Thank you.
Title: Re: Latest Nightly Build
Post by: Roman on 12 October 2019, 17:15
Not yet.
There are several points on my todo list which I want to include....problem is that I nearly have no time this year....what is the difference anyway in using an offical build and a nightly (which is also more a monthly or half-year) ;-)
Title: Re: Latest Nightly Build
Post by: llagos on 20 October 2019, 16:11
Hello again, Roman!

Something i've seen in the latest 2 builds you've provided...
I run a full scanner (all checks, all fixes) on all (sets, roms, samples, chds).
Scanner runs ok, and in backup\MAME i end up with a lot of zips and chds.
Immediately, I move this directory (MAME) to a tmp location, and run Rebuilder, hoping to see just a "nothing done", but no... I see lots of roms added, and a dozen of "valid chd found", for the very same roms and chds that the Scanner discarded...

For instance, in scanner.log:
The King of Fighters 2001 (NGH-2621) [softwarelist: neogeo - folder: kof2001h - parent: kof2001 - size: 85mb]
missing rom: 262-c3-08-e0.c3 [size: 8388608] [CRC32: fb14ff87] [SHA1: 445a8db2fc69eff54a252700f2d3a89244c58e75]

in rebuilder.log (minutes later):
L:\sw\tmp\MAME\kof2001h.zip\262-c3-08-e0.c3
  -> kof2001\262-c3-08-e0.c3
  -> kof2001\262-c3-08-e0.c3
  [EXISTS: kof2001h\262-c3-08-e0.c3]
  [EXISTS: kof2001h\262-c3-08-e0.c3]

I checked the zip file, after rebuild, and c3 is not even there, not even in the directory of the same name (which should be only chd's I guess, but scanner didn't warn about it either).

$ unzip -l neogeo/kof2001h.zip
Archive:  neogeo/kof2001h.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
  1048576  12-24-1996 23:32   262-pg1.p1
  4194304  12-24-1996 23:32   262-pg2.sp2
   262144  12-24-1996 23:32   265-262-m1.m1
  4194304  12-24-1996 23:32   262-v4-08-e0.v4
  4194304  12-24-1996 23:32   262-v3-08-e0.v3
  4194304  12-24-1996 23:32   262-v2-08-e0.v2
  4194304  12-24-1996 23:32   262-v1-08-e0.v1
  8388608  12-24-1996 23:32   262-c8-08-e0.c8
  8388608  12-24-1996 23:32   262-c7-08-e0.c7
  8388608  12-24-1996 23:32   262-c6-08-e0.c6
  8388608  12-24-1996 23:32   262-c5-08-e0.c5
  8388608  12-24-1996 23:32   262-c4-08-e0.c4
  8388608  12-24-1996 23:32   262-c2-08-e0.c2
  8388608  12-24-1996 23:32   262-c1-08-e0.c1
---------                     -------
 81002496                     14 files
$ ls neogeo/kof2001h
262-c2-08-e0.c2  262-c7-08-e0.c7  262-v2-08-e0.v2
262-c4-08-e0.c4  262-c8-08-e0.c8  262-v3-08-e0.v3
262-c5-08-e0.c5  262-v1-08-e0.v1  262-v4-08-e0.v4
$
Just for info, I created a new dat/profile/etc., since I moved everything from D: to L:. Also, attached both files (renamed to .txt since .log are not allowed)...

Is this ok? Maybe there's something wrong with my setup...?

Thanks a bunch again!

Salu2,
Title: Re: Latest Nightly Build
Post by: llagos on 20 October 2019, 16:30
I tried the following:
1. move all subdirs from "neogeo" to a "tmp" folder (so, no more subdirs under neogeo)
2. run Rebuilder using this tmp folder
Result: Rebuiler rebuilt all those subdirs, with what I think it's roms.. not chd...

Look at the date of the folder:

$ ls -ld kof2001h*
drwx---rwx+ 1 llagos None        0 Oct 20 13:24 kof2001h
-rwx---rwx+ 1 llagos None 71609235 Oct 20 10:57 kof2001h.zip
$
$ ls -l kof2001h
total 57344
-rwx---rwx+ 1 llagos None 8388608 Dec 24  1996 262-c2-08-e0.c2
-rwx---rwx+ 1 llagos None 8388608 Dec 24  1996 262-c4-08-e0.c4
-rwx---rwx+ 1 llagos None 8388608 Dec 24  1996 262-c5-08-e0.c5
-rwx---rwx+ 1 llagos None 8388608 Dec 24  1996 262-c7-08-e0.c7
-rwx---rwx+ 1 llagos None 8388608 Dec 24  1996 262-c8-08-e0.c8
-rwx---rwx+ 1 llagos None 4194304 Dec 24  1996 262-v1-08-e0.v1
-rwx---rwx+ 1 llagos None 4194304 Dec 24  1996 262-v2-08-e0.v2
-rwx---rwx+ 1 llagos None 4194304 Dec 24  1996 262-v3-08-e0.v3
-rwx---rwx+ 1 llagos None 4194304 Dec 24  1996 262-v4-08-e0.v4
$
$ unzip -l kof2001h.zip
Archive:  kof2001h.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
  1048576  12-24-1996 23:32   262-pg1.p1
  4194304  12-24-1996 23:32   262-pg2.sp2
   262144  12-24-1996 23:32   265-262-m1.m1
  4194304  12-24-1996 23:32   262-v4-08-e0.v4
  4194304  12-24-1996 23:32   262-v3-08-e0.v3
  4194304  12-24-1996 23:32   262-v2-08-e0.v2
  4194304  12-24-1996 23:32   262-v1-08-e0.v1
  8388608  12-24-1996 23:32   262-c8-08-e0.c8
  8388608  12-24-1996 23:32   262-c7-08-e0.c7
  8388608  12-24-1996 23:32   262-c6-08-e0.c6
  8388608  12-24-1996 23:32   262-c5-08-e0.c5
  8388608  12-24-1996 23:32   262-c4-08-e0.c4
  8388608  12-24-1996 23:32   262-c2-08-e0.c2
  8388608  12-24-1996 23:32   262-c1-08-e0.c1
---------                     -------
 81002496                     14 files
$


Attached log file...

Salu2,
Title: Re: Latest Nightly Build
Post by: Roman on 21 October 2019, 07:28
1st of all, it's normal that valid files can be placed in the backup folder.
This a) heavily depends on the used settings and b) damn normal.

let's start with b): If you e.g. have a file from pacman in a berzerk set it is of course unneeded for pacman and since pacman and berzerk don't share a parent/clone relationship, it is placed in the backup folder. Rebulding it from there will add it to the berzerk set

a) the settings, well, if you e.g. disabled some sets and handle them as unneeded, they are moved to the backup folder, if you then rebuild them with the same profile but changd set inclusions, they get readded. There are other settings which may affect such things.


Generelly I see a problem with your seutp since you already posted the weird behaviour with the 4x4 set which gets removed and readded which seem to be a similar effect as here.

So be sure: you really run the latest nightly build, cleaned the cache, and it would be interesting if you can send me:
- your cmpro.ini file
- the belonging *.cmp file for your used profile (cmpro's settings folder)
Title: Re: Latest Nightly Build
Post by: llagos on 21 October 2019, 14:29
Sure!
v4.035 in from the About...
Attached both files.
Thanks again!
Title: Re: Latest Nightly Build
Post by: Roman on 22 October 2019, 07:10
The nightly build shows the same version number as the official one. The nightly build is: http://mamedev.emulab.it/clrmamepro/binaries/cmpro20191006.rar (http://mamedev.emulab.it/clrmamepro/binaries/cmpro20191006.rar)

(you need to manually unpack it and replace your exe/dll files).
Title: Re: Latest Nightly Build
Post by: llagos on 22 October 2019, 17:17
my bad, it seems I used the nightly build on my previous setup (d:) but didn't update the backup (L:), which I'm using now... thanks! i'll try it and let you know...
Title: Re: Latest Nightly Build
Post by: llagos on 23 October 2019, 23:43
Hola Roman,
Tried with the lastest .exe/dll:

$ ls -l cmp/*[el]
-rwx---rwx+ 1 llagos None 1141248 Feb 21  2019 cmp/7z_32.dll
-rwx---rwx+ 1 llagos None 1679360 Feb 21  2019 cmp/7z_64.dll
-rwx---rwx+ 1 llagos None 6938624 Oct  6 16:00 cmp/cmpro.exe
-rwx---rwx+ 1 llagos None 8667648 Oct  6 15:59 cmp/cmpro64.exe
-rwx---rwx+ 1 llagos None     890 Oct 23 20:28 cmp/profiler.cache
-rwx---rwx+ 1 llagos None    1045 Oct 22 14:20 cmp/profiler.xml
-rwx---rwx+ 1 llagos None    1247 Oct  9  2006 cmp/setformat.xml
-rwx---rwx+ 1 llagos None  267992 Apr 27 16:04 cmp/unrar.dll
-rwx---rwx+ 1 llagos None  320728 Apr 27 16:04 cmp/unrar64.dll
-rwx---rwx+ 1 llagos None 3891200 Feb 19  2018 cmp/update.dll


So should be good there, right?

I had a lot of these warning after my last full scan:

Set exists in various rompaths: L:\games\mame\roms\nes\magicjwl; L:\games\mame\roms\nes\magicjwl.zip
Set exists in various rompaths: L:\games\mame\roms\nes\machridrju; L:\games\mame\roms\nes\machridrju.zip
Set exists in various rompaths: L:\games\mame\roms\nes\machridrh; L:\games\mame\roms\nes\machridrh.zip
Set exists in various rompaths: L:\games\mame\roms\nes\machridr; L:\games\mame\roms\nes\machridr.zip

... and so on...

I checked and the same file in the subdir was also on the zip, so it was kind of a duplicated...

So, I simply moved the subdirs to a "nestmp" folder... and then Rebuilder... However, surprinsigly for me, Rebuilder created the dir and put the file back again inside... so I ended up with duplicates again...

Why this? If I understand correctly, Rebuilder should have tried to create them inside the zip file, and since that rom was already on the zip, it should be skipped... am I understanding correctly?

So, now I have, from Rebuilder log:


L:\sw\tmp\nestmp\magicjwl\magic jewelry (asia) (unl).chr
  -> magicjwlc\magic jewelry (1990)(rcm)(as)[p][a].chr
  -> magicjwlb\magic jewelry (asia) (unl).chr
  -> magicjwl\magic jewelry (asia) (unl).chr
  -> magicjwla\magic jewelry (1990)(rcm)(as)[p][!].chr


And in my dirs:

$ unzip -l magicjwl.zip
Archive:  magicjwl.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     8192  12-24-1996 23:32   magic jewelry (asia) (unl).chr
    16384  12-24-1996 23:32   magic jewelry (asia) (unl).prg
---------                     -------
    24576                     2 files
$
$ ls -l magicjwl
total 8
-rwx---rwx+ 1 llagos None 8192 Dec 24  1996 'magic jewelry (asia) (unl).chr'
$


Please, I'm really confused, so could please help me understand why do I end up with duplicates? Why Rebuilder puts the same file, already in the zip, also on a separated subdir?

I must have some config problem somewhere...

Mil gracias!

Salu2,
Title: Re: Latest Nightly Build
Post by: Roman on 24 October 2019, 17:16
most likely your rebuilder setting "Compress Files" is not checked...and so you create subfolders/unpacked sets while you originally kept your sets compressed.
Title: Re: Latest Nightly Build
Post by: llagos on 25 October 2019, 00:51
Right.. my bad (again).. didn't notice nor recall when I changed it... :(