Broken/Messy Audio core - Dwedit's GBC emulator for GBA
SVN versions: from 156, previous versions worked okay
(under investigation what exactly broke this)
Notes:
- Other emulators work just fine.
The continuing development of the legendary VBA gameboy advance emulator.
https://board.visualboyadvance-m.org/
SVN versions: from 156, previous versions worked okay
(under investigation what exactly broke this)
Notes:
Hmmmz...
Â
Dwedit, it seems from 156, Spacy changed one line in DirectSound.cpp
Secondly, from 157, we added Shay Green's updated GB sound APU emulator....
Might need to run a couple of tests...
I think I'll take a look at this. How do I grab the SVN version and compile it?
Â
edit: Hmmm... I don't have VC2008 (I'm still a VC6 user)
Â
Okay, how exactly is the sound timing code supposed to work?
I think I'll take a look at this. How do I grab the SVN version and compile it?
Â
Okay, you will need:
Â
Â
To do a MSVC compile, you simply link against the needed dependancies when you compile with the projects. However, for a SDL build compile you need to use the main makefile "Makefile", with GNU make.
Â
Okay, how exactly is the sound timing code supposed to work?
Â
If you look in Sound.cpp, blargg wrote a class to handle GBA PCM audio. Which might be related to your problem, from my deductions as to where it broke.
Â
As for the timing, blargg wrote the sample handling code class, so once I have a chat to him about his code, then we really might tackle this, as he knows exactly how his Blip_Buffer works, which is a component of his class.
I know that the Zelda oracles games write 0x80 to one of the GBC sound registers (forgot which one), then immediately reads it back to see if its value is 0x80. If it's not, it crashes.
Does that make it a protection mechanism then?
No. It just writes to a sound register (I think it's to turn on the speakers, not completely sure), then reads it back to make sure the speakers are on. It freezes if it doesn't read back 0x80.
Works on hardware, fails in the current timing nightmare of VBA's sound code.
Dwedit, can you retest this?, i've been playing the Oracles games for the past 4 days and theres been no issues, other then the fact CGB audio state isn't reloaded with a savestate.
Tried VisualBoyAdvance583.7z
Crashes within Goomba Color running Zelda Nayru.
ok, yeah it does, i forgot to run it in Goomba lol