Commit Graph

995 Commits

Author SHA1 Message Date
thrust26 2d754a9aea fix color value disassembly
add ORG/RORG for multi-bank ROM disassembly
2020-03-30 09:52:56 +02:00
thrust26 8c635a6f91 rename code access into ROM access to better reflect the usage 2020-03-30 09:22:45 +02:00
thrust26 302d1fb51c fix CPU destination display 2020-03-29 18:05:07 +02:00
thrust26 536b3b4ec1 fix savedis output 2020-03-29 17:24:16 +02:00
thrust26 49a9f07452 fix DiStella configuration output 2020-03-29 13:02:58 +02:00
thrust26 d9a207786d update debugger docs
add missing debugger commands for enhanced DiStella data detection
2020-03-29 12:30:26 +02:00
thrust26 e85738978c add detection of audio data in DiStella (see #596) 2020-03-29 10:51:16 +02:00
thrust26 0047c7bd5f replace some magic numbers in Distella 2020-03-28 09:35:27 +01:00
thrust26 fca12051ba refactored access flags used for disassembly 2020-03-27 09:03:06 +01:00
thrust26 5fd53520e7 use defined type for disassembly flags 2020-03-26 23:26:18 +01:00
thrust26 0a4acb18c5 add detection of color data in DiStella (see #596) 2020-03-26 22:22:52 +01:00
thrust26 a374a5b9c6 display write destination address in debugger (implements #74) 2020-03-26 13:48:46 +01:00
Stephen Anthony 9c7b815860 More fixes for DPC+ jitter issues, thanks to Spiceware. 2020-03-15 19:34:53 -02:30
Stephen Anthony 2e1015ad36 Fix a few compile warnings in Xcode, and add missing files. 2020-03-15 18:11:52 -02:30
Thomas Jentzsch c86f9fd1a8 fix CartMDMWidget (disable bank selection popup when locked) 2020-02-04 16:30:05 +01:00
thrust26 74f1c0d985 minor debugger fix 2020-02-03 20:47:49 +01:00
Stephen Anthony 64fe0d3488 Make compiler happy. 2020-02-03 12:55:46 -03:30
thrust26 6558b2a075 add total and delta cycle counter (resolves #565)
make VSync and VBlank editable
2020-02-03 13:09:19 +01:00
thrust26 7e90323d4b adapt debugger UI to new display heights 2020-01-25 13:56:46 +01:00
thrust26 d6fdb8de79 adjust ystart for NTSC and PAL
adjust TIA sizes in debugger
2020-01-25 10:28:16 +01:00
thrust26 ba4223bdbf add hotkey to decrease current state slot 2020-01-20 12:11:26 +01:00
Stephen Anthony 7d23029338 Updated copyright to 2020. Happy New Year to anyone reading this! 2019-12-31 13:48:56 -03:30
Stephen Anthony fdc6848a3e Fix typo that caused entering the debugger to crash. 2019-12-29 20:22:05 -03:30
Stephen Anthony 6445407f17 More default initialization updates, in the process making c'tors smaller/non-existent.
I've already found a few potential bugs where instance variables weren't being initialized at all.
2019-12-29 18:36:56 -03:30
Stephen Anthony 1fe0dd34d6 Fix size_t issue. 2019-12-28 22:44:26 -03:30
Stephen Anthony 62a0049e5f More default initialization updates. 2019-12-28 22:36:40 -03:30
Stephen Anthony cf9bd9dd10 First pass at moving to default member initialization.
This fixes potential issues with forgetting to initialize in c'tors.
2019-12-28 21:14:52 -03:30
Stephen Anthony ed389d7d27 And yet more fixes for warnings from clang-tidy. 2019-12-28 00:45:09 -03:30
Stephen Anthony f195b36baa More conversions of C-style to std::array.
That's it for a little while; getting tired now ...
2019-12-27 19:22:09 -03:30
Stephen Anthony 88c9c15bfa More fixes for warnings from clang-tidy.
Mostly converting C-style arrays to C++.
2019-12-25 20:40:01 -03:30
Stephen Anthony 7e7348b07c Many more fixes for suggestions from clang-tidy. 2019-12-24 22:11:36 -03:30
Stephen Anthony ffdb301a36 Some cleanups suggested by clang-tidy. 2019-12-21 22:38:01 -03:30
Stephen Anthony 414607ce26 Changed Base::Format to Base::Fmt, and made it a scoped enum. 2019-12-21 21:27:18 -03:30
thrust26 23cc2cc49c fix MessageBox height calculation
add first 0.5K RAM to ARM fatal error message
2019-12-21 11:59:07 +01:00
Christian Speckner 30350ec2c4 Ystart is sleeping with the fishes. 2019-12-19 18:01:54 +01:00
thrust26 338e2604d5 Fixed my merge chaos (sorry) 2019-12-16 09:47:56 +01:00
Stephen Anthony 83c2e8486f More fixes for issues reported by cppcheck. 2019-12-15 12:32:49 -03:30
Stephen Anthony 2bc5c4336a Use make_unique/make_shared to eliminate raw pointers. 2019-12-13 19:24:36 -03:30
Stephen Anthony b52dae4176 Convert some raw arrays to std::array.
Some fixes for warnings from Coverity.
2019-11-14 20:12:45 -03:30
thrust26 84e0e67a07 add missing files 2019-11-02 13:23:23 +01:00
thrust26 66456e0418 adds FC bankswitching for Amiga's Power Play Arcade cart #1 2019-11-02 12:23:03 +01:00
thrust26 ddfc065c4b display debugger cart type info disabled
align further options to cart type info
2019-11-02 11:57:50 +01:00
thrust26 36322474ed updated WD bankswitching (incl. detection) 2019-10-16 22:05:33 +02:00
Stephen Anthony 52e3bab745 One final fix for clang warning. 2019-09-24 10:36:32 -02:30
Stephen Anthony 0353e49fe1 Fixed minor warnings in Windows. 2019-09-23 20:18:54 -02:30
Stephen Anthony 84428a7bbc A few more std::array updates. 2019-09-22 20:42:46 -02:30
Stephen Anthony 4a25a72814 Changed uInt32 to size_t where necessary.
Finally decided to stop fighting C++, and just use size_t everywhere an
array is used.
Even though this is a 64-bit value, it seems that C++/STL expects it
when dealing with arrays, so I guess we will too.
2019-09-16 21:29:08 -02:30
Stephen Anthony 9958ad040e Fixed gcc warnings wrt getBank virtual methods.
Converted many C-style arrays to C++ std::array.  In the process, cleaned up a lot of magic constants.

Replaced most C-style memset/memcpy operations with C++ equivalents: std::fill/std::copy.
std::copy in particular fixes a few potential bugs, since it operates on the datatype size,
and not just on raw bytes.
2019-09-16 19:46:15 -02:30
thrust26 3ff6a95314 Add considering addresses for current bank. This is important for types where the 4K ROM address space is segmented into smaller slices, so there can be more than one bank at a time.
This addresses #536.
2019-09-07 14:29:33 +02:00
Thomas Jentzsch 0d8b53d004 add 'breaklabel' command for 16 bit address breaks in all banks 2019-08-31 11:37:29 +02:00
Thomas Jentzsch 5b67967e6e add a quick fix for #532
fix comment for FE detection
2019-08-31 10:21:30 +02:00
Stephen Anthony 24421fa9ee Removed 'cfgdir', and have Distella config files placed with the ROM file they refer to.
Updated docs for removal of statedir, propsfile, etc.
Added 'basedir' and 'baseinappdir' to the docs.
Updated changelog for above changes.
2019-08-30 23:32:57 -02:30
Thomas Jentzsch 5e288dc075 improve 'break' command output 2019-08-27 23:27:28 +02:00
Thomas Jentzsch a3eb2a3598 return sorted list of breakpoints 2019-08-26 10:11:41 +02:00
Thomas Jentzsch dd3fea5f96 refine 'break' command (using ff instead of -1, which indicates an invalid argument) 2019-08-26 09:44:30 +02:00
Thomas Jentzsch 1fe3886cca Merge branch 'master' of https://github.com/stella-emu/stella 2019-08-24 14:12:32 +02:00
Thomas Jentzsch 72e50fa099 forgot the new files, oops again! 2019-08-24 14:12:07 +02:00
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
Christian Speckner 3a5572d3b9 Add measured FPS to OSD, squash a bunch of minor bugs. 2018-07-30 23:19:47 +02:00
Stephen Anthony e691853f0e First pass at fixing superfluous re-draws in the UI.
- This addresses issue 158, and reduces CPU usage to near 0% when no changes are happening
- This returns the code to the same performance levels as version 3.x.
2018-07-25 08:48:21 -02:30
Christian Speckner f3f966d12c Ignore break conditions while stepping frames. 2018-07-13 00:16:53 +02:00
Christian Speckner c270a45409 Merge branch 'feature/precise-audio' 2018-07-01 23:48:26 +02:00
Stephen Anthony 963905759e Controller/Genesis/Booster cleanup.
- Made BoosterGrip set defaults for analog pins, just like Genesis
- Removed superfluous call to update an unchangeable pin in Genesis
- Renamed Controller resistance constants to indicate that they are actually constants
2018-06-12 19:07:31 -02:30
Christian Speckner a5ce457b72 Implement triple buffering in TIA. 2018-05-27 00:26:36 +02:00
Stephen Anthony 2fd1cafc2d Fix [[nodiscard]] warning in VS (applies only to C++17 mode). 2018-05-18 22:56:16 -02:30
Stephen Anthony cf8f76a0e1 Fix [[nodiscard]] warning in VS (applies only to C++17 mode). 2018-05-12 22:33:15 -02:30
Christian Speckner d2c930886b Sanitize and match emulation timing
-> no more perceivable audio latency
-> fewer underruns
2018-05-05 00:47:48 +02:00
Stephen Anthony 382a39a6c7 More fixes for issues reported by Coverity. 2018-03-30 10:51:56 -02:30
Stephen Anthony 698beaec8b Fixes for various issues reported by Coverity. 2018-03-24 16:58:08 -02:30
Stephen Anthony 162f7b7501 Add missing locks around Debugger::saveOldState() (fixes #298). 2018-02-15 19:25:54 -03:30
Stephen Anthony 2874a7c504 Fixed some compiler warnings from clang.
Refactored Stack::replace() to use Stack::applyAll() lambda instead.
2018-02-06 15:11:16 -03:30
Christian Speckner 87c59db4e0 Merge branch 'release/5.1' 2018-01-29 21:17:00 +01:00
Stephen Anthony db9cd28346 Added rewind/unwind shortcuts from TimeMachine to debugger.
- disabled the old Ctrl-r/y shortcuts, but the code is still there for experimentation
2018-01-28 13:28:17 -03:30
thrust26 d7cc2036df some refinements for additional save states creation 2018-01-28 11:21:52 +01:00
thrust26 d2177ea610 added extra save state when starting time machine navigation
(some TODOs left, see EventHandler and TimeMachineDialog)
2018-01-28 10:15:39 +01:00
thrust26 67df7caa3b fine tuning for StringListWidget and RomListWidget 2018-01-26 12:01:24 +01:00
thrust26 f58e914729 focus highlighting added to more widgets
added some missing tab keys to debugger
fixed frame colors for CheckboxWidget and RadioButtonWidget
brightened inverted highlight color for "Light"
2018-01-26 11:33:46 +01:00
thrust26 4c39fa3c68 some more focus highlighting added
made most sliders wider by default
2018-01-25 17:00:41 +01:00
thrust26 32e9c14b0d removed debug code 2018-01-24 15:20:54 +01:00
thrust26 5bd33885e3 title bar added to all dialogs 2018-01-24 14:37:07 +01:00
thrust26 5757eccfcf enabled FLAT_UI code, removed old code 2018-01-23 18:03:00 +01:00
Stephen Anthony d7bcde29dc A different implementation of testing whether debugger can be exited.
- basically check whether the current dialog is the 'base' one (ie, the debugger window)
 - this solution is more robust, in that we don't have to modify every dialog that can appear in the debugger
2018-01-20 11:45:07 -03:30
thrust26 9263e7c62f refactored ESC key handling
prevent exiting debugger from within Options Dialog (hack)
2018-01-20 10:53:54 +01:00
thrust26 4e3b26cea9 display of current timer divider to debugger added 2018-01-18 13:03:59 +01:00
thrust26 ce195d71a1 fixed #276
made sure that the rewind buttons always have correct state when entering debugger
2018-01-07 10:56:30 +01:00
Christian Speckner 77158fd845 Always make sure that hardware state is consistent with a full step before dispatching the debugger.
* Allows to revert much of the complexity of my previous fix.
2018-01-07 00:31:24 +01:00
Christian Speckner c0edcaf0c9 Sanitize halt and hardware state handling after CPU dispatch. 2018-01-06 23:33:52 +01:00
thrust26 1213c973dc fixed #275 2017-12-30 00:50:25 +01:00
Stephen Anthony 3d879d0080 Updated copyright date to 2018. A few days early, but nobody will mind ... 2017-12-29 17:10:37 -03:30
Stephen Anthony a15d5d8b06 Properly integrate MouseButton enum into the GUI core:
- The previous code used enumerations for DialogContainer, and constants for everything in src/gui
 - It took me over 3 hours to determine that a '1' in the first didn't mean the same as a '1' in the second
 - If ever there was a reason for strongly named constants (enum class), this was it.
2017-12-29 16:56:09 -03:30
Stephen Anthony e6dcce60de Convert raw enum to 'enum class'. 2017-12-22 23:57:40 -03:30
Stephen Anthony 93dcc9807d Integrate 'TIATypes' into 'TIAConstants'; they serve the same purpose. 2017-12-22 23:47:07 -03:30
Stephen Anthony 4250f5d102 Refactor EventHandler kbdXXX functions into StellaKeys:
- These functions did not really have anything to do with EventHandler
 - StellaKeys is the proper place, since they're testing against a StellaMod
 - This removes the need to include 'EventHandler.hxx' in many header files, again reducing dependencies
2017-12-21 19:44:18 -03:30
Stephen Anthony 7890a94144 Several large infrastructure changes for upcoming Time Machine stuff:
- renamed Rewinder and associated dialog to TimeMachine and friends
 - changed EventHandler state enum to stronger 'enum class' type (and associated changes to the codebase)
 - moved EventHandlerState into separate class, allowing a few files to not need to include EventHandler.hxx (reduce compile dependency)
 - plumbed EventHandlerState::TIMEMACHINE into the codebase; still TODO is activate it and add a usable dialog)
2017-12-20 21:56:22 -03:30
thrust26 44bb4db73e improved saveOldState() usage, now changes after a break are displayed too 2017-12-20 23:09:41 +01:00
thrust26 f0d5ffbd0a bank change tracking for more CartDebugWidgets added 2017-12-20 21:54:40 +01:00
thrust26 e3baeb209e added bank change tracking to most CartDebugWidgets 2017-12-20 21:32:07 +01:00
thrust26 0826ce6bd6 Made collisions editable 2017-12-20 18:18:07 +01:00
thrust26 f61e45829c changed tracking for collisions and various TIA status registers added 2017-12-20 16:20:52 +01:00
thrust26 90733875b2 completed change tracking on RIOT tab (except for controllers). 2017-12-20 10:01:44 +01:00
thrust26 d3575f3290 change tracking for TiaInfoWidget added 2017-12-19 19:22:29 +01:00