Commit Graph

164 Commits

Author SHA1 Message Date
Ryan Houdek 59e2225f7d Remove ARMv7 support. 2015-06-07 22:44:13 -05:00
Ryan Houdek d0ae3f7d24 Break out the disassembler code from the WXWidgets UI.
This cleans up some of the code between core and UI for disassembling and dumping code blocks.
Should help the QT UI in bringing up its debug UI since it won't have to deal with this garbage now.
2015-05-31 18:16:59 -05:00
Tillmann Karras 30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
Tillmann Karras cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
Lioncash 5c3fecc8e5 DolphinWX: Add missing breaks to a switch in RegisterView
Technically the fallthrough would never happen, as the row numbers correspond to the grid view (which will always be zero or greater). However, it gets rid of compiler warnings on higher warning levels.
2015-05-23 22:16:39 -04:00
Lioncash 8dc2909c00 JitWindow: Add missing virtual destructor to HostDisassembler
HostDisassemblerLLVM has a destructor, but the class uses a pointer to the base class.
2015-05-20 12:27:47 -04:00
Lioncash a7e9aea797 DolphinWX: Remove unnecessary includes 2015-05-08 12:39:26 -04:00
Lioncash 88f7536d81 DolphinWX: Remove unnecessary forward declarations
These are all fully defined
2015-04-28 17:32:38 -04:00
Lioncash 263e64e939 DolphinWX: Make some debugger functions/vars private
Some classes expose things that aren't used outside of them (and in some cases, shouldn't be exposed).
2015-04-27 20:42:18 -04:00
comex 3499f2c2d0 To make up for it, make pressing enter on the value textbox set the value. 2015-04-24 22:19:21 -04:00
comex 0c18e5886d Remove mnemonics in MemoryWindow.
On OS X, this broke Cmd-V to paste in the text boxes.  Apparently wx
thinks having mnemonics (which are Alt-* on Windows) be Cmd-* on OS X,
even if this disables standard shortcuts, is a good idea.

Lioncash suggested just getting rid of the accelerators on non-menu
controls, so I'm doing that rather than disabling them only on OS X.
2015-04-24 22:06:03 -04:00
comex 37d00cceda Fix wx bullshit which made the watch view assert on my machine.
1) Apparently wxString::Format is type safe, and passing a u32 to it
with the format "%lu" crashes with a meaningless assertion failure.
Sure, it's the wrong type, but the error sure doesn't help...

2) "A MenuItem ID of Zero does not work under Mac".  Thanks for the
helpful assert message, no thanks for making your construct have random
platform-specific differences for no reason (it's not like menu item IDs
directly correspond to a part of Cocoa's menu API like they do on
Win32).
2015-04-24 22:04:46 -04:00
Lioncash 2cddb8f480 Debugger: Update the registers/watches before refreshing grids. 2015-04-15 00:13:13 -04:00
Lioncash 180854c617 Debugger: Fix memory leaks related to grid tables
Incrementing the reference count here isn't necessary, as they construct with a count of 1. Incrementing again results in the attributes not being freed.
2015-04-07 23:16:29 -04:00
Lioncash 5ada887f94 DolphinWX: Get rid of wxGrid-based casts in the debugger.
This technically also fixes a memory leak in WatchView.cpp, because the table setting was done such that the grid wouldn't take ownership of the table, which means said table wouldn't be deleted in the grid's destructor.
2015-03-24 14:09:33 -04:00
skidau 12155ddee4 Added the ability to split the Debugger window horizontally and vertically via the Add Panes menu. 2015-03-07 12:33:33 +11:00
Lioncash d50c56c2e4 DolphinWX: Remove an unnecessary sizer from the watch window
The AUI manager already has the grid in place. Setting the sizer isn't needed.
2015-02-26 09:58:38 -05:00
skidau f71f376371 Merge pull request #2117 from lioncash/id
DolphinWX: Remove unnecessary control IDs
2015-02-26 12:49:07 +11:00
Ryan Houdek d6fcd85110 Merge pull request #2127 from lioncash/aui
DolphinWX: Relocate the address search into the code window
2015-02-25 10:36:07 -06:00
Lioncash ce4b73388a DolphinWX: Relocate the address search into the code window
It's only function is in this pane. Leaving it on the main application toolbar not only looks gross, but subverts what a user might think it applies to.
2015-02-25 00:16:17 -05:00
Lioncash 792e166f87 Merge pull request #2118 from lioncash/aui
DolphinWX: Use AUI in the code window.
2015-02-24 21:45:16 -05:00
Lioncash fd11f8fd29 DolphinWX: Use AUI in the code window.
Allows for resizing of the callstack, function call/callers windows etc.
First step in slightly improving the code window.
2015-02-24 21:31:28 -05:00
Lioncash 30c91a3003 DolphinWX: Remove unnecessary control IDs
These don't need to be specifically identified.
2015-02-24 08:31:52 -05:00
Lioncash d50e7562af DolphinWX: Make RAM watch strings translateable 2015-02-23 11:02:42 -05:00
skidau 57e9d59704 Merge pull request #1978 from lioncash/dspwind
DSPDebugWindow: Fix issue where the DSPLLE window would hang Dolphin on OSX
2015-02-23 12:57:27 +11:00
Lioncash a60d3306b1 PowerPC: Get rid of magic numbers related to interp/JIT initialization. 2015-02-19 12:16:53 -05:00
Lioncash 50f600c834 DolphinWX: Change Enable(false) calls into Disable() where possible 2015-02-14 16:00:15 -05:00
magumagu ac54c6a4e2 Make address translation respect the CPU translation mode.
The PowerPC CPU has bits in MSR (DR and IR) which control whether
addresses are translated. We should respect these instead of mixing
physical addresses and translated addresses into the same address space.

This is mostly mass-renaming calls to memory accesses APIs from places
which expect address translation to use a different version from those
which do not expect address translation.

This does very little on its own, but it's the first step to a correct BAT
implementation.
2015-02-11 13:56:22 -08:00
Lioncash 73b77f55ba DSPDebugWindow: Fix issue where the DSPLLE window would hang Dolphin on OSX 2015-01-28 14:01:11 -05:00
Ryan Houdek 95ac48d605 Improve the LLVM disassembler in the debug window.
There are a couple things in this PR.
Fixes a bug where if we hit an invalid instruction we would infinite loop.
Fixes an issue where on AArch64 it would show invalid instructions for all NEON instructions.
This was due to asimd and crc being optional extensions and LLVM not enabling them by default.
So we have to specify a CPU which has the feature. LLVM 3.6 will let us select by features instead of CPUs, but we don't have a release of that quite
yet.

If we are on an architecture that has a known instruction size, we will continue onward after hitting the invalid instruction. If we don't have a
known instruction size like on x86, we will instead just dump the rest of the block.
2015-01-18 15:31:40 -06:00
Stevoisiak 6ad5e54970 DolphinWX/Globals: Variable naming consistency 2014-12-20 21:43:11 -05:00
skidau 5313dd1b8c Merge pull request #1702 from CarlKenner/DebugSymbols
Fix many bugs with the Symbols menu (when run with -d argument).
2014-12-17 22:04:56 +11:00
CarlKenner 6e7eb52211 Rename menu items, stop using PanicAlertT, remove -d when running from visual studio.
I accidentally committed my addition of the -d option that I used for testing, now it's fixed.
2014-12-17 01:12:33 +10:30
CarlKenner dfd915eb53 Merge bad map file loading into the original function. 2014-12-17 01:11:58 +10:30
CarlKenner f95f43fdde Apparently c_str doesn't return a C str. 2014-12-17 01:11:52 +10:30
CarlKenner e246aaf419 Add "Load bad map file" option for map files on disc that don't quite match.
Currently it is very simple and naive, but filters out most of the bad matches.
2014-12-17 01:11:41 +10:30
CarlKenner f54d9e33c2 Fix many bugs with the Symbols menu (when run with -d argument).
The Symbols menu is now fully useable.
2014-12-17 01:11:36 +10:30
Lioncash 20fc2d5674 MemoryWindow: Remove wxSprintf call, use wxString::Format instead. 2014-12-12 10:29:07 -05:00
Lioncash 04ee0245e2 WatchView: Pass string by reference in SetWatchName 2014-11-15 14:06:12 -05:00
Lioncash ffc00b42e9 MemoryView: Fix a dealloc of a stack reference
stack allocation only works with the root menu. Any other children must be
heap allocated.

These however, will be freed by wxWidgets.
2014-11-13 20:10:40 -05:00
Lioncash 892bbdade6 DolphinWX: Eliminate some memory leaks
Since the menus aren't actually assigned a parent, they would not be freed by wx. Plus, these should have initially been constructed on the stack in the first place.
Technically any time someone right-clicked the game list they would be leaking memory.
2014-11-11 09:50:16 -05:00
Lioncash ac387031a4 DolphinWX: Kill off trivial event tables
Also fixes some of the wonky stuff in Main where we would fire an event to do post-init stuff which isn't necessary anymore.
2014-11-09 00:08:33 -05:00
Lioncash 210567a919 DolphinWX: Remove unnecessary forward declarations 2014-11-07 22:16:13 -05:00
Lioncash ee22d091a0 DolphinWX: Eliminate most usages of event tables in the debugger.
Moves things over to Bind.
2014-11-05 23:03:06 -05:00
Jasper St. Pierre dd0aadac97 MemoryWindow: Use p_pFakeVMEM, not the virtual mirror
They point to the same contents, so there's no reason to use the
mirror. This lets us make all the mirrors static.
2014-11-02 16:34:17 -08:00
skidau dbddc5f8e2 Fixed a warning in the add memcheck from Watch window 2014-10-31 11:26:17 +11:00
Rohit Nirmal 55f91ecba4 DolphinWX: Fix -Wsign-compare warnings. 2014-10-28 21:07:48 -05:00
Rohit Nirmal b70a75776e DolphinWX: Remove unused variable. 2014-10-28 21:02:47 -05:00
skidau 4570dd7eeb Fixed a crash that would occur if a new watch were added by entering a watch name.
Code style updates.
2014-10-26 23:23:45 +11:00
skidau 73dca1ca33 Added a new option to add memchecks from the Watch window.
Fixed watch labels from being truncated at the first whitespace.
2014-10-26 16:14:17 +11:00