thrust26
351aff6be6
handle debugger relevant keys which cannot be remapped first
2019-06-02 12:57:04 +02:00
thrust26
b589645269
make emulation key mappings available in debugger
2019-06-02 11:41:37 +02:00
thrust26
d9a074dce0
several debugger buttons repeat
2019-06-02 00:21:49 +02:00
thrust26
8f6dfda42f
refactor ESC key handling
...
make remaining control hotkeys configurable
2019-05-27 23:01:03 +02:00
Stephen Anthony
12a95dc176
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
050a27f1ae
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
087dd1dbb9
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
bff503a001
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
c37e245c7a
All widgets and dialogs using 'ContextMenu' now work in hidpi mode.
2019-05-11 19:50:42 -02:30
Stephen Anthony
83a3bdd6cd
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
bd288f7119
Fix missing 'override's.
2019-05-01 12:57:49 -02:30
thrust26
d4479f4e43
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