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