Quote:But when I use DX9, I have no map
Then you're doing something wrong. The map should work fine in every revision from 5000 to 3.0.
Quote:For some odd reason, the BvC hack fixed the map on revisions in the 4000 range
People don't use revisions that old anymore, and for good reason.
Quote:That will be my next test tonight. I haven't used Xaudio2 yet (being unaware of what it actually is) and if it eliminates the audio problems more then great!
It won't eliminate all of them, in fact it may not eliminate any. But it is generally considered better due to its lower latency. The reason it is not the default backend for audio is because it is only available on windows vista/7. Windows xp users must use the older directsound backend.
Quote:Will try that too. I have some amount of technical knowledge but could you describe to me what those two features do?
Oh jeez it's kind of a long story since you have to understand the basics of the GC/Wii architecture first. I'll try and summarize as best as I can.
The GC flipper GPU and wii hollywood GPU (essentially the same chip just with a die shrink and clocked slightly higher) have 2 pieces of memory that are actually embedded into the chip itself rather than on external memory modules. A 2MB edram buffer for holding the framebuffers, called the efb (embedded frame buffer). And a 1MB edram buffer for holding a texture, called the etb (embedded texture buffer). The GPU has only one render target, the efb. So when the GPU on the GC/Wii renders a frame it writes the output by filling the efb with pixels.
Obviously dolphin has to emulate the embedded frame buffer otherwise GC/Wii games wouldn't be able to render frames (since it's the only render target in the GC/Wii). This is emulated regardless of whether efb copy is enabled or disabled. But the GC/Wii also stores a copy of the efb contents in main memory, the developers of dolphin refer to this as the "efb copy". The main memory in the GC/Wii is MoSys 1T-sram which is VERY FAST compared to typical dram.
If the efb copy setting is
disabled in dolphin then dolphin does not emulate the efb copy. If a game does not use the efb copy for anything than this will have no affect on the game. This is the fastest option since you are not emulating the efb copy at all. However most games use the efb copy so most games need some sort of efb copy emulation to work properly.
If the efb copy setting is
virtual in dolphin then dolphin emulates the efb copy by storing a
texture in video ram with a copy of the efb contents. In a PC the video ram can only be accessed by the GPU, the cpu can not access the contents of the video ram. Video ram is much faster than main memory. This allows us to emulate the efb copy in a very fast way on most systems. Shaders are used by dolphin to have the GPU modify the contents of the efb copy. Most GC/Wii games only use the GPU to modify the contents of the efb copy so this option is fine for most games. However some GC/Wii games sometimes use the cpu to modify the contents of the efb copy (for example to produce the spinning coins affect in new super mario brothers the game engine uses the cpu to modify the efb copy). Since on a PC the cpu can not access video ram the virtual setting will not be able to emulate anything that relies on the cpu modifying the efb copy.
If the efb copy setting is
ram in dolphin then dolphin emulates the efb copy by storing a copy of the efb contents in
main memory encoded the same way it is on the real hardware. This is much slower than virtual since main memory is much slower than video ram. But it allows both the cpu and gpu to access the efb copy so any game should be able to properly use the efb copy to emulate any affect that they use it for. The other problem with this is that the efb copy must be the exact same size that it is in the real hardware (640 x 528) in order for this to work. So you can kiss your high definition image quality good bye. This is the most accurate way to emulate the efb copy.
If
both the
ram and virtual settings are enabled then dolphin will store two efb copies. One as a texture in video memory and one encoded the same way as the real hardware in main memory. Dolphin will check the ram copy for changes at regular intervals and as long as the cpu does not modify the ram copy dolphin will keep using the faster and possibly high resolution texture copy. If the game does use the cpu to make changes to the ram copy than dolphin will need to update the texture copy with the changes made to the ram copy. This method is faster than ram only and allows for high resolution efb copies while offering the same accuracy as ram only. However this method is slower than virtual only and might corrupt the texture copy if safe texture cache (error checking) is not used at the appropriate level.