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
thrust26
e9ef45ab0a
minor consistency fix and doc updates
2017-12-19 18:10:01 +01:00
thrust26
81cdbe832e
refactoring the fix
2017-12-19 16:57:47 +01:00
thrust26
7259af1583
"Light" color fix
2017-12-19 16:56:01 +01:00
thrust26
7819d07623
fixed deleting/toggling existing 'breakif' and 'savestateif'
2017-12-18 12:33:17 +01:00
thrust26
df71881392
FLAT_UI label default alignment fix
2017-12-18 09:42:36 +01:00
thrust26
7fcbb8f401
updated doc for 'dump' command
2017-12-17 17:59:25 +01:00
thrust26
b76566e864
line drawing method added to FBSurface
...
inactive cells are displayed as crossed out in FLAT_UI
2017-12-17 16:43:05 +01:00
thrust26
0def7adb61
fixed bug when leaving 'Options' in debugger
2017-12-17 13:52:50 +01:00
thrust26
7f08d9b74c
some more UI polishing
2017-12-17 13:28:23 +01:00
thrust26
dfca521bf9
two minor bug fixes
2017-12-17 12:24:16 +01:00
thrust26
eeb1491efd
polishing FLAT_UI
2017-12-17 12:16:37 +01:00
thrust26
b05d686891
'Light' palette polishing
2017-12-17 10:09:59 +01:00
thrust26
19730fa183
third 'uipalette' scheme 'Light' added
...
modernized UI via 'FLAT_UI' preprocessor define added
2017-12-17 00:48:30 +01:00
thrust26
b6080e1701
fixed #270
2017-12-16 10:54:45 +01:00
thrust26
31b459ac84
fixed #269
2017-12-16 09:46:25 +01:00
thrust26
0d609f6845
renamed '_cycles' into '_icycles' (fits better)
2017-12-15 19:12:46 +01:00
thrust26
9f7270a70d
'_cycles' pseudo register added (returns cycles of last instruction)
2017-12-15 18:13:29 +01:00
thrust26
7d40d5b1f8
"Time Machine" name change
2017-12-15 18:10:40 +01:00
thrust26
d28fb580b8
bitmapped button added
2017-12-15 15:25:08 +01:00
thrust26
ba3cc0677d
Frame count/cycle alignment fixed
2017-12-15 14:16:11 +01:00
Stephen Anthony
434d2dfc83
Converted some raw enum to 'enum class' in FrameBufferConstants.
2017-12-14 21:29:45 -03:30
thrust26
ba9d809109
state compression improved
...
RewindManager class refactored for multiple rewinds/unwinds
additional keys for faster rewinding added
docs updated
2017-12-14 14:25:02 +01:00
thrust26
5439d185a7
rewind buffer resize added
2017-12-12 21:43:57 +01:00
thrust26
6632b97307
double rewind in debugger fixed
...
rewind messages improved
2017-12-12 18:47:21 +01:00
thrust26
e465112c02
rewind/unwind basically working
...
changed values, UI and settings for rewind interval and horizon
2017-12-12 17:07:05 +01:00
Stephen Anthony
e9a5198863
Reverted part of previous commit; rewind states now use 64-bit where appropriate.
...
Fixed some more minor errors found by clang.
2017-12-08 07:53:09 -03:30
Stephen Anthony
76b3ff02b3
Fixed various warnings in code.
...
- removed unused variables
- in RewindManager, convert cycles to Int32 rather than Int64; although
they are defined as 64-bit from the TIA, we only care about differences
here, and the difference will never be larger than a 32-bit can hold.
2017-12-07 21:27:31 -03:30
thrust26
87d5886067
fixed #264
2017-12-06 11:01:33 +01:00
thrust26
260a8b7bb0
minimal debugger sizes adjusted again
2017-12-04 15:59:51 +01:00
thrust26
aef15b44b4
minimal debugger and text dialog sizes increased
...
debugger doc updated and some links added
missing ellipsis added to RAM widget
2017-12-04 14:17:54 +01:00
thrust26
78a3b197f4
loadconfig bug fixed
...
save commands explained in debugger doc
load/saveconfig allowed for multi-bank ROMs (with warning)
2017-12-03 17:07:47 +01:00
thrust26
039a054ad5
saverom command fixed (broke that myself)
2017-12-03 16:18:23 +01:00
thrust26
7c01418c29
fixed #239
2017-12-03 13:53:14 +01:00
thrust26
88500b46ff
reflected last doc changes in debugger help
2017-12-02 11:51:06 +01:00
thrust26
8abc49af1f
fixed effective volume for C = 0
2017-12-01 21:15:11 +01:00
thrust26
b6fa51d97b
effective volume to audio widget added
...
fixed parser return value for "$a"
2017-12-01 20:57:14 +01:00
thrust26
9f0c15bc32
audio widget made editable
2017-12-01 18:21:54 +01:00
thrust26
d333553ec2
startup bank for E0 bankswitch type randomized
2017-12-01 10:08:10 +01:00
thrust26
16bc644b00
minor doc fixes
2017-11-30 16:04:43 +01:00
thrust26
a636e6859d
documentation and output of 'dump' command improved
2017-11-30 13:50:56 +01:00
thrust26
d639cdb4c9
multi bank ROM disassembly allowed (with a warning)
2017-11-30 11:46:20 +01:00
thrust26
1d5333969b
startup bank for 3F getting randomized
2017-11-30 11:36:21 +01:00
Christian Speckner
53a2d59e02
Add a bunch of missing overrides.
2017-11-30 01:22:41 +01:00
thrust26
51cdc21fa3
spelling fix
2017-11-29 21:00:30 +01:00
thrust26
2a4db8e11e
startup bank randomization info added to widgets
2017-11-29 20:48:19 +01:00
thrust26
5760167f31
E78K added to doc
...
missing files added
2017-11-27 22:51:41 +01:00
thrust26
053b79fc3e
E7 bankswitching classes refactored
...
E78K bankswitching added
2017-11-27 22:49:53 +01:00
thrust26
c1fc60a4e0
missing files added
...
first changes to debugger docs
2017-11-26 13:42:56 +01:00
thrust26
8fd33ed103
Merge branch 'master' of https://github.com/stella-emu/stella
2017-11-24 20:38:47 +01:00
thrust26
08f29ca808
two sets for developer related options defined
...
reverted some changes previous changes ("colorloss", "stats" and "grabmouse" are persisted again)
2017-11-24 20:38:21 +01:00
Stephen Anthony
9ada07a733
Minor fixups for last commits.
2017-11-24 13:24:19 -03:30
Markus Uhr
bfd12d7ddc
Fix tick suffix in snapshot file name.
2017-11-24 13:12:06 -03:30
Markus Uhr
ed3b61fdb1
Improve 'dump' command.
...
Add third parameter to indicate that the dump should be appended to
a file instead of printed on screen. Also, allow to dump CPU state
and input registers.
The third argument is a flags value (0x01: dump memory, 0x02: dump
CPU state, 0x04: dump input registers).
2017-11-24 13:12:06 -03:30
Markus Uhr
0ecb4f5ae7
Add an 'exec'-prefix to snapshot name when saving from a script.
...
Allow the user to specify an additional 'prefix' string in the exec command
that will be prepended the ticks-part of the snapshot name when saving a
snapshot from script.
2017-11-24 13:12:06 -03:30
Markus Uhr
7010400235
Add new debugger command 'stepwhile'.
...
This command steps through the code instruction-by-instruction (just like the
'step' command) while the <condition> argument evaluates to true. This is a
(pretty slow) workaround for breakpoints and the 'run' command which seems
broken from debugging scripts.
2017-11-24 13:12:06 -03:30
Markus Uhr
e6b5d792b7
Reset command: also reset controller state.
2017-11-24 13:12:06 -03:30
Markus Uhr
2f787fbb91
Exec command: search script first in current directory.
2017-11-24 13:12:06 -03:30