Commit Graph

122 Commits

Author SHA1 Message Date
Lior Halphon 05cd81b77c Implemented jump-to breakpoints 2019-04-12 20:29:43 +03:00
Lior Halphon 0b03b61564 Render the first line 0, as required for SGB emulation 2019-02-16 04:19:16 +02:00
Lior Halphon 73a54049d2 Accurate PPU access timings 2019-01-19 19:32:26 +02:00
Rob Loach 2da7a3f7fb
Fix the return value of read_lvalue to be 0 2018-10-12 10:09:30 -04:00
Rob Loach e834d32b8e
Update switch to just return at the end instead 2018-10-12 09:41:25 -04:00
Rob Loach f4ee044347
Fix control reaches end of non-void function
This change makes it so that there is a return value when a kind doens't match. Allows -Werror=return-type to pass.

```
Core/debugger.c: In function ‘read_lvalue’:
Core/debugger.c:239:1: error: control reaches end of non-void function [-Werror=return-type]
 }
```
2018-10-11 22:17:16 -04:00
Lior Halphon 2791775c5d Improvements to the `lcd` debugger command 2018-06-22 18:38:54 +03:00
Lior Halphon 45c73e0175 Replaced the is_cgb bool with a more future compatible model enum. Removed the GB_init_cgb API and replaced it with an extended GB_init and GB_switch_model_and_reset APIs that now receive a model parameter. Increased the struct version. 2018-06-16 13:59:33 +03:00
Lior Halphon 7df571d42f Less strict matching for `delete` and `unwatch`. Fixes #71 2018-05-13 23:17:23 +03:00
Lior Halphon ba07e7ba85 Fixed a bug where 0:$dxxx reads/writes from the wrong bank in CGB mode. Made sure symbols are reset after reloading a sym file. 2018-04-02 19:57:39 +03:00
Lior Halphon f8c6b9e7a0 Fixed the lcd command 2018-03-23 21:26:49 +03:00
Lior Halphon b702d56547 Merge branch 'master' into timing
# Conflicts:
#	Core/display.c
#	Core/z80_cpu.c
2018-03-01 21:22:33 +02:00
Lior Halphon fb03479a1f Added 16-bit dereferencing operator (`{address}`) to the debugger. Closes #38 2018-02-28 19:39:22 +02:00
Lior Halphon 9802ca41dd Components not affected by CGB’s double speed mode now operate in 8MHz mode to theoretically make advance_cycles(gb, 1) safe. 2018-02-20 21:17:12 +02:00
Lior Halphon 48acc09e91 Fixed the first item in the backtrace command 2017-06-03 16:19:39 +03:00
Lior Halphon a01ea29cf1 The first entry in the backtrace command is now in the same format as the rest 2017-05-26 20:21:39 +03:00
Lior Halphon 7d88ee00cc Added side view to Cocoa debugger 2017-05-26 20:16:19 +03:00
Lior Halphon 22d3510dde Added LCD command to the debugger 2017-04-22 14:55:17 +03:00
Lior Halphon fb55c35f87 New APIs, Document.m no longer requires GB_INTERNAL, fixed a bug where the sprite viewer showed incorrect sprites for some CGB exclusive games. 2017-04-19 23:26:39 +03:00
Lior Halphon a925ef130d Stabilizing API: New joypad, debugger and reset APIs; internal APIs and direct struct access are no longer available without defining GB_INTERNAL. The SDL port uses the new “public” APIs, as well as most of the non-debug Cocoa code. 2017-04-17 20:16:17 +03:00
Lior Halphon 421d3b27f5 Correct emulation of HUC1 banks higher than 0x1F 2017-02-16 21:07:35 +02:00
Lior Halphon eed8a06fc0 Several fixes to the help command 2017-02-04 19:00:31 +02:00
Lior Halphon 57c73c8a51 Fixed the help command for the disassemble command 2017-02-04 17:49:22 +02:00
Lior Halphon cd382ef236 Fixed: Conditional read watchpoints crashed if the expression referred to the 'new' variable. Breakpoint and watchpoint conditions no longer trigger watchpoints. 2017-01-12 23:11:26 +02:00
Lior Halphon 2d51d13479 Various optimizations 2016-10-22 02:18:29 +03:00
Lior Halphon 1b8832a7ff Added disassemble command 2016-10-19 23:55:23 +03:00
Lior Halphon ee51dec20e Added modifier syntax to debugger: Changed watch's syntax, added format modifier to print/eval, added count option to examine command. 2016-10-19 23:48:46 +03:00
Lior Halphon 11f8c41305 Basic HUC3 support 2016-10-17 18:51:43 +03:00
Lior Halphon 9ca7540c69 Fixed dereferencing a non-banked address in the debugger 2016-10-14 01:19:39 +03:00
Lior Halphon 80a1b12ae7 Added palette command to the debugger 2016-10-01 22:08:34 +03:00
Lior Halphon 5565c096c7 Misc optimizations, especially for the tester 2016-09-30 01:09:44 +03:00
Lior Halphon 3ac3eccebb Bugfix: Multiple watchpoints did not work correctly and conflicted with breakpoints 2016-09-30 01:09:17 +03:00
Lior Halphon 71d4ba21f2 Added a tick-counting debugger command 2016-09-16 11:58:31 +03:00
Lior Halphon 62ecadeb57 Fixed another reset-while-debugging deadlock in Cocoa 2016-09-07 00:37:11 +03:00
Lior Halphon 0734e990b3 Memory viewer now has a Goto command, different memory space modes, and allows viewing/editing specific banks 2016-08-19 14:54:54 +03:00
Lior Halphon f9236d12bf Improvements to the help command and general debugger usability. 2016-08-13 22:52:41 +03:00
Lior Halphon 806d0775a4 Added backtrace command to debugger 2016-08-09 22:48:53 +03:00
Lior Halphon 55cbe5d4d0 Accuracy improvements to timers 2016-08-06 00:24:12 +03:00
Lior Halphon e6d4cac00e Fix logical bug when changing watchpoint flags 2016-07-21 15:20:25 +03:00
Lior Halphon da0911d69b Fixed SDL crash 2016-07-18 14:30:21 +03:00
Lior Halphon aa6438fa06 Async debugger commands 2016-07-18 00:46:45 +03:00
Lior Halphon eaca0634aa Reading and writing absolute addresses in the expression evaluator. 2016-07-15 17:06:46 +03:00
Lior Halphon e20e81befd Symbol support in the expression evaluator 2016-07-15 14:31:27 +03:00
Lior Halphon c3a831db7d Debugger's pc "variable" now returns a full address 2016-07-14 23:27:48 +03:00
Lior Halphon 909f3ba75e Bank-specific breakpoints and watchpoints 2016-07-14 23:25:16 +03:00
Lior Halphon ce837b3727 Bank-specific examine support 2016-07-14 21:15:24 +03:00
Lior Halphon 65f37bccbd Initial 25-bit debugger values support 2016-07-14 21:01:45 +03:00
Lior Halphon f6b10ed439 Operators priorities were inverted! 2016-07-13 23:51:46 +03:00
Lior Halphon 46714108ac ...And a crash. 2016-07-13 23:46:18 +03:00
Lior Halphon c3f1eb26b1 Fixed potential overflow 2016-07-13 23:07:36 +03:00
Lior Halphon d49404d248 Debugger can now read .sym files, and display them. (No expression support yet) 2016-07-13 23:00:50 +03:00
Lior Halphon e9b3a38171 Uniform syntax for debugger input and output 2016-07-12 23:30:18 +03:00
Lior Halphon bd7f8f2555 Support for an alternative MBC1 wiring, should solve most N-in-1 carts (Issue #3) 2016-07-09 19:25:25 +03:00
Lior Halphon c6bafe3fc3 Rewrote MBC support 2016-07-09 17:34:55 +03:00
Lior Halphon 78a809795e Renaming MBC constants 2016-07-09 14:45:25 +03:00
Lior Halphon b4208be4f4 Multiple watchpoints were broken 2016-07-09 14:37:11 +03:00
Lior Halphon de4983099a Added (conditional) r/w watchpoints. Fixed a bug where breakpoint condition syntax is not checked. Added != operator. 2016-07-07 00:29:25 +03:00
Lior Halphon 19aea4096b Added condition breakpoint. Fixed a possible crash when deleting a breakpoint. 2016-07-01 18:24:21 +03:00
Lior Halphon 79fd9ed6ad Added boolean operators to the debugger 2016-07-01 13:12:04 +03:00
Lior Halphon 70bd90740a Mass name and type changes. Save states are now compatible between 32- and 64-bit systems. Maybe. 2016-06-18 20:29:11 +03:00
Lior Halphon 8153b765a2 General cleanup. Minor fixes to LCD Controller accuracy. 2016-06-12 19:39:05 +03:00
Lior Halphon 6c7dd761e2 Fixed a crash related to adding and deleting breakpoints 2016-06-10 18:03:12 +03:00
Lior Halphon 79e4c22c6b Fixed string in MBC command 2016-04-16 15:18:40 +03:00
Lior Halphon 4a05c4243d Corrected description for the breakpoint command 2016-04-13 22:48:07 +03:00
Lior Halphon 8dd1b3c854 Added (experimental) stack-leak and stack-overflow detection command to the debugger. 2016-04-10 23:22:54 +03:00
Lior Halphon 71ef40f4b6 "Standardized" the finish/next call depth as debugger "hooks" 2016-04-10 22:36:54 +03:00
Lior Halphon a3b44d20cb Added mbc/cartridge command to debugger 2016-04-09 02:00:10 +03:00
Lior Halphon f448865b8a Silently ignoring empty lines 2016-04-08 01:53:21 +03:00
Lior Halphon 1069637e45 Added support for multiple breakpoints 2016-04-07 00:25:41 +03:00
Lior Halphon eb0b642247 Improved debugger command style and usability, made code more flexible 2016-04-06 01:43:35 +03:00
Lior Halphon 0787e5b271 Debugger's next command can now exit a function 2016-04-02 19:06:43 +03:00
Lior Halphon f1e9623371 Initial public commit 2016-04-01 21:27:01 +03:00