Commit Graph

323 Commits

Author SHA1 Message Date
Adam Higerd d0edc7dc76 Stack trace: add tracing to ARM debugger 2020-07-27 21:23:34 -05:00
Vicki Pfau 3210d5f272 ARM: Fix regression setting C flag in SBC (fixes #1827) 2020-07-26 23:18:26 -07:00
Vicki Pfau 007baef3b0 ARM: Fix edge case with Thumb SBC flags (fixes #1818) 2020-07-12 14:26:13 -07:00
Vicki Pfau 2f066a9790 Util: Start cleaning up some bounded string copies 2020-07-06 16:08:23 -07:00
Vicki Pfau 5e003d1e7a ARM: Fix LDM^ {pc} differences (fixes #1698) 2020-06-26 01:22:39 -07:00
Vicki Pfau 8ef0427885 ARM: Fix LDM^ writeback to user-mode register 2020-06-26 01:22:39 -07:00
Vicki Pfau d61d9ef6a6 ARM: Fix disassembling of several S-type instructions (fixes mgba.io/i/1778) 2020-06-09 01:23:11 -07:00
Vicki Pfau 7f64f8cf3b Debugger: Keep track of global cycle count 2020-05-30 18:01:15 -07:00
Vicki Pfau ff1033b801 ARM Debugger: Clear low bit on breakpoint addresses (fixes #1764) 2020-05-25 00:58:40 -07:00
Vicki Pfau f9a42d87d1 ARM: Fix timing on Thumb shift instructions 2020-05-23 21:35:16 -07:00
Vicki Pfau ab2a8c1e62 ARM: Fix STR storing PC after address calculation 2020-01-24 01:46:56 -08:00
Vicki Pfau 27882fbded ARM: Fix ALU reading PC after shifting 2020-01-24 01:46:15 -08:00
Vicki Pfau dab12cf5c6 All: Fix several warnings 2020-01-16 19:54:41 -08:00
Vicki Pfau bb1ce789d2 Debugger: Print break-/watchpoint ID when breaking in CLI 2019-12-21 14:05:22 -08:00
Vicki Pfau a6fc606a2d Debugger: Separate aliases from main commands 2019-12-21 13:52:16 -08:00
Vicki Pfau 780b4521cf ARM: Fix stepping when events are pending 2019-12-20 21:08:36 -08:00
Vicki Pfau 89c49f15d0 ARM: Partially fix LDM/STM writeback with empty register list 2019-11-01 19:39:32 -07:00
Vicki Pfau f336219a61 ARM: Fix STR writeback pipeline stage 2019-11-01 19:39:32 -07:00
Vicki Pfau ebf35aaaf7 ARM: Fix build 2019-06-20 14:14:46 -07:00
Vicki Pfau 227121e676 CMake: Begin cleanup 2019-06-20 14:03:40 -07:00
Vicki Pfau 1deff07aa1 Debugger: Print breakpoint/watchpoint number when inserting 2019-04-28 13:37:51 -07:00
Vicki Pfau bf8c1d1b4b ARM: Remove need for CPSR load in some flag calculations 2019-03-31 11:59:18 -07:00
Vicki Pfau 0c9802e4da Debugger: Revamp breakpoint/watchpoint API, add listing 2019-01-31 22:52:27 -08:00
Vicki Pfau ff2a0f8519 Debugger: Readability improvements (fixes #1238) 2018-11-21 17:30:41 -05:00
Vicki Pfau 4d383b129d ARM: De-macro-ize ARM/Thumb PC write routines 2018-10-12 21:09:49 -07:00
Vicki Pfau f6a4a13b60 GBA: All IRQs have 7 cycle delay (fixes #539, #1208) 2018-10-07 12:52:00 -07:00
Vicki Pfau ee3969ad02 Debugger: Fix long disassemblies 2018-05-12 09:48:04 -07:00
Vicki Pfau 73010a4121 ARM: Prevent register check code from being inlined 2018-05-08 14:11:51 -07:00
Vicki Pfau 0131a196d1 Debugger: Conditional watchpoints 2017-12-29 16:38:46 -05:00
Vicki Pfau 0383c82b46 Debugger: Conditional breakpoints 2017-12-29 16:11:40 -05:00
Vicki Pfau f3ea4caf84 All: Support building on PPC Mac 2017-12-23 16:23:51 -08:00
Vicki Pfau d484c98eba Debugger: Add get/set register functions 2017-10-13 00:29:38 -07:00
Vicki Pfau a2447d09e3 Debugger: Redo argument handling 2017-10-13 00:28:35 -07:00
MerryMage cb7c09e63d ARM: Fix MSR when CPSR.T is set 2017-08-06 09:18:11 -07:00
Vicki Pfau 70a6622a5c Debugger: Execution tracing 2017-06-11 09:26:26 -07:00
Vicki Pfau 9c144266ec LR35902: Add watchpoints 2017-06-02 19:15:13 -07:00
Vicki Pfau fcc8b5c805 Debugger: Add segment breakpoints 2017-05-22 22:19:46 -07:00
Vicki Pfau 1e7a62fbb3 Revert "ARM: Overhaul PSR access"
This reverts commit 37f5feb713 and fixup commits.
2017-01-31 11:46:24 -08:00
Vicki Pfau 1c3162da53 ARM: Slightly optimize CARRY check 2017-01-28 12:16:26 -08:00
Vicki Pfau 0fadc1e11d ARM: Fix some warnings 2017-01-28 11:26:09 -08:00
Vicki Pfau b17d2d11c3 ARM: Fix build 2017-01-28 11:15:30 -08:00
Vicki Pfau 37f5feb713 ARM: Overhaul PSR access 2017-01-28 11:11:59 -08:00
Jeffrey Pfau 180418a74f ARM7: Fix MLA/*MULL/*MLAL timing 2017-01-01 14:46:58 -08:00
Jeffrey Pfau fa884d071e All: Migrate includes to separate directory 2016-12-30 21:25:07 -08:00
Jeffrey Pfau 6d898542c7 Merge branch 'feature/python-bindings' 2016-12-29 01:23:31 -08:00
Jeffrey Pfau 2f1cb61d01 All: Add C++ header guards 2016-12-26 21:01:55 -08:00
Jeffrey Pfau 99a85aaf3a Debugger: Fix build 2016-12-25 15:22:40 -08:00
Jeffrey Pfau e5c61e0093 Python: Preliminary, incomplete bindings 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 85367c3713 GBA: Only unhalt CPU if appropriate bit is set in IE 2016-12-11 20:39:14 -08:00
Jeffrey Pfau 4085b9cdc5 GBA: Only unhalt CPU if an IRQ actually fires 2016-12-08 20:44:29 -08:00
Jeffrey Pfau 8aeafeb762 ARM7: PSR mode bits should not get sign extended 2016-11-30 16:18:02 -08:00
Jeffrey Pfau a0d223eef7 Debugger: Modularize CLI debugger 2016-10-25 21:12:35 -07:00
Jeffrey Pfau 805ef9efdd ARM Debugger: Fix clearing software breakpoints 2016-09-17 12:41:31 -07:00
Jeffrey Pfau 5486e013e0 Debugger: Fix setting software breakpoints 2016-09-15 09:33:13 -07:00
Jeffrey Pfau c45d91d311 Debugger: Add software breakpoints, fix cleanup 2016-09-07 17:49:27 -07:00
Jeffrey Pfau 2ed7d51376 ARM7: Fix decoding of Thumb ADD (variants 5 and 6) 2016-07-31 00:27:16 -07:00
Jeffrey Pfau 6b1cbbd5e2 ARM7: Fix setting spsr privilege bits when spsr is empty 2016-06-10 10:18:21 -07:00
Jeffrey Pfau b1b5cf8a11 ARM7: Clean up instruction decoding for future expandability 2016-06-06 22:08:19 -07:00
Jeffrey Pfau feb5ad2260 ARM7: Fix flags on SBC/RSC 2016-05-20 19:02:15 -07:00
Jeffrey Pfau e81de71f50 ARM7: Flush prefetch cache when loading CPSR via MSR 2016-05-16 01:18:09 -07:00
Jeffrey Pfau b5ff48a74e ARM7: Support forcing Thumb mode via MSR 2016-05-12 00:19:24 -07:00
Jeffrey Pfau 2d1ad16e1c ARM7: Improve decoder for memory access 2016-05-11 23:12:03 -07:00
Jeffrey Pfau 0fa6da495d All move around debugger files a bit 2016-05-08 00:52:15 -07:00
Jeffrey Pfau d6fce03fa3 All: Fix instruction tables getting zeroed when linking sometimes 2016-05-03 22:01:37 -07:00
Jeffrey Pfau 4b4be372c0 All: Fix some warnings 2016-04-29 00:20:45 -07:00
Jeffrey Pfau 37a0839a25 Debugger: Some memory debugger fixes 2016-04-29 00:17:43 -07:00
Jeffrey Pfau c03f9bcc03 Debugger: Fix identifier lookup 2016-04-25 22:44:44 -07:00
Jeffrey Pfau 1cc0bdeec1 Debugger: Refactor large portions of debugger to allow for multiplatform 2016-04-25 21:49:29 -07:00
Jeffrey Pfau fbfbbbf279 Core: Merge ARMComponent and LR35902Component 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 7e6f9f2092 ARM7: Fix typo that invoked undefined behavior 2016-01-16 10:06:01 -08:00
Jeffrey Pfau 1fa904878b ARM7: Fix decoding of some ARM ALU instructions with shifters 2016-01-12 21:11:50 -08:00
Jeffrey Pfau 5c007289e4 GBA: Add extra data section to the end of savestates 2015-12-28 03:26:17 -05:00
Jeffrey Pfau 6604afb670 ARM7: Fix bank switching with LDR[B]T/STR[B]T 2015-11-22 02:31:13 -08:00
Jeffrey Pfau bb79334856 ARM7: Implement more undefined load/store forms 2015-11-22 01:42:58 -08:00
Jeffrey Pfau b67e4b5d78 ARM7: Implement undefined STRH/LDRH versions 2015-11-20 19:11:02 -08:00
Jeffrey Pfau fad1daf3e9 ARM7: Fix STRT/STRBT 2015-11-20 19:10:17 -08:00
Jeffrey Pfau 4bd7a65432 ARM7: Fix sign of unaligned LDRSH 2015-11-06 21:03:52 -08:00
Jeffrey Pfau c27dde73e7 ARM7: Fix regression with Thumb branches 2015-10-21 19:57:29 -07:00
Jeffrey Pfau a442933bbf All: Fix some undefined behavior warnings 2015-10-20 22:30:24 -07:00
Jeffrey Pfau 47eabe1bc7 ARM7: Fix instruction decoding of Thumb shifts 2015-10-08 19:52:38 -07:00
Jeffrey Pfau 3a15553c09 All: Reset next event to cycles instead of zero to interrupt 2015-10-05 19:20:17 -07:00
Jeffrey Pfau 6ba239d3f3 ARM7: Combine shifter-immediate and shifter-register functions to reduce binary size 2015-08-23 07:21:14 -07:00
Jeffrey Pfau ae1fecd4c8 ARM7: Fix decoding some more load/store instructions 2015-08-15 18:03:49 -07:00
Jeffrey Pfau 56208521d6 ARM7: Fix decoding LDR3 2015-07-13 01:15:59 -07:00
Jeffrey Pfau 908e61f415 All: Add clang-format options and run them 2015-06-29 20:45:08 -07:00
Lioncash 3736462c14 arm: ARMHotplugDetach should call deinit. 2015-06-29 03:17:04 -04:00
Jeffrey Pfau 051af279c9 GBA Memory: Implement game pak prefetch approximation 2015-06-22 00:27:21 -07:00
Jeffrey Pfau bdb7635156 ARM7: Reduce the size of the Thumb instruction table 2015-06-21 16:19:23 -07:00
Jeffrey Pfau d524148469 ARM7: Add emulation for Undefined CPU mode 2015-06-19 00:59:52 -07:00
Jeffrey Pfau 910ff621b3 ARM7: Fix timing of multiplies to use N cycles 2015-06-12 03:26:50 -07:00
Jeffrey Pfau c79780f832 ARM7: Fix Thumb MUL timing 2015-05-29 01:45:27 -07:00
Jeffrey Pfau 6b06579277 All: Move most macros back into common.h 2015-05-29 00:17:04 -07:00
Jeffrey Pfau 32d1f5bbfb ARM7: Fix ARM multiply instructions when PC is a destination register 2015-05-09 13:40:58 -07:00
Jeffrey Pfau ec14557a1e ARM7: Make illegal instruction decoding consistent between ARM and Thumb 2015-05-09 00:23:56 -07:00
Jeffrey Pfau ebcb344d64 ARM7: Handle writeback for PC in addressing modes 2 and 3 2015-05-08 01:23:44 -07:00
Jeffrey Pfau 97479c4d00 ARM7: Fix SWI and IRQ timings 2015-04-05 18:06:31 -07:00
Jeffrey Pfau 45473bf7bc ARM7: Fix cycle counting for loads 2015-03-27 21:21:17 -07:00
Jeffrey Pfau 8eeaa11256 ARM7: Add ARMRunFake for rolling back the PC and running a fake opcode 2015-02-04 23:30:04 -08:00
Jeffrey Pfau f9110fc51e ARM7: Make component numbers be size_t instead of int 2015-02-04 02:35:30 -08:00
Jeffrey Pfau 56291e63e5 Debugger: Add support for soft breakpoints 2015-02-03 03:12:04 -08:00