Page 1 of 9 123 ... LastLast
Results 1 to 10 of 82
  1. #1
    Emulator Developer Azimer's Avatar
    Join Date
    Nov 2001
    Location
    USA
    Posts
    892
    Mentioned
    1 Post(s)

    N64 Audio v0.70 WIP 4 Feedback

    This is a preview of what I am working on for v0.70. I am happy for the most part with the way the audio code works today. I recommend using the XAudio2 plugin. I plan on deprecating DirectSound if there's no demand for it. I am having much better luck simulating AI emulation with XAudio2 using zilmar's spec.

    Untick Sync to audio and audio timing in PJ64 for best results except where indicated as a known issue.

    New:
    - XAudio2
    - New DirectSound code (again)
    - Allows plugin to keep working if there's a failure to initialize.
    - Fixed various sound issues in multiple games
    - Stability changes

    Known Issues:
    - Crusi'n World / Snowboard Kids 2 music is too fast (without using AudioSync / Audio Timing in PJ64)
    - Twisted Edge - No Audio
    - Boss Games - Sound issues
    - Indiana Jones - Crackles during factor 5 intro

    AziAudio v0.70 WIP 1 (Repack)
    AziAudio v0.70 WIP 4 *new* Post #20

    Thanks!

    Please leave feedback in this thread. Thanks!
    Last edited by Azimer; August 7th, 2014 at 05:01.
    -Azimer

    "I am not a teacher: only a fellow traveler of whom you asked the way.
    I pointed ahead -- ahead of myself as well as of you." (George Bernard Shaw)

  2. #2
    EmuTalk Member AIO's Avatar
    Join Date
    Jun 2014
    Posts
    69
    Mentioned
    1 Post(s)
    This made my day! Thanks

    It's nice to see that SSB64's crackling has been reduced! Overall I'm liking the XAudio version.

    I have 2 problems though. It seems that HLE uses more cpu than previous versions. I suspect it could just be the compiler you used. The other problem is that the XAudio version sometimes crashes the emulator. Like with Mupen64, if I run a game, close game, then run a game, it crashes. With PJ64 1.6 it crashes sometimes when switching plugins. For all I know, the problem could be my computer though, since I have problems with other plugins that no one else seems to have. I'll see about updating my drivers. I really need to try testing stuff on multiple computers ;/ .

  3. #3
    Emulator Developer Azimer's Avatar
    Join Date
    Nov 2001
    Location
    USA
    Posts
    892
    Mentioned
    1 Post(s)
    Thanks for the feedback. I looked into your one concern about the HLE taking more CPU. This doesn't seem likely so after further investigation I noticed I packaged the debug version of the DLLs. Oops!! I repacked and uploaded to the website. This should fix one of your concerns at least.

    The plugins crashing I don't know what could be doing that yet... especially the XA2. The plugin has never felt more stable to me. I will investigate but any leads would be useful. Thanks!
    -Azimer

    "I am not a teacher: only a fellow traveler of whom you asked the way.
    I pointed ahead -- ahead of myself as well as of you." (George Bernard Shaw)

  4. #4
    Surreal64 Nut weinerschnitzel's Avatar
    Join Date
    Jan 2011
    Posts
    73
    Mentioned
    0 Post(s)
    Hi Azi! I'm glad you still kept DS8 in this release! Have you started working on MusyX more since Bobby.Smiles did all of that reverse engineering?
    Sent you a PM.
    Last edited by weinerschnitzel; July 29th, 2014 at 08:21.

  5. #5
    Emulator Developer Azimer's Avatar
    Join Date
    Nov 2001
    Location
    USA
    Posts
    892
    Mentioned
    1 Post(s)
    I did start working on MusyX and it should be in the final v0.70 release. Hopefully by the end of the year but it all depends on how much time I get and if I use Bobby's code or not.
    -Azimer

    "I am not a teacher: only a fellow traveler of whom you asked the way.
    I pointed ahead -- ahead of myself as well as of you." (George Bernard Shaw)

  6. #6
    Emulator Developer Azimer's Avatar
    Join Date
    Nov 2001
    Location
    USA
    Posts
    892
    Mentioned
    1 Post(s)
    WIP 2 is coming in the next couple days. I added Bobby's code successfully but I am still getting a nasty dll_unloaded APPCRASH error. I think it's something funky Project64 is doing after unloading the DLL. I am not getting the same errors on Apollo so I will have to setup a work environment to debug it from the emulator's perspective to see what's going on and how I can develop a workaround.
    -Azimer

    "I am not a teacher: only a fellow traveler of whom you asked the way.
    I pointed ahead -- ahead of myself as well as of you." (George Bernard Shaw)

  7. #7
    Surreal64 Nut weinerschnitzel's Avatar
    Join Date
    Jan 2011
    Posts
    73
    Mentioned
    0 Post(s)
    A-zi-mer! A-zi-mer!

    Bobby's code doesn't handle the voice compression used in TWINE does it? That part is still coming out bad for me. Strangely, I can only play MusyX using 1964audio and the Mupen64Plus HLE RSP Plugin. I can have an audio plugin with audio code have ALists processed from RSP plugin instead, and I can have an RSP plugin with or without audio code connected with ALists processed from either audio or RSP plugin (if RSP processes ALists without audio code, there is no sound.) As of now an audio plugin w/o audio code, I.E. mupen64plus-audio-sdl, and an RSP plugin processing ALists, does not work. So MusyX only works when the audio plugin backs it, and it doesn't seem to matter which plugin does ProcessAList().

    Is this behavior proper? Using 1964 and PJ64. I'd like to test MusyX on audio plugin side to further investigate, so I'm very excited for your work. Thanks for being so selfless with your achievements!

  8. #8
    Emulator Developer Azimer's Avatar
    Join Date
    Nov 2001
    Location
    USA
    Posts
    892
    Mentioned
    1 Post(s)
    Bobby's (unmodified) code is handling TWINE voices fine. The lady that says there is a box waiting for you sounds crystal clear using WIP 2 and PJ64 2.1.0.1. I can give you a preview and you can let me know.

    As far as stability goes, you might want to remove old plugins and other xaudio2 plugins. All these combine to make it unstable to go into the plugin menu after ending emulation. A weird error I will get to the bottom of.

    Attached Files Attached Files
    Last edited by Azimer; July 31st, 2014 at 19:07.
    -Azimer

    "I am not a teacher: only a fellow traveler of whom you asked the way.
    I pointed ahead -- ahead of myself as well as of you." (George Bernard Shaw)

  9. #9
    EmuTalk Member AIO's Avatar
    Join Date
    Jun 2014
    Posts
    69
    Mentioned
    1 Post(s)
    I was debugging PJ64 1.6 and remembered that it redundantly calls ShutdownPlugins 2 times. When I commented out the extra ShutdownPlugins call, I was able to swap plugins a bit more before crashing. Idk a good way to prevent redundant CloseDll() calls on the plugin side.

    Lol Azimer, you saved me the trouble of porting bsmiles code to an audio plugin . I'm still not too experienced with building plugins.

    weinerschnitzel, I think the sound problems you experienced are due to either the emulator core, or the audio plugin. Bsmile's HLE RSP worked great when I tested it in 1964 1.1. I noticed 1964 Audio had issues, but Azimer's 0.60 WIP2 had no issues afaik. For instance, in 1964 1.1, if I reset gauntlet legends, the intro's audio gets messed up, with 1964 Audio, it doesn't matter whether I use an RSP or its built in HLE.

    Edit: After commenting out the redundant ShutDownPlugins() call, it would eventually crash at initiate audio after switching audio plugins a few times.
    Last edited by AIO; July 31st, 2014 at 19:52. Reason: forgot to mention

  10. #10
    Surreal64 Nut weinerschnitzel's Avatar
    Join Date
    Jan 2011
    Posts
    73
    Mentioned
    0 Post(s)
    They must be core related and specific to how I have the EnableRSPAudio feature implemented.

    // going to use rsp audio plugin here instead of the use lle rsp bool
    if (g_bUseRspAudio) // g_bUseLLERspPlugin // g_iAudioPlugin != _AudioPluginLleRsp
    {
    RspInfo10.ProcessAlist = ProcessAList;
    RspInfo11.ProcessAlist = ProcessAList;
    }
    else
    {
    RspInfo10.ProcessAlist = NULL;
    RspInfo11.ProcessAlist = NULL;
    }

    Basically this condition isn't doing enough justice to control ProcessAList(). I suppose I can switch somethings around for the audio plugin linking to follow that condition as well.

    Thanks for the information, gonna fire up Azi's WIP2 for a quick test

    Tested TWINE and sounds glorious.
    Last edited by weinerschnitzel; August 1st, 2014 at 04:07.

Page 1 of 9 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •