Menu

Feature Suggestion: Implementation of the audiere.dll fix that fixes crashes of games using it in Windows 7 and newer systems

MrPepka
2021-01-22
2021-10-19
<< < 1 2 3 > >> (Page 2 of 3)
  • MrPepka

    MrPepka - 2021-02-04

    What's up? Have you figured out a way to fix the crash bug in the winmm.dll module that I wrote about? Have you just tried connecting DxWnd to the debugger and somehow triggered this crash? Of course, it appears when starting some games with the "Inject suspended process" option turned on, and the crash is in the GetNumDevCaps function

     
    • gho

      gho - 2021-02-14

      GetNumDevCaps? I can't get any reference to that call. What library it should belong to?

       
      • MrPepka

        MrPepka - 2021-02-14

        The error with this function was in the winmm.dll module, but it was enough to delete this file and winmm.ini from the DxWnd folder and the crashes disappeared

         
  • MrPepka

    MrPepka - 2021-01-26

    Go to C: \ Users \ [your account name] \ AppData \ Local \ CrashDumps, read the dmp files with WinDbg and see what file is listed as the cause. If it's winmm.dll then it's the bug I described above

     
  • MrPepka

    MrPepka - 2021-02-13

    I will come back to the crash topic in the winmm.dll module. I noticed this problem also in Minuit Phantome and in a few other games, for example today I came across it while testing some Russian Neighbors from Hell (called Nasty Neighbors). I tried to encounter this error in the debugger, but I could not register any crashes in this module. Interestingly, the bug is in the auxGetDevNumCaps function and it is because of the wrong instruction injection, but I don't know how to check which instruction is wrong and which is right. I guess @gho only you can do it. Oh, and in earlier versions of DxWnd it was not there, it appeared somehow from version 2.05.63 (or earlier, I don't remember exactly)

     
  • dippy dipper

    dippy dipper - 2021-02-14

    Is it possible that you have a winmm.dll file in the same folder with dxwnd.exe?

    Dxwnd builds 2.05.57 - 2.05.59 came with a winmm.dll wrapper in the same folder as dxwnd.exe (when GHO merged the CDAudio proxy with the main Dxwnd project). This was causing a conflict with some games so the proxy dll was moved in a "vcda" sub-folder starting with the 2_05_60_build.

     
  • MrPepka

    MrPepka - 2021-02-14

    Thanks for the info, actually after removing the winmm.dll and winmm.ini files the crash disappeared although the game in question still does not start under DxWnd, but I will create a separate thread about it. OK, it turns out that the Alchemist Wizard should already run under DxWnd, which should allow you to implement the patch under audiere.dll

     
  • gho

    gho - 2021-02-14

    Beware, the link you posted is signaled as viral in a quite assertive way.

     
  • gho

    gho - 2021-02-14

    The crash dump of "Alchemy Wizard" starts from dxwnd procedure GetThreadStartAddress, which is reasonable because this call is used to find where to suspend the target process when using the "Inject suspended process" thread. Unfortunately, that call can't be enriched with log messages or other diagnostics, so it won't be easy to make a fix, admitting that this is possible.

     
  • gho

    gho - 2021-05-14

    Have you noticed that within the Hugo bitwa pingwinów CD image there is a LIBRARY folder that holds two full library projects, Audiere and ClanLib? I mean, with all the source code and instructions to compile? What a valuable resource!

     
  • MrPepka

    MrPepka - 2021-05-14

    Yah, I noticed that before. Maybe we will finally be able to implement this fix, the more that this game from the Hugo series does not have an audiere version that works OK

     
  • MrPepka

    MrPepka - 2021-06-14

    Found another game with audiere issues. This game was even mentioned in the thread on old-games.ru to which I pasted the link on the previous page. This is an Electric Billy game. Although it is a Russian game (looking at the title of the game window), I really have it ... from the Polish newspaper (PC & Go). Link to the image - https://archive.org/download/redump_pc_P/PC%20%26%20Go%201-2004%20%28Poland%29.7z

     
  • MrPepka

    MrPepka - 2021-10-14

    I found another game using the audiere.dll library and obviously crashing on Windows 7 and above. This game is Bajeczna Przygoda (Jungle Heart), BTW: It used to be sold in Tesco stores (and only there you could buy it). It is on polish-abandonware (I remember the password "polish-abandonware.pl")
    https://mirror.polish-abandonware.pl/Gry/Bajeczna%20Przygoda%20%28Jungle%20Heart%29%20PL.7z

     

    Last edit: MrPepka 2021-10-14
  • MrPepka

    MrPepka - 2021-10-14

    OK so replacing the audiere.dll library with a newer one helps with Hugo and Bajeczna Przygoda. As for Electric Bill, this fix works so that you have to replace the audiere.dll library with a newer one and add kernelog.dll to the game folder and then the game starts - https://cdn.discordapp.com/attachments/617495809226965036/898267813054120006/Electric_Billy_Fix.zip

     

    Last edit: MrPepka 2021-10-14
    • gho

      gho - 2021-10-14

      I tried the patch on "Hugo bitwa pingwinów" but here it doesn't work, there's some mismatch of library entry points:

       
  • MrPepka

    MrPepka - 2021-10-14

    Regarding Hugo, download the new version of audiere from sourceforge and extract it to the folder where you have the game installed by replacing the file - https://sourceforge.net/projects/audiere/files/audiere/1.9.4/audiere-1.9.4-win32.zip

     
  • gho

    gho - 2021-10-14

    Same problem with "Bajeczna Przygoda". Maybe it depends on Win10? Or what else?

     
  • MrPepka

    MrPepka - 2021-10-14

    Hmm, I changed the audiere library in Hugo and in the game "Bajeczna Przygoda" and it worked. And at Electric Billy did you check if it works?

     
    • gho

      gho - 2021-10-15

      No, and I found the culprit: tha games search for _AdrOpenSampleSource@4 and the new dll from teh audiere project exposes this one: _AdrOpenSampleSource@8. This means that they added a second DWORD function argument, who knows what for? But I may try to rebuild the new audiere adding the missing call for back-compatibility. Of course, it's not granted it could work ....

       
  • gho

    gho - 2021-10-17

    It seems that I spent some time trying to write an audiere proxy dll but without success. The proxy is ready, but something on the __cdecl convention calls must be wrong because the program likes the new dll but terminates immediately, as if I did something wrong with the call return codes.
    Well, I have to learn something more about this __cdecl convention call. Be patient.

     
  • gho

    gho - 2021-10-17

    Wow! I was so close .... it works now!!
    In attach the audiere proxy that makes "Electric Bill" working perfectly, no more blocks or delays. You have to follow these instructions:
    1) download the latest audiere.dll in audiere-1.9.4-win32.zip from the SF page (you know this already) and copy it to the game folder
    2) rename this audiere.dll as audiere.bin
    3) extract my audiere proxy to the game folder
    4) run the game.

    The architecture is pretty simple: my proxy audiere.dll loads all functions from audiere.bin but changes the interface of _AdrOpenSampleSource@8into _AdrOpenSampleSource@4 so that the game is pleased with this interface but is using the fixed audiere lib.

    @MrPepka: please, if you have some time you could kindly provide a list of all games that get fixed by this patch, it could be interesting to know ...

     

    Last edit: gho 2021-10-17
  • BEEN_Nath_58

    BEEN_Nath_58 - 2021-10-18

    Just to ask, is there a complete list where such secondary patches for DxWnd are available? Like if this isn't implemented in the main release of DxWnd and someone 10yrs from now looks for it, it may be impossible to find.

     
<< < 1 2 3 > >> (Page 2 of 3)

Log in to post a comment.