<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Android, branch 5.0</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Merge pull request #3794 from EmptyChaos/frame-advance-race</title>
<updated>2016-05-22T19:19:16+00:00</updated>
<author>
<name>Mat M</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2016-05-22T19:19:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=08d45b9fea67714610cc6fdbe41e7bf1262816df'/>
<id>08d45b9fea67714610cc6fdbe41e7bf1262816df</id>
<content type='text'>
Core: Add synchronization to state changes (Fix Frame Step and FIFO Player -  Issue 8718)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Core: Add synchronization to state changes (Fix Frame Step and FIFO Player -  Issue 8718)</pre>
</div>
</content>
</entry>
<entry>
<title>[Android] Fix extra character in screenshot folder path</title>
<updated>2016-05-20T19:24:49+00:00</updated>
<author>
<name>Tyler Dunn</name>
<email>robotdude@att.net</email>
</author>
<published>2016-05-20T19:24:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=cf65199d86d49103f6f0e392c96fb6f2747eb88e'/>
<id>cf65199d86d49103f6f0e392c96fb6f2747eb88e</id>
<content type='text'>
Environment.getExternalStorageDirectory().getPath() covers the end of the path with a slash, get rid of the extra slash to fix the path.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Environment.getExternalStorageDirectory().getPath() covers the end of the path with a slash, get rid of the extra slash to fix the path.</pre>
</div>
</content>
</entry>
<entry>
<title>[Android] Bump gradle plugin to 2.1.0</title>
<updated>2016-05-19T02:31:54+00:00</updated>
<author>
<name>Tyler Dunn</name>
<email>robotdude@att.net</email>
</author>
<published>2016-05-19T02:31:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=4a0a92e95e567f9cb04824d026d3cbba1c286ecc'/>
<id>4a0a92e95e567f9cb04824d026d3cbba1c286ecc</id>
<content type='text'>
And fix deprecation warning in script
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And fix deprecation warning in script
</pre>
</div>
</content>
</entry>
<entry>
<title>[Android] Reduce code redundancy</title>
<updated>2016-05-19T02:13:33+00:00</updated>
<author>
<name>Tyler Dunn</name>
<email>robotdude@att.net</email>
</author>
<published>2016-04-21T13:10:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=a5b72abf2c9491a82a89531f146819692d699310'/>
<id>a5b72abf2c9491a82a89531f146819692d699310</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Android] Drop commit() for apply()</title>
<updated>2016-05-19T02:10:52+00:00</updated>
<author>
<name>Tyler Dunn</name>
<email>robotdude@att.net</email>
</author>
<published>2016-04-18T23:30:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=937caea1c92257cae7d6475d356e2cc3243d986a'/>
<id>937caea1c92257cae7d6475d356e2cc3243d986a</id>
<content type='text'>
Apply is asynchronous, and we aren't expecting a return value so there
is no reason not to use apply.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply is asynchronous, and we aren't expecting a return value so there
is no reason not to use apply.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Android] Don't hardcode SD card path</title>
<updated>2016-05-19T02:10:42+00:00</updated>
<author>
<name>Tyler Dunn</name>
<email>robotdude@att.net</email>
</author>
<published>2016-04-14T20:46:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=a0b54f558e3cc75c36c0d6f79947b324be71c555'/>
<id>a0b54f558e3cc75c36c0d6f79947b324be71c555</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Android] Fix possible leak of fileCursor</title>
<updated>2016-05-19T02:10:29+00:00</updated>
<author>
<name>Tyler Dunn</name>
<email>robotdude@att.net</email>
</author>
<published>2016-04-14T03:46:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=6a870c241757de4bff2c3d900b5f05bd22f9752e'/>
<id>6a870c241757de4bff2c3d900b5f05bd22f9752e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix reading CISO files on Android</title>
<updated>2016-05-17T12:20:59+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2016-05-17T12:20:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=dc3bbeb92f604069bdd1599bce172e4b96fc70ef'/>
<id>dc3bbeb92f604069bdd1599bce172e4b96fc70ef</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Core/Movie: Add ability to run code in Host context</title>
<updated>2016-05-12T23:23:44+00:00</updated>
<author>
<name>EmptyChaos</name>
<email>EmptyChaos@users.noreply.github.com</email>
</author>
<published>2016-05-12T01:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c1944f623b5918ab45152795dea9e49f57878138'/>
<id>c1944f623b5918ab45152795dea9e49f57878138</id>
<content type='text'>
EndPlayInput runs on the CPU thread so it can't directly call
UpdateWantDeterminism. PlayController also tries to ChangeDisc
from the CPU Thread which is also invalid. It now just pauses
execution and posts a request to the Host to fix it instead.

The Core itself also did dodgy things like PauseAndLock-ing
from the CPU Thread and SetState from EmuThread which have been
removed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
EndPlayInput runs on the CPU thread so it can't directly call
UpdateWantDeterminism. PlayController also tries to ChangeDisc
from the CPU Thread which is also invalid. It now just pauses
execution and posts a request to the Host to fix it instead.

The Core itself also did dodgy things like PauseAndLock-ing
from the CPU Thread and SetState from EmuThread which have been
removed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: Threadsafety Synchronization Fixes (Frame Advance / FifoPlayer)</title>
<updated>2016-05-12T23:23:44+00:00</updated>
<author>
<name>EmptyChaos</name>
<email>EmptyChaos@users.noreply.github.com</email>
</author>
<published>2016-05-12T09:17:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c1922783f8125dee4f12fdb20bdcbcf764e7ade4'/>
<id>c1922783f8125dee4f12fdb20bdcbcf764e7ade4</id>
<content type='text'>
Fix Frame Advance and FifoPlayer pause/unpause/stop.

CPU::EnableStepping is not atomic but is called from multiple threads
which races and leaves the system in a random state; also instruction
stepping was unstable, m_StepEvent had an almost random value because
of the dual purpose it served which could cause races where CPU::Run
would SingleStep when it was supposed to be sleeping.

FifoPlayer never FinishStateMove()d which was causing it to deadlock.
Rather than partially reimplementing CPU::Run, just use CPUCoreBase
and then call CPU::Run(). More DRY and less likely to have weird bugs
specific to the player (i.e the previous freezing on pause/stop).

Refactor PowerPC::state into CPU since it manages the state of the
CPU Thread which is controlled by CPU, not PowerPC. This simplifies
the architecture somewhat and eliminates races that can be caused by
calling PowerPC state functions directly instead of using CPU's
(because they bypassed the EnableStepping lock).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix Frame Advance and FifoPlayer pause/unpause/stop.

CPU::EnableStepping is not atomic but is called from multiple threads
which races and leaves the system in a random state; also instruction
stepping was unstable, m_StepEvent had an almost random value because
of the dual purpose it served which could cause races where CPU::Run
would SingleStep when it was supposed to be sleeping.

FifoPlayer never FinishStateMove()d which was causing it to deadlock.
Rather than partially reimplementing CPU::Run, just use CPUCoreBase
and then call CPU::Run(). More DRY and less likely to have weird bugs
specific to the player (i.e the previous freezing on pause/stop).

Refactor PowerPC::state into CPU since it manages the state of the
CPU Thread which is controlled by CPU, not PowerPC. This simplifies
the architecture somewhat and eliminates races that can be caused by
calling PowerPC state functions directly instead of using CPU's
(because they bypassed the EnableStepping lock).
</pre>
</div>
</content>
</entry>
</feed>
