<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/DolphinQt/Debugger/MemoryWidget.h, branch 2412</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>DolphinQt: A Ubiquitous Signal For When Breakpoints Change</title>
<updated>2024-09-21T01:37:39+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-21T01:37:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=7c2a39706e84d112cf28883a64afe43aa6f0b916'/>
<id>7c2a39706e84d112cf28883a64afe43aa6f0b916</id>
<content type='text'>
There were three distinct mechanisms for signaling breakpoint changes in DolphinQt, and the wiring had room for improvement. The behavior of these signals has been consolidated into the new `Host::PPCBreakpointsChanged` signal, which can be emitted from anywhere in DolphinQt to properly update breakpoints everywhere in DolphinQt.

This improves a few things:
- For the `CodeViewWidget` and `MemoryViewWidget`, signals no longer need to propagate through the `CodeWidget` and `MemoryWidget` (respectively) to reach their destination (incoming or outgoing).
- For the `BreakpointWidget`, by self-triggering from its own signal, it no longer must manually call `Update()` after all of the emission sites.
- For the `BranchWatchDialog`, it now has one less thing it must go through the `CodeWidget` for, which is a plus.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were three distinct mechanisms for signaling breakpoint changes in DolphinQt, and the wiring had room for improvement. The behavior of these signals has been consolidated into the new `Host::PPCBreakpointsChanged` signal, which can be emitted from anywhere in DolphinQt to properly update breakpoints everywhere in DolphinQt.

This improves a few things:
- For the `CodeViewWidget` and `MemoryViewWidget`, signals no longer need to propagate through the `CodeWidget` and `MemoryWidget` (respectively) to reach their destination (incoming or outgoing).
- For the `BreakpointWidget`, by self-triggering from its own signal, it no longer must manually call `Update()` after all of the emission sites.
- For the `BranchWatchDialog`, it now has one less thing it must go through the `CodeWidget` for, which is a plus.
</pre>
</div>
</content>
</entry>
<entry>
<title>Memory(View)Widget: Avoid Global System Accessor</title>
<updated>2024-03-01T15:09:20+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-03-01T14:52:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=26141eece81642d3c9c226cded768da6ddb9069c'/>
<id>26141eece81642d3c9c226cded768da6ddb9069c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>DolphinQt: Properly lock CPU before accessing emulated memory</title>
<updated>2023-02-12T10:27:50+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2023-02-12T10:07:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=7cecb28bdf6443362a6ab20e0042ddb3b407ebec'/>
<id>7cecb28bdf6443362a6ab20e0042ddb3b407ebec</id>
<content type='text'>
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.

To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.

To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
</pre>
</div>
</content>
</entry>
<entry>
<title>MemoryWidget: Make search address a combobox that holds address history.</title>
<updated>2022-10-30T05:41:30+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2022-10-20T07:56:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=053320b7cf5e1f4363c20edc9275cd352641cbd9'/>
<id>053320b7cf5e1f4363c20edc9275cd352641cbd9</id>
<content type='text'>
Always update the combobox when a new target address is sent.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Always update the combobox when a new target address is sent.
</pre>
</div>
</content>
</entry>
<entry>
<title>Debugger MemoryWidget: Create mini-menu at top of sidebar. Move dump buttons and "set value from file" to the menu.</title>
<updated>2022-09-08T23:36:36+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2022-09-07T19:25:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=50db8f35b85ef177082b3a963fc893f4e76b9f26'/>
<id>50db8f35b85ef177082b3a963fc893f4e76b9f26</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Debugger MemoryViewWidget: Allow direct editing of memory cells.</title>
<updated>2022-07-02T00:30:24+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2022-06-29T18:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=bd59b0a4902718aed235e2f22ba7dd9bf15789f6'/>
<id>bd59b0a4902718aed235e2f22ba7dd9bf15789f6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MemoryWidget add dual views for two separate column types. Force first column to be Hex32.</title>
<updated>2022-04-17T07:15:44+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2022-04-07T05:50:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=cc22f1a5585a732f3c040eb972bf8d1af132c66f'/>
<id>cc22f1a5585a732f3c040eb972bf8d1af132c66f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Debugger MemoryWidget: More display types, use combo box for display options. Add alignment and riw length options.</title>
<updated>2022-04-16T05:00:51+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2022-04-06T09:36:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=a2aecc3794d58306e00348ea5d4115596383f5a1'/>
<id>a2aecc3794d58306e00348ea5d4115596383f5a1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MemoryWidget: Load Files to Memory</title>
<updated>2022-04-11T02:02:33+00:00</updated>
<author>
<name>EternityShack</name>
<email>powmert323@gmail.com</email>
</author>
<published>2022-04-11T02:02:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c5b0b925131bb8c1d688b56c1661cc99a514784a'/>
<id>c5b0b925131bb8c1d688b56c1661cc99a514784a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Debugger MemoryWidget: add float and integer inputs. Add input preview. Change input logic. Use combobox for options.</title>
<updated>2022-04-06T23:20:55+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2022-04-06T23:20:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ed96b8e30813ae21df140bd5f356479354480797'/>
<id>ed96b8e30813ae21df140bd5f356479354480797</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
