Dolphin bug tracker: Issueshttps://bugs.dolphin-emu.org/https://bugs.dolphin-emu.org/favicon.ico?12016-03-13T19:42:06ZDolphin bug tracker
Redmine Emulator - Emulator Issues #9423 (Fixed): Dolphin doesn't shutdown cleanly on signal SIGINThttps://bugs.dolphin-emu.org/issues/94232016-03-13T19:42:06ZSonicadvance1Sonicadvance1@gmail.com
<p>Dolphin doesn't listen to signals, so when killing the application, say in headless with CTRL+C it will not close cleanly.<br>
Add a signal handler to properly shutdown Dolphin when it receives a SIGINT.</p>
Emulator - Emulator Issues #9368 (Fixed): Coding standard needs examples for tab indent and space...https://bugs.dolphin-emu.org/issues/93682016-02-22T20:53:38ZSonicadvance1Sonicadvance1@gmail.com
<p>Apparently our coding standard confuses people.<br>
We need to have some examples in the coding guidelines so people know how to properly align code.</p>
Emulator - Emulator Issues #9286 (Fixed): AGL is deprecated fully since OS X 10.9https://bugs.dolphin-emu.org/issues/92862016-01-22T15:07:53ZSonicadvance1Sonicadvance1@gmail.com
<p>AGL is fully deprecated since OS X 10.9, we should change over to CGL like Apple wants us to do.</p>
Emulator - Emulator Issues #8223 (Fixed): Datel AGP requires default exception handlershttps://bugs.dolphin-emu.org/issues/82232015-02-13T19:33:25ZSonicadvance1Sonicadvance1@gmail.com
<p>The game doesn't install exception handlers on boot like regular games that use the Nintendo SDK.<br>
It instead relies on the handlers that the IPL install upon boot.<br>
It does something odd that involves hitting the exception handlers that needs to be investigated.<br>
Our non-IPL path doesn't install default handlers, but it may end up needing to do so at some point in order to properly support this game.<br>
Since we don't only install a couple exception handlers that only do an rfi the game doesn't continue very far in the boot process without having the actual IPL running.</p>
<p>One could most likely start with investigating the route the game takes through the exception handlers with the IPL and attempting to replicate that without the IPL.</p>
Emulator - Emulator Issues #6989 (Fixed): Create AArch64 emitterhttps://bugs.dolphin-emu.org/issues/69892014-01-26T02:01:01ZSonicadvance1Sonicadvance1@gmail.com
<p>With the advent of 64bit Android devices, there becomes increased pressure to actually make a AArch64 emitter.<br>
I have done a bit of work on one, but it isn't anywhere near finished.</p>
<p>AArch64 brings many improvements, such as increased amount of registers and the ability to do paired singles instructions in a single NEON instruction.</p>
Emulator - Emulator Issues #6901 (Fixed): buffer_storage merge requesthttps://bugs.dolphin-emu.org/issues/69012013-12-28T06:12:43ZSonicadvance1Sonicadvance1@gmail.com
<p>Name of clone: buffer_storage branch</p>
<p>Purpose of code changes on this branch:<br>
Changes the buffer uploading method in OpenGL from using either the vertex streaming hack or buffersubdata to using the new OpenGL 4.4 method of buffer_storage instead.</p>
<p>Changes to mandate GLEW 1.10 as the minimum version since that brings in the new OpenGL 4.4 methods.</p>
<p>When reviewing my code changes, please focus on:</p>
<p>The fact that I didn't remove the VSH method for the following reasons.<br>
1) Still "required" for Geforce 8xxx to 2xx cards<br>
2) Can still be used with buffer_storage since it is disabled for ARRAY_BUFFER types.<br>
3) The fact that the upload method is disabled for ARRAY_BUFFER types due to a driver bug.</p>
<p>The fact that it breaks Android build, which is okay for the following reasons<br>
1) The Android buildbot is currently generating broken builds anyway.<br>
2) I've got code that doesn't directly relate to this that'll fix the issue in a few days worth of time.</p>
<p>The fact that AMD is completely untested in this regard. Once they release drivers that support OpenGL 4.4, it will default to buffer_storage instead of pinned_memory and we don't know what havoc that will bring.</p>
Emulator - Emulator Issues #6234 (Invalid): Cortex-A15 TLBI errata causes Fastmem issues.https://bugs.dolphin-emu.org/issues/62342013-04-09T15:11:32ZSonicadvance1Sonicadvance1@gmail.com
<p>As per these two issues:<br>
<a href="https://gerrit.chromium.org/gerrit/#/c/47427/" class="external">https://gerrit.chromium.org/gerrit/#/c/47427/</a><br>
<a href="https://code.google.com/p/chromium/issues/detail?id=226280" class="external">https://code.google.com/p/chromium/issues/detail?id=226280</a></p>
<p>There is a TLB errata on Cortex-A15 (r0p0..r3p2) that is hit quite frequently by our JIT implementation.</p>
<p>This is why in the ARMEmitter, I'm checking if it is a Linux build and if so, flush the entire cache instead of the singular part. I hadn't tested on my ODROID-X to see if the issue was there as well.</p>
<p>For now, setting the entire cache to get wiped each time tends to be stable enough, unless the fastmem implementation is enabled.</p>
<p>I'll need to add a check in to the ArmCPUDetect for hardware revision to see if it is within the range of CPU revisions since I don't want to deal with different devices that may or may not have the errata fix built in. </p>
<p>Then add a function/value for a check of bHasBuggyTLB which will enable full cache wiping and disable fastmem implementation.</p>
<p>This in turn requires me to add the CPU option for enabling and disabling fastmem at runtime.</p>
Emulator - Emulator Issues #6222 (Fixed): Dolphin doesn't show the correct size of split WBFS fileshttps://bugs.dolphin-emu.org/issues/62222013-04-07T07:08:07ZSonicadvance1Sonicadvance1@gmail.com
<p>WBFS has the capability of splitting it's files in to multiple segments, aka wbf1, wbf2, etc.<br>
Currently in the UI it only shows the size of the initial wbfs file, it should sum the size of the parts for showing in the UI.</p>
Emulator - Emulator Issues #6120 (Won't fix): ARM/Android Laundry listhttps://bugs.dolphin-emu.org/issues/61202013-03-18T20:47:13ZSonicadvance1Sonicadvance1@gmail.com
<p>Posting a sort of "todo" list of things that need to be done still with the ARM/Android port of Dolphin. This is basically my Wunderlist in public format. These aren't in the most particular of orders.</p>
<ul>
<li>Android Input
<ul>
<li>Needs to be reworked to use the ControllerInterface and be cleaner inside of the Java source</li>
</ul></li>
<li>Draw up more onscreen controls
<ul>
<li>Basically just need more controls drawn, I only currently have the A and B buttons</li>
<li>Probably should use a atlas or something</li>
</ul></li>
<li>Handle Android screen rotations
<ul>
<li>Currently on screen rotation, the EGL context wipes and you don't get any more onscreen visuals</li>
</ul></li>
<li>Support immediates in the register cache
<ul>
<li>Supporting immediates would allow quite a few instructions to be optimized out similar to JIT64 does</li>
</ul></li>
<li>Flush only required GPRs when dropping to Interpreter
<ul>
<li>This is a micro-op, instead of flushing all registers in the cache before dropping to Interpreter. Check which registers are used by the next instruction and flush only the required ones. Which would be R0-R3 + registers that is used</li>
</ul></li>
<li>Downcount optimization
<ul>
<li>Each block hits the CoreTiming::Downcount variable. This should be optimized by throwing downcount in to ppcState or even its own dedicated register</li>
</ul></li>
<li>When d != a && d != s, don't load destination register
<ul>
<li>Currently the register cache will preload a PPC register when you call for it. This can be optimized so if the destination reg in a instruction is neither of the other two, you don't load it since the result will be thrown away anyway.</li>
</ul></li>
<li>Make register cache not use dedicated temp registers.
<ul>
<li>Currently four registers are squirreled away for temporary usage. This can easily drop to three, but to be even better, it should be changed so that temp registers will pull from the same pool as the dedicated PPC registers, so if we don't use a lot of temp registers in a block, we have more PPC registers to play with</li>
</ul></li>
<li>Make VideoSoftware use regular texture decoding
<ul>
<li>Right now VideoSoftware uses a large portion of its time decoding texture's texels on the fly, which can be optimized out similar to the other video backends, via the use of a texture cache.</li>
</ul></li>
<li>DSP LLE JIT
<ul>
<li>Make a ARM/VFP/NEON capable JIT for the DSP</li>
</ul></li>
<li>Time stretching in OpenSLES
<ul>
<li>Billiard said he was going to take the time to make it so all backends would use soundstretch indirectly. This has yet to come to fruition.</li>
</ul></li>
</ul>
<p>There is my list of current todos that I need done.</p>
Emulator - Emulator Issues #6001 (Fixed): Audio backends hard crash when no audio device presenthttps://bugs.dolphin-emu.org/issues/60012013-02-12T17:41:45ZSonicadvance1Sonicadvance1@gmail.com
<p>All of our audio backends don't expect a audio device to not be present when initializing. In Windows this causes a instant crash, and in Linux, Alsa manages to continue going but spits a bunch of errors out in the process.</p>
<p>We need to make sure to fallback to no audio if a audio device isn't found.</p>
Emulator - Emulator Issues #1123 (Invalid): Big-Endian Supporthttps://bugs.dolphin-emu.org/issues/11232009-07-13T03:20:22ZSonicadvance1Sonicadvance1@gmail.com
<p>Why not? :D</p>
Emulator - Emulator Issues #962 (Fixed): BBA Failhttps://bugs.dolphin-emu.org/issues/9622009-05-18T08:56:12ZSonicadvance1Sonicadvance1@gmail.com
<p>What steps will reproduce the problem?<br>
1.Run a game that takes advantage of BBA with BBA activated in settings<br>
PSO, Mario Kart:DD, and the socket test from DevkitPPC examples all get<br>
the device ID right at startup</p>
<ol>
<li>Will show it reading the Device ID twice in a row and then starts
getting unexpected IMM writes.</li>
</ol>
<p>There can still be multiple Device ID reads, but when it's two in a row and<br>
unexpected IMM writes start coming up, that's when you know it's a fail.</p>
<p>I tested in interpreter with both Mario Kart and PSO, both don't fail<br>
there. So it seems to be a bug in JIT. This I can't fix since I'm not<br>
familiar with the core work at all.</p>
Emulator - Emulator Issues #274 (Fixed): Complete the Microphone devicehttps://bugs.dolphin-emu.org/issues/2742008-11-04T05:45:48ZSonicadvance1Sonicadvance1@gmail.com
<p>Right now, Microphone via Memory card slot B is NEARLY completed.<br>
What needs to be done is</p>
<ul>
<li>Get Audio from Microphone connected to PC</li>
<li>Correctly send the audio to the game
<ul>
<li>The Microphone uses 16bit audio, YAGCD has all documentation needed
really</li>
</ul></li>
<li>Maybe Revise how we send Microphone button being sent to Core
<ul>
<li>Currently only being sent on Linux side, it's easy to add support,
I only added it via PadSimple though, would be nice if it was in nJoy as
well and Windows :D</li>
</ul></li>
</ul>
Emulator - Emulator Issues #261 (Fixed): Common.h is a messhttps://bugs.dolphin-emu.org/issues/2612008-10-30T19:38:38ZSonicadvance1Sonicadvance1@gmail.com
<p>Common.h is a completely horrid mess and it needs to be cleaned up.</p>
Emulator - Emulator Issues #162 (Fixed): Can't escape from fullscreen in Linux.https://bugs.dolphin-emu.org/issues/1622008-08-28T04:17:43ZSonicadvance1Sonicadvance1@gmail.com
<p>There is no simple way to get out of full screen when in linux.<br>
I usually go to a virtual terminal and kill it off that way.</p>