#1  
Old 22nd February 2007, 07:56 PM
nicholash nicholash is offline
Administrator
 
Join Date: Aug 2005
Posts: 2
Default Chasing weird bugs

One of the bugs reported in the new beta was that some games did not have sound/sound effects/music where they did in version 1.6. So some games might have music but no sound effects. The game this was first noticed in was doom64. It had sound in the intro sequence, but once you got in to the game it had no sound. I figured that since this worked in 1.6 but not in 1.7 then it should not be too hard to fix. Maybe 4 hour’s worth of work, boy was I wrong.
First off change all the normal setting, change to interpreter, use all the same plug-ins from 1.6. It should work but it doesn't. The game has still has sound in the intro, but once in game it does not. Ok make a save state in 1.6 and take it across, now have sound from save but no sound effects. Change the source code so I can log what is data is being to the RSP. After a day of tweaking I am able to get the same timings, it seems to generate the exact same data. It does not appear anything is different here, so I have no clue what is causing it. I try using Azimers audio plugin and set it to HLE the audio. This works, the audio is now playing, this suggests that what is sent to the RSP is correct.
I am totally confused at this point, I know it was working in 1.6 so I try one of the oldest version of 1.7 I had the source for (1.7.0.7). This is still failing, so I decide to slowly de-evolve the source back to the 1.6 code. Make sure all the interpreter ops are the same. On to getting the memory code back to the original, after that timing. Then the code for plugins. Then timing code. Then settings, I am totally confused there is not much left and none of the code left should effect the game. Then change some on the initialization code and it is working. Only took me a week to get to this point.
Ok, now I am getting somewhere. 8 hours latter I have narrowed down exactly what allows 1.6 to play with audio and 1.7 does not. The difference was that in 1.6 I created a thread to load the game and then this spawned another thread to execute the emulated core. In 1.7 I reduced it down to not re-spawning because I did not think it was needed. Ok I have a solution, this works when I start the CPU I just do it in another thread.
I just do not like this solution it might work but it makes no sense. I start to move more code in to the CPU thread to find out if there was anything that could give me a better idea what is actually causing this to happen. I find what does not like to be in the same thread as the emulation, initialization of the graphics plug-in. WTF initialization of the gfx plugin in another thread fixes the audio in game! Ok time to try the other gfx plugins. All the Direct X ones have the same effect with doom64, although the opengl has sound working.
Now it is time to talk to Jabo, to see if he has any clue. He has none. He has tracked down the problem to initiating d3d, do this and no sound effect, skip this you got audio. Ok do some more research it suggests that the creating the d3d object should be done in the thread that controls the UI because it adds different hooks in to the message handling. I change this so after loading the rom it will send a message to the UI to initialize the plugins there. This works, not necessarily the nicest solution, and I do not know exactly how it caused the issues. But at least it is working now and better then just spawning a thread for the sake of it.
Reply With Quote
  #2  
Old 22nd February 2007, 08:14 PM
JMS JMS is offline
Project Supporter
Junior Member
 
Join Date: Apr 2006
Posts: 2
Default Great Job

Its news like this that makes me glad that I donated to such a dedicated team. Thanks alot guys and I hope that the rest Beta Testing community and I can help you make 1.7 the best.
Reply With Quote
  #3  
Old 23rd February 2007, 03:56 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,260
Default ...The Pixelmeister

Not all of the DirectX plugins had this issue with Direct3D initialization in the emulation threads, only Jabo's Direct3D 8 1.6, 1.7, and Rice's Video Plugin 5.9.9 and up (when using the DirectX rendering engine setting). It was definitely Direct3D-related, but it isn't Direct3D in general, using what is discovered here. Maybe it's the version of DirectX used? Direct64 (9) and Jabo's Direct3D 6 1.5.2 (6) are the plugins that don't have this issue, and they don't use DirectX 8. I cannot test Direct3D 7 on this system.
Reply With Quote
  #4  
Old 24th February 2007, 05:01 AM
Jabo's Avatar
Jabo Jabo is offline
Core Team
Alpha Tester
Project Supporter
Project64 Team
 
Join Date: Aug 2005
Posts: 183
Default Good blog

I have issues like this almost once a month, something is broken and it was broken potentially years ago. It can take forever to figure it out, and its usually the silliest thing. It's amazing the lengths we go to sometimes in quality control and fixing things.
Reply With Quote
  #5  
Old 6th April 2007, 04:36 PM
Anonymous Anonymous is offline
Senior Member
 
Join Date: Sep 2008
Posts: 2,068
Default written by ares

gracias por el emulador
Reply With Quote
  #6  
Old 24th July 2007, 04:27 PM
Anonymous Anonymous is offline
Senior Member
 
Join Date: Sep 2008
Posts: 2,068
Default written by JaymeUK

... hmm you have totally lost me on all of this , as i have said before im not a coder, lol so i dont think i should be reading stuff that gets too technical like this.

Well no more reading the technical blogs for me
Reply With Quote
  #7  
Old 5th November 2007, 05:17 PM
Anonymous Anonymous is offline
Senior Member
 
Join Date: Sep 2008
Posts: 2,068
Default written by MonkBoy!!

1-Need support a Kaillera!! The Kaillera its a multy Player plugin!!!
2-Need input turbo buttom per buttom
3-Need trasnfer pokemon game of N64 to Game boy emulator Pokemon game,
4-Need Hack Rouble Pack support in Mario Kart, rs;
Reply With Quote
  #8  
Old 29th February 2008, 05:16 PM
Anonymous Anonymous is offline
Senior Member
 
Join Date: Sep 2008
Posts: 2,068
Default written by ahcO-aniH | Hina-Ocha

where can I Download the
Jabo's Direct8 1.6 cause my Computer Wont Let me use PJ64 without it
Reply With Quote
  #9  
Old 8th October 2009, 07:06 AM
jamie5m jamie5m is offline
Junior Member
 
Join Date: Oct 2009
Posts: 1
Unhappy helpp?

how come when i play pokemon snap 64 i cannot see the gallery pictures and with pokemon snap the pictures are VITAL and i cannot play if i cant see them. how do i fix it?
Reply With Quote
  #10  
Old 8th October 2009, 03:12 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,260
Default

Some other guy figured it out.
http://forum.pj64-emu.com/showthread.php?t=1106

Gah that's got to be like, my first post here?
Reply With Quote
Reply

Tags
developer diaries
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 03:47 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.