Commit Graph

838 Commits

Author SHA1 Message Date
Stephen Anthony 314cfc9e3f Fix build file for Linux. 2019-08-24 09:17:24 -02:30
Thomas Jentzsch 47f193610f small fix `listbreaks` for single bank ROMs 2019-08-24 12:21:17 +02:00
Thomas Jentzsch 5785371915 reworked breakpoints to use hash map (and % $1fff addresses) 2019-08-24 11:59:31 +02:00
Thomas Jentzsch 91875f1ae9 fixed some breakpoint issues regarding #512 2019-08-21 10:23:54 +02:00
Thomas Jentzsch dcbab3af3a improve breakpoint calculation, only consider low 13 bit for PC 2019-08-20 15:33:41 +02:00
Thomas Jentzsch 6a11cb3d44 add some more keypad keys support 2019-08-20 12:09:31 +02:00
Thomas Jentzsch e1b9982944 add commands from 'exec' script to prompt history 2019-08-20 10:27:42 +02:00
Thomas Jentzsch 92d39501a0 make breakpoints consider banks (fixes #512) 2019-08-19 22:12:49 +02:00
Thomas Jentzsch bd03895556 made EventMode an enum class 2019-08-15 10:12:37 +02:00
Stephen Anthony b532d5a6ee Fix compile warning for strncpy in Visual Studio.
Hopefully this will make Thomas happy :)
2019-08-14 18:10:56 -02:30
Thomas Jentzsch bef7bbdded propagate 'repeated' to dialogs 2019-08-14 17:25:42 +02:00
Thomas Jentzsch a5fff857e9 fix #513
support using ESC to exit debugger
2019-08-14 14:52:28 +02:00
Thomas Jentzsch c9634766e0 fix #393 by using one-shot breakpoints 2019-08-13 17:27:23 +02:00
Thomas Jentzsch ca9e567e7b fix TiaInfoWidget display 2019-08-10 22:39:02 +02:00
Thomas Jentzsch 9adb63e59f add mouse wheel zooming to TIA zoom widget in debugger
fix coordinates for handleMouseWheel()
2019-08-02 14:07:05 +02:00
Thomas Jentzsch 470f432ac9 allow dragging debugger zoom widget with mouse 2019-07-29 13:40:43 +02:00
Thomas Jentzsch 669af8d1b8 Improve zooming 2019-07-28 19:55:36 +02:00
Thomas Jentzsch add8142f1f implement left button zoom and extra options in zom window (#506) 2019-07-28 14:15:03 +02:00
Thomas Jentzsch aae8a107f1 implement swapped hotspot option for UA (for Mickey) 2019-07-28 11:11:27 +02:00
Thomas Jentzsch 068a33a9f7 adapted UA bankswitching to new Brazilian carts (except Mickey) 2019-07-28 09:58:38 +02:00
Thomas Jentzsch ee5c89fc78 fixed hotspot address 2019-07-28 08:19:24 +02:00
Thomas Jentzsch 83acfe03c2 fix #507 2019-07-27 11:45:50 +02:00
Thomas Jentzsch b561336991 add load and save all states commands to debugger 2019-07-26 15:46:24 +02:00
Stephen Anthony 3da04a63c0 Some UI code refactoring.
Since 'repeat' is now enabled below the UI level, we no longer need to track key presses.
2019-06-15 19:58:45 -02:30
thrust26 e0be318154 make prompt tab initial tab in debugger
fix Dialog class for R77
2019-06-15 14:47:12 +02:00
Stephen Anthony c2c3c973ed Fix PopupWidget/ContextMenu not positioned correctly in fullscreen mode.
Refactored Rect class.
2019-06-03 19:28:56 -02:30
Stephen Anthony 97886474d4 Fix compiler warning. 2019-06-02 10:22:26 -02:30
thrust26 c8d7054c96 handle debugger relevant keys which cannot be remapped first 2019-06-02 12:57:04 +02:00
thrust26 e3af5f70a5 make emulation key mappings available in debugger 2019-06-02 11:41:37 +02:00
thrust26 1df63a6410 several debugger buttons repeat 2019-06-02 00:21:49 +02:00
thrust26 7771ec0a0a refactor ESC key handling
make remaining control hotkeys configurable
2019-05-27 23:01:03 +02:00
Stephen Anthony 3a4e2b7f3b Updates to conditional compilation.
- Don't create certain directories when not needed
- Don't include certain items in ContextMenu when not applicable
2019-05-15 13:30:27 -02:30
Stephen Anthony d98c9514fa Fixed HiDPI mode for all remaining dialogs (Time Machine, BrowserDialog, etc).
All that's left to do now is testing.
2019-05-14 18:34:34 -02:30
Stephen Anthony 8c6442e99e Fix imageRect not being correctly set for fullscreen UI modes.
- This caused incorrectly positioning for ContextMenu
- With this fix, the positioning code in ContextMenu and related dialogs becomes a lot less complex
2019-05-12 19:12:30 -02:30
Stephen Anthony 6f8a5dda28 Refactor DialogContainer and child classes.
- instead of using a protected instance variable, each derived class now has its own private variable
- each derived class also takes responsibility for deleting its private variable
- various API cleanups
2019-05-11 22:16:23 -02:30
Stephen Anthony 7072afdf1f All widgets and dialogs using 'ContextMenu' now work in hidpi mode. 2019-05-11 19:50:42 -02:30
Stephen Anthony 19c0525f9f GUI support is now conditional in Stella. This is enabled by default for all ports except libretro.
- When disabled, it also disables the debugger and cheatcode support
- UI-wise, this reverts Stella to 1.x functionality (before any internal UI was added)
- Eliminates 47000 lines of code for those ports (like libretro) that don't need it.
2019-05-02 17:58:39 -02:30
Stephen Anthony 4348bd8edd Fix missing 'override's. 2019-05-01 12:57:49 -02:30
thrust26 90857e74e6 allow to position dialogs centered and in corners 2019-05-01 17:19:40 +02:00
Stephen Anthony e34575753a Some cleanups to Widget class. 2019-04-27 22:09:05 -02:30
thrust26 75650f1930 add option to switch settings mode in minimal UI 2019-04-27 21:07:18 +02:00
Stephen Anthony eb13d515fb Enable conditional compilation for PNG support. Some ports (libretro) don't need it at all. 2019-04-21 20:07:56 -02:30
Stephen Anthony 5d6a0f9dbb When saving logfile, show a message indicating location.
Since the logfile is now saved to the default OSystem location, we no longer need PATH_SEPARATOR,
so remove all instances of it.
2019-04-20 17:29:25 -02:30
Stephen Anthony bf865e37ab Move ROM properties normal enum to 'enum class'; this actually spread to other issues:
- properties names for 'Cartridge' changed to 'Cart'; this can speed up processing
- fixed several bugs in stella.pro (missing newlines)
- fixed 'create_props'; now it works from either the base directory or the tools directory
Reworked properties database names
2019-04-20 15:42:46 -02:30
Stephen Anthony 4d99772a10 More 'enum class' conversions. 2019-04-13 22:26:53 -02:30
Stephen Anthony 535fffdc46 More conversions from 'enum' to 'enum class' and 'constexpr'. 2019-04-13 21:35:29 -02:30
Stephen Anthony 6d1ad6da92 Reactivate some code that was commented out in the last commit(s). 2019-03-29 22:16:46 -02:30
Stephen Anthony e6e337cd02 Fixes for previous commit; remove indirection and inherit directly from ControllerLowLevel. 2019-03-29 21:07:20 -02:30
Stephen Anthony cfe79ec0b1 Major changes to controller infrastructure.
Basically, separate high-level read/write from low-level set/getPin methods.
2019-03-29 20:47:24 -02:30
thrust26 39884db86f refactored/renamed key state parameters (pressed vs. released) 2019-03-29 23:49:29 +01:00
Stephen Anthony 4b2b9aa626 Converted a few plain enum to 'enum class'; eliminated some dead code. 2019-03-24 19:04:07 -02:30
Stephen Anthony 9c905bc53e Fix minor compile warning. 2019-03-23 19:46:08 -02:30
thrust26 9dc53042c5 fixes #422 2019-03-23 20:10:03 +01:00
thrust26 dc4dd6ac94 added new file 2019-03-19 20:47:16 +01:00
thrust26 7973140c5a refactored and split CartCDFWidget.cxx (see CartCDFInfoWidget.cxx) 2019-03-19 20:44:38 +01:00
Christian Speckner a794bb983a Silence compiler. 2019-03-18 22:43:31 +01:00
Christian Speckner 383424983a Update memory layout for CDFJ, adapt debugger widget. 2019-03-18 22:30:46 +01:00
Christian Speckner 59a7cbbc5e Support CDFJ / fastjmp2 2019-03-13 22:30:20 +01:00
thrust26 9b6cae5684 Minor fixes for 3E+ 2019-03-05 20:22:08 +01:00
Stephen Anthony abc3b3a32b Fix warnings generated by clang 8.
- Several more still exist, and are mostly related to C-style code
- It has long been my intent to remove as much C-style code as possible
2019-03-02 12:06:08 -03:30
Stephen Anthony 61cf68cb98 Move `getTicks()` from OSystem to TimerManager.
- This allows OSystem dependency to be removed in a few places (WIP).
- It more properly belongs in TimerManager, which has other functionality related to std::chrono.
- Historically this was a virtual method in OSystem, since different ports implemented it differently.  Now that we use proper C++11 code, it doesn't need to be there anymore.
- Changed from a virtual call to a static call, so it's probably even a little faster.
2019-02-26 19:20:28 -03:30
Christian Speckner 85acaef8cd Refactoring: remove dependency of TIA and M6532 on Console. 2019-02-26 23:43:22 +01:00
thrust26 a4456e6af8 improved controller detection and added Genesis
adapted GameInfoDialog to controller detection
moved detection from OSystem to Console
2019-02-11 22:10:30 +01:00
Stephen Anthony ebfff85cb6 Fixed nasty C-style string conversion to upper/lower-case. 2019-01-01 15:22:30 -03:30
Stephen Anthony 275666b0af The annual copyright year update. 2019-01-01 11:35:51 -03:30
Stephen Anthony 69fb08e30c Remove '_rwport' from the debugger.
The new way of detecting RWP is superior, and we don't have time to rework _rwport to use it.
This may come back in the future (if required), but I honestly don't see a need for it.
2018-12-18 20:56:19 -03:30
Stephen Anthony ebe18877f9 Fairly large refactoring of RWP functionality.
- abstracted RWP code into Cart base class (only F8SC converted for now)
- RWP now works by analysing RAM accesses before and after each instruction, catching all occurrences

Fixes for compiling without debugger support.
2018-12-17 19:51:28 -03:30
thrust26 1dfc221a1a fixed RWP by using the last access type 2018-12-08 15:51:16 +01:00
thrust26 d3b270dea8 fixed trapping on 'read from write port' functionality for CPU dummy peeks 2018-12-08 09:53:00 +01:00
Stephen Anthony abfc01b483 Rework trapping on 'read from write port' functionality.
The new code introduces a generic 'EmulationWarning' exception that can
be thrown for any reason.  The RWP functionality has been ported to use
this, with the main benefit that if we ever have to add new exceptional
cases, we no longer need to modify M6502 class; it will pick up on the
new exceptions and pass them to the EmulationWorker as necessary.

Functionally, the RWP stuff works the same as before, just with a
different implementation behind the scenes.
2018-12-07 21:19:44 -03:30
thrust26 ecb6c7a508 Implemented solution for #396 2018-12-07 20:47:06 +01:00
Stephen Anthony 1bb19a05ba Restore const for Event class by using 'mutable' mutex. 2018-09-20 21:51:10 -02:30
Christian Speckner 6d0614ef35 Guard Event.hxx against races. 2018-09-19 23:36:26 +02:00
Stephen Anthony 508102b56e Fix crash when force-exiting a ROM from debugger. 2018-09-17 12:24:38 -02:30
Stephen Anthony 31f6dba87d 'Cartridge.StartBank' ROM property is now used by the core. 2018-09-14 20:57:36 -02:30
thrust26 eee99a43dc Revert "fixed merge error"
This reverts commit 00544ddbe9.
2018-09-02 18:41:52 +02:00
thrust26 00544ddbe9 fixed merge error 2018-09-02 17:53:35 +02:00
Christian Speckner 28f8dcc312 Get rid of strlen_s and strnlen_s, don't drive audio if sound is disabled. 2018-09-01 23:12:52 +02:00
thrust26 492596011a fixed two warnings 2018-09-01 14:20:30 +02:00
Stephen Anthony 7e4dc350f0 More fixes for suggestions from cppcheck. 2018-08-28 16:19:50 -02:30
Stephen Anthony 558b071fbb Some more fixes for warnings from cppcheck. 2018-08-28 14:21:01 -02:30
Stephen Anthony 8c7488914d Fix some warnings generated by cppcheck (a C++ linter). 2018-08-27 11:09:03 -02:30
Stephen Anthony 7bc320964e Added TimerManager to Xcode project file.
Fixed a few warnings.
2018-08-23 20:37:34 -02:30
thrust26 7a94ad0a8c fixed a warning 2018-08-22 15:29:35 +02:00
Stephen Anthony 59fb2214ed Minor code cleanup and fix a warning. 2018-08-21 20:19:55 -02:30
thrust26 797ced56b0 fixes #359 2018-08-21 21:11:25 +02:00
Stephen Anthony 915e62f466 Fixed a few more warnings, and marked some code for later research. 2018-08-19 22:40:57 -02:30
Stephen Anthony 24cd6cb219 Use proper C++ code for localtime and related functions. 2018-08-19 19:53:47 -02:30
Stephen Anthony 6cd5c9d327 Fix API for TogglePixelWidget to properly use ColorId datatypes. 2018-08-19 17:03:54 -02:30
Stephen Anthony e3bf1ffbd5 More updates to Visual Studio compiler settings:
- Increase warning level to 4, and fix a few new warnings
- Globally, all files are now explictly compiled in C++ mode
- For png and zlib code (that we didn't write), drop back to level 2
warnings and explicitly compile in C mode
2018-08-19 15:01:03 -02:30
Stephen Anthony 56437c38e6 Increased warning level in Visual Studio compiles.
Also fixed some new warnings that VS now finds.
2018-08-19 12:34:40 -02:30
thrust26 867674c8fb updated docs for #346 enhancement 2018-08-12 14:33:25 +02:00
thrust26 b94c042ed2 fixes #346 2018-08-12 14:18:31 +02:00
thrust26 efb998129b fixes #342 2018-08-09 15:39:54 +02:00
Stephen Anthony 8298ad4d26 Fixed inconsistency in passing color data to parameters.
- Now uses 'ColorId' as the datatype; this is currently mapped to uInt32, but can change in the future if required
- Eliminates needless and annoying casts in various places; all colors are now 'ColorId' type
2018-08-08 13:09:10 -02:30
thrust26 f7d09c772d Fixes #339 2018-08-08 09:28:03 +02:00
thrust26 a1bc2460bb some small darkened color touches 2018-08-07 17:30:52 +02:00
Stephen Anthony a424b8b9a7 Fix minor warnings reported by gcc and clang. 2018-08-06 17:29:22 -02:30
thrust26 573d9a1e25 even more background dialog widget color adjustments 2018-08-06 17:14:22 +02:00
Christian Speckner cd06cc6d2c Show the current image data in zoom widget. 2018-08-01 23:12:45 +02:00