Commit Graph

4450 Commits

Author SHA1 Message Date
Brett Lawson
bf6644d436 Fix minor bug in debugger which occasionally causes a crash. 2016-06-16 02:59:13 -07:00
Brett Lawson
b34c7e9325 Added basic analysis processing. This can find functions mainly. 2016-06-16 02:51:32 -07:00
Brett Lawson
db474ab886 Various improvements to the disassembler UI. 2016-06-16 02:51:28 -07:00
Brett Lawson
fc400f7683 Add a module's entrypoint as a symbol called '__start'. 2016-06-16 02:51:23 -07:00
Brett Lawson
1878413b22 Added Registers View to debugger. 2016-06-16 02:51:18 -07:00
Brett Lawson
d756da9c87 Added missing disassembler hotkey. 2016-06-16 02:51:09 -07:00
Brett Lawson
ea2cda286b Improved disassembler with better UI and breakpoint support. 2016-06-16 02:37:12 -07:00
Brett Lawson
765a7b2466 Significantly improved scrolling behaviour in memory view (again)... 2016-06-16 02:36:04 -07:00
Brett Lawson
0e63940e49 Added stubs and layout for analysis engine. 2016-06-16 02:34:54 -07:00
Brett Lawson
ed4fbcb724 Updated the branch calculator to provide more metadata in return. 2016-06-16 02:32:08 -07:00
Brett Lawson
fa5825fab6 Make StepInto and StepOver hotkeys repeatable for quickly stepping code. 2016-06-15 03:26:36 -07:00
Brett Lawson
3946080d3c Make DBGBREAK interrupts maskable for alarm callbacks.
There was a bug where the debug break interrupt was being
processed while system alarm callbacks were being run.  This
caused a deadlock due to the scheduler lock being held
during the callback period.
2016-06-15 03:26:31 -07:00
Brett Lawson
c6f38006c9 Updated the loader to use its own lock instead of the schedulers. 2016-06-15 03:29:05 -07:00
Brett Lawson
ff3028a621 Added additional assert to catch double-unlock situations. 2016-06-15 03:29:00 -07:00
Brett Lawson
e00522bc53 Fixed scheduler double-unlock bug in OSSignalEvent.
Also cleaned up two tiny things.
2016-06-15 03:28:55 -07:00
James Benton
95cf9428ad decaf-sdl: Fix log filename. 2016-06-15 22:55:39 +01:00
James Benton
8b5200d492 debugger_ui: Be explicit with type used for std::min and std::max.
Fixes compiler errors on gcc.
2016-06-15 00:44:57 +01:00
James Benton
29275ba60e libcpu: Add aliasing for unconditional conditional branches. 2016-06-15 01:28:17 +01:00
James Benton
295909dafb libdecaf: Also fix blr encoding for implemented kernel function stubs... 2016-06-15 01:14:55 +01:00
James Benton
e1d97f1380 libdecaf: Fix incorrect blr encoding in kernel call stubs. 2016-06-15 01:12:00 +01:00
James Benton
3fd27ba230 libcpu: Fix wrong register for li and lis aliases. 2016-06-15 01:11:54 +01:00
James Benton
893204d85a libcpu: Fix copy-pasta comma operators in condition branch aliasing. 2016-06-15 01:11:50 +01:00
Brett Lawson
bf2f3d27de Impose an column minimum limit on memory viewer.
Pesky signed integers!
2016-06-15 02:56:32 -07:00
Brett Lawson
87527cb005 Impose an column limit on memory viewer.
Newly created windows have an apparently infinite
width which causes the column limit to be set to
a rediculous value and cause an essentially infinte
loop to run drawing the memory.
2016-06-15 02:51:54 -07:00
Brett Lawson
f6e084d3dc Store NIA/CIA on the PPC stack in the right byte-order.
This is important for when the debugger attempts to
reconstitute a waiting threads state.
2016-06-15 02:42:01 -07:00
Brett Lawson
9eef4a5932 Ensure all 3 cores resume from debugger at once.
Otherwise, breakpoints hit immediately might cause
the other cores not to be released appropriately
which causes a deadlock.
2016-06-15 02:41:09 -07:00
James Benton
2802b87e0e libcpu: Add mfxer and mtxer simplified mnemonics. 2016-06-15 00:37:41 +01:00
Brett Lawson
1b2de22e3a Default the disassembly and memory views somewhere reasonable. 2016-06-15 02:03:17 -07:00
Brett Lawson
5d12199294 Made the JIT memory allocator thread-safe.
This was a serious oversight on my part when first
implementing it.
2016-06-15 01:21:25 -07:00
Brett Lawson
c66d1d34d4 Initial debugger disassembler view implemented. 2016-06-14 22:21:53 -07:00
Brett Lawson
47cca2877e Added tracking of the current thread and core being debugged. 2016-06-14 22:21:48 -07:00
Brett Lawson
1ae6d7c321 Significantly improved debuggers memory view behaviour. 2016-06-14 22:21:43 -07:00
Brett Lawson
9a91c2bd16 Fix code duplication annoyance in the debugger ui handling. 2016-06-14 22:21:38 -07:00
Brett Lawson
4ccdbbbe5c Correct issue with debugger stepping branch prediction. 2016-06-14 22:21:31 -07:00
James Benton
21eeaec777 libcpu: Add a few more simple instruction aliases. 2016-06-15 00:34:34 +01:00
James Benton
23c641c5e2 libcpu: Improved branch instruction aliases. 2016-06-15 00:34:23 +01:00
James Benton
7c8d14d4ca libcpu: Do not attempt to disassemble marker fields. 2016-06-15 00:00:02 +01:00
James Benton
f4bb1384bd cmake: Add decaf-cli project. 2016-06-14 22:41:48 +01:00
James Benton
e5e2e57ec3 libdecaf: Separate debugger initialisation.
Because we don't want it to be called from decaf-cli.
2016-06-14 22:41:21 +01:00
James Benton
ac1d89a3d8 Add decaf-cli project.
A command line only application to execute Wii U games with no graphics
and no input. This can be useful for running unit test rpx files.
2016-06-14 22:30:35 +01:00
James Benton
c5d50bb260 libdecaf: Add proper support for game process exiting. 2016-06-14 22:28:35 +01:00
James Benton
229e3b92cf libdecaf: Fix bug in NullGraphicsDriver where it would not wake graphics thread. 2016-06-14 22:27:46 +01:00
James Benton
ed7dcbf5b0 libdecaf: Add NullInputDriver. 2016-06-14 21:43:32 +01:00
James Benton
1021a1e090 libdecaf: Add NullGraphicsDriver. 2016-06-14 21:43:11 +01:00
James Benton
d86db11b53 coreinit: Rename internal OSSetDefaultThread to internal::setDefaultThread. 2016-06-14 21:42:03 +01:00
James Benton
9b895a1603 decaf-sdl: Remove old unused fuzztest and hwtest commands. 2016-06-14 21:41:40 +01:00
James Benton
6171aab557 libdecaf: Move decaf graphics api to decaf_graphics.h 2016-06-14 21:41:26 +01:00
James Benton
22782abcb1 libdecaf: Rename InputProvider to InputDriver. 2016-06-14 21:40:53 +01:00
James Benton
e1b5f6cddb debugger: Fix missing refactor of function name which was hiding inside an assert. 2016-06-14 20:37:35 +01:00
James Benton
f0610eb0c2 Rename decaf-cli to decaf-sdl. 2016-06-14 20:15:49 +01:00