Jump to content


  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

prime's Achievements


Newbie (1/14)



  1. Sorry it's been a couple of days...been busy.... But the above file manipulation seems to have allowed me to build a working executable, cheers. However one thing I do notice, there seems not to be a debugger tab in the machine properties (though that was a checkout of the repository donr on Nov 27th). Cheers. Phill.
  2. Can confirm that the mameui I checked out last night and compiled with : PTR64=1 OSD=messui works when I reun mameui64.exe, including correctly reporting the comctl32.dll version. I'll try your above fixes tonight when I am at home. Cheers. Phill.
  3. I'll checkout mameui and try that, and report back. Cheers. Phill.
  4. Additional information : Investiagting the working early Nov verses Non working Nov 20th, the windows manifest is different for the two versions the working version contains the lines : <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> Which is I guess why it is loading the correct comctl32.dll, the later non working exe does not contain these lines. On investigation it appears that the manifest is not being included at build time, it was previously included from : src/osd/winui/mameui.rc putting the line to load it back in and rebuilding and when running it reports version 6 16 as for the working version but then bombs out saying "Win32UI_init: Error creating main dialog, aborting". I also notice that "build\mingw-gcc\obj\x64\Release\mess.res" is 9K in the non working version 495K in the working version so I suspect that the resources are not being built correctly. It's possible that you have not seen the probleb because there are old versions of the file that are being linked and therefore everything works. Have you tried checking out from the repository and building from there (or doing a make clean)? Cheers. Phill.
  5. You keep saying it's for system restores, that does not appear to be the case : https://en.wikipedia.org/wiki/Side-by-side_assembly Well it worked for me on a version checked out on nov 1st, and reports comctl version 6 16. $ ./messui64.exe MAMEUI starting Win32UI_init: About to init options OptionsInit: About to load MAMEUI.ini OptionsInit: About to load ini\ui.ini OptionsInit: About to load MAME_g.ini OptionsInit: About to load Global Options OptionsInit: Finished Win32UI_init: Options loaded Win32UI_init: Common controlversion 6 16 The next version checked out on 20th of Nov started exhibiting the above behavior. So something changed in that time period that has borked it. As for no one else experiencing this if they checked out before the latest changes the problem might not have shown up. Can I ask what is your exact build environment? Windows version, etc? Cheers. Phill.
  6. $ ./messui64.exe MAMEUI starting Win32UI_init: About to init options OptionsInit: About to load MESSUI.ini OptionsInit: About to load MESS_g.ini game_opts.h::load_file : Rebuilding cache game_opts.h::load_file : Finished Rebuilding cache OptionsInit: Finished emuOptsInit: About to load ini\ui.ini emuOptsInit: About to load Global Options emuOptsInit: Finished G:\EmulateDev\messui-2020-11-27\ Win32UI_init: Options loaded Win32UI_init: Common controlversion 4 7 On my normal Windows 10 machine. So 4.7, but as I said at the head of the post the comctl32.dll that is getting loaded is from the WinSXS (windows side by side, not for system restores apparently) folder, and is version 5.82 Product version 10.0.19041.488. I also tried compiling on a Windows 7 machine just to iliminate the windows version. That also says version 4.7 but this time loads from : C:\Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18837_none_a4d981ff711297b6\comctl32.dll and again is version 5.82 My build environment is : latest mame deveolpment environment from the mame website on Windows 10 X64, it is the Enterprise version, and has the latest 20H2 update on it. Oddly on both platforms if I do messui64 -v it runs though behaves like mess64. Cheers. Phill.
  7. I think the crux of the matter is that the init code *ASSUMES* that if "DllInstall" is not exported by comctl32.dll that it is 4.7 or below, however reading the documetation for comctl32.dll it seems that DllInstall only exists for versions 4.71 to 5.81. Versions higher than 5.82 don't have DllInstall, which means that the code in mui_util.cpp assumes it is 4.71 or below which is incorrect. Also during investigation I found that InitCommonControls() is effectively nop, and needs to be replaced with calls to InitCommonControlsEx() Documented by MS : https://docs.microsoft.com/en-us/windows/win32/api/commctrl/nf-commctrl-initcommoncontrols Cheers. Phill.
  8. Hi there, Compiling from git MESSUI repository....using recommended mame build environment on windows 10 X64 Compile of both messui and winui with "make PTR64=1 SUBTARGET=mess OSD=newui" and "make PTR64=1 SUBTARGET=mess OSD=messui" complete successfully and produce mame64.exe and mameui64.exe However when I try to run mameui64.exe I get a popup box with "MESSUI64 has detected an old version of comctl32.dll. Unable to proceed" Investigating with process monitor I find that it's trying to load the DLL from "C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.19041.488_none_4238de57f6b64d28\comctl32.dll" Which is version 5.82 of the DLL, so strange that it's failing the test. On further inversigation in mui_util.cpp, it seems to be failing the following test : FARPROC lpfnDLLI = GetProcAddress(hModule, "DllInstall"); if (NULL != lpfnDLLI) { ..... } return PACKVERSION(4,7); commenting out the if alows the test to pass and 5 82 is returned to the calling code in winui.cpp, however then it crahes with "Win32UI_init: Error creating main dialog, aborting" So something's wrong Cheers. Phill.
  • Create New...