Sunday, April 11, 2010

Update on the Async bug

Well, I've been really busy with life lately, but I recently had some time to get back to code. I've managed to make some progress on the Async bug and what seems to be getting skip are the Audio Interface Interrupts(AII). I can in a hacky way force this not to be skipped in Async mode or in Disabled. For Async, this means the Async bug never activates and this means we don't lose sound (I tested this in SM64 and SSB on the intro). For Disabled, this means games like Turok can boot completely without sound. Also when working with Turok, I discovered that the audio interrupt has to occur at the beginning of the frame rather than the end of it. I believe this is the proper for it to be done in order to reduce some of the popping as well. I be experimenting further with this tonight so that Sync, and Async are both using the same method. Upon a scene change (like when entering a level in SM64), the missing audio interrupt with the bug active is what causes it to freeze due to not updating the registers properly. It's creating a busy wait situation when it's not actually busy and getting stuck in a loop. I believe that all of this should yield multiple benefits in the form of better sound(with fewer delays in between sound processing cycles), faster speed (by only processing the AII we have to), and better compatibility (with more modes working with more titles and without the sound dropping).

10 comments:

  1. Thanks for the all updates and I enjoy reading stuff like this. I hope that all preping will be done soon, we all know it will be worth it when you add some speed to the emu. :)

    ReplyDelete
  2. Interresting read, indeed, keep up the good work, Daedalusx64 is a lot of fun !

    ReplyDelete
  3. awsome news. you really have improved daedlus since strmnrms work. its amazing. esp majoras mask it works like 2X times better now.

    i cant wait to see how beta 3 will be

    ReplyDelete
  4. kreationz man you are a goldy coder.

    i have a question about the ME move and beta 3

    so when it gets moved to the ME would that make Dx64 emulate perfect? or be like 90% close to perfect?

    thats a genius btw, who would of ever thought about moving the code to the ME? haha.

    anyway, good luck man, this your blogs and work are really exciting to see as you progress through this.

    ReplyDelete
  5. wow sigue asi,estoy esperando mas avanzes and who is work in moving ME?

    ReplyDelete
  6. I've been away a while, but I'll be updating this soon and putting some of my work into the hands of ours Testers/Staff. Along with giving my code to our other developers. We should see progress on the Async stuff in the near future.

    ReplyDelete
  7. algun avance? todos los dias entro al foro o checo las revisiones 558 ^^

    ReplyDelete
  8. Sorry I've not posted here in a long time... work on the Async bug has stopped for the moment. We're currently at Rev 593. I'm currently working on DKR at the moment. I've gotten it running in wire-frame(but with a few vertex errors). I'm also going to be working of some other stability/compatibility issues as well.

    ReplyDelete
  9. i've been reading your post on Geo's blog and im interested into being a dev for ps3 so far i only know how to code HTML,CSS OOP Actionscript3 and some Basic PHP however im really down to learn the base and start coding for more interesting platforms i need directions...would you be able to help? the reason why im posting here is beside your blog i dont know where to reach you at

    ReplyDelete
  10. reach him at daedalusx64.com

    ReplyDelete