<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/DolphinWX/MainNoGUI.cpp, branch 5.0</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Add an Analytics reporting system.</title>
<updated>2016-06-19T00:55:46+00:00</updated>
<author>
<name>Pierre Bourdon</name>
<email>delroth@gmail.com</email>
</author>
<published>2016-06-18T00:43:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=121f27036725f62c72857bf06f1e58b2a772b1cc'/>
<id>121f27036725f62c72857bf06f1e58b2a772b1cc</id>
<content type='text'>
Fully opt-in, reports to analytics.dolphin-emu.org over SSL. Collects system
information and settings at Dolphin start time and game start time.

UI not implemented yet, so users are required to opt in through config editing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fully opt-in, reports to analytics.dolphin-emu.org over SSL. Collects system
information and settings at Dolphin start time and game start time.

UI not implemented yet, so users are required to opt in through config editing.
</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>
<entry>
<title>SCM: Use std::string.</title>
<updated>2016-05-04T22:22:49+00:00</updated>
<author>
<name>degasus</name>
<email>wickmarkus@web.de</email>
</author>
<published>2016-05-04T21:47:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2030ad45772742e8de34dbc94baa9eb49a0f7335'/>
<id>2030ad45772742e8de34dbc94baa9eb49a0f7335</id>
<content type='text'>
Those macros may be defined, or not. We should support both cases, so use std::string as it also defines the length of the string.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Those macros may be defined, or not. We should support both cases, so use std::string as it also defines the length of the string.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support a headless EGL option.</title>
<updated>2016-01-27T21:04:14+00:00</updated>
<author>
<name>Ryan Houdek</name>
<email>Sonicadvance1@gmail.com</email>
</author>
<published>2016-01-26T13:35:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=628e9bad92673c27a974649ee18c48483003347a'/>
<id>628e9bad92673c27a974649ee18c48483003347a</id>
<content type='text'>
This is a new option to support completely headless running of Dolphin without X11 on systems that can properly support it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a new option to support completely headless running of Dolphin without X11 on systems that can properly support it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Common: Remove other Common prefixed headers from Common.h</title>
<updated>2015-09-26T22:51:58+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2015-09-26T21:13:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=cc036ca86cdaf709e01221975da734cb64d54a94'/>
<id>cc036ca86cdaf709e01221975da734cb64d54a94</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CommonFuncs: Remove SLEEP macro</title>
<updated>2015-09-04T06:43:38+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2015-09-04T06:14:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=a11ae2cf300a8049f72ce523f1daac0dc4a49faa'/>
<id>a11ae2cf300a8049f72ce523f1daac0dc4a49faa</id>
<content type='text'>
There's already a function in Thread for this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There's already a function in Thread for this.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Join the emu thread in Core::Stop.  Get rid of Core::Shutdown which did that before."</title>
<updated>2015-07-22T07:15:19+00:00</updated>
<author>
<name>Jules Blok</name>
<email>jules.blok@gmail.com</email>
</author>
<published>2015-06-06T12:52:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b6c4d5792ba33ec1025041ed97b57bbbe00bafc7'/>
<id>b6c4d5792ba33ec1025041ed97b57bbbe00bafc7</id>
<content type='text'>
This reverts commit ba664b3293e88ddee94a4b922ced192f3270b569.

Added documentation to Core::Shutdown() to prevent breaking changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit ba664b3293e88ddee94a4b922ced192f3270b569.

Added documentation to Core::Shutdown() to prevent breaking changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Options: merge SCoreStartupParameter into SConfig</title>
<updated>2015-06-12T17:07:45+00:00</updated>
<author>
<name>degasus</name>
<email>wickmarkus@web.de</email>
</author>
<published>2015-06-12T11:56:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c375111076235313669e71953c877c9512cebd16'/>
<id>c375111076235313669e71953c877c9512cebd16</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "SDL: handle SDL_QUIT event"</title>
<updated>2015-06-08T01:43:39+00:00</updated>
<author>
<name>Matthew Parlane</name>
<email>parlane@gmail.com</email>
</author>
<published>2015-06-08T01:43:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=9e1aab663f2afdd61bda773764cc3c8f652659aa'/>
<id>9e1aab663f2afdd61bda773764cc3c8f652659aa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
