Commit Graph

3074 Commits

Author SHA1 Message Date
Christian Speckner 6cc8a22978 More timing tuning, coding style. 2018-05-06 23:45:21 +02:00
Christian Speckner a58db7e62d Make sure that all audio samples are generated during each timeslice. 2018-05-05 01:08:09 +02:00
Christian Speckner d2c930886b Sanitize and match emulation timing
-> no more perceivable audio latency
-> fewer underruns
2018-05-05 00:47:48 +02:00
Christian Speckner 9079d77de0 Cosmetic changes, add audio todo. 2018-05-02 21:30:38 +02:00
Christian Speckner c905b01fca Merge branch 'master' into feature/precise-audio 2018-04-25 22:49:00 +02:00
Stephen Anthony ddf6ba1089 Add preliminary support for 2600-daptor D9 USB device. 2018-04-01 15:01:03 -02:30
Stephen Anthony a978bb527e Fix compile error when debugger support is disabled. 2018-03-31 20:33:25 -02:30
Christian Speckner b5afa69764 Make coverty happy. 2018-03-30 22:04:42 +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 524cec907a Updated Windows build to support SDL 2.0.8. 2018-03-24 14:47:18 -02:30
Stephen Anthony 2949821814 Updated OSX project file for EventHandler refactoring. 2018-03-24 14:02:14 -02:30
Stephen Anthony b59cf4f54b Updated VS project file for EventHandler refactoring. 2018-03-24 13:53:24 -02:30
Stephen Anthony 0908a92da1 Continuing with the large refactoring of EventHandler:
- all keyboard-related stuff moved into PhysicalKeyboardHandler class
- all snapshot-related stuff moved directly into PNGLibrary class
- EventHandler class is now ~1300 LOC, which while still large, is much better than 2500 LOC
2018-03-24 12:36:00 -02:30
Stephen Anthony 08ac6b0ff9 Fixed joystick hat not receiving 'CENTER' event (fixes #300). 2018-03-21 18:16:33 -02:30
Stephen Anthony 0cde1ec4b9 Minor refactoring with Controller::isAnalog() usage. 2018-03-18 16:13:28 -02:30
Stephen Anthony 3ce71302b7 Minor updates and commenting for PhysicalJoystickHandler. 2018-03-18 15:58:41 -02:30
Stephen Anthony 9a4b14392b Minor refactoring of Controller class:
- a controller can now answer whether it is intrinsically an analog controller
2018-03-17 20:03:05 -02:30
Stephen Anthony 7eab28b2ef Use smart pointer for joystick in PhysicalJoystickHandler. 2018-03-17 19:44:47 -02:30
Stephen Anthony be23ad7ca7 Updated OSX project file for EventHandler refactoring. 2018-03-17 18:28:40 -02:30
Stephen Anthony 77ba46ec3a Updated VS project file for EventHandler refactoring. 2018-03-17 18:12:31 -02:30
Stephen Anthony 76b6026d30 First pass at reworking EventHandler, splitting it up into more manageable pieces.
For now, joystick-related stuff is moved into its own classes.
No improvements are made yet; just refactoring and moving code around.
This reduces EventHandler from ~2500 lines to ~2000 lines.
2018-03-17 18:00:44 -02:30
Christian Speckner d8178f546b Make sure that the hardware state is up to date before entering the debugger. 2018-03-13 23:38:31 +01:00
Christian Speckner 593ec2fdc9 Make sure that the hardware state is up to date before entering the debugger. 2018-03-13 22:13:35 +01:00
Stephen Anthony 36997d4d7a Final updates for 5.1.1 release. 2018-02-21 15:38:29 -03:30
Stephen Anthony c79d86d6a6 Fixed minor compile warnings with gcc 7. 2018-02-15 19:57:17 -03:30
Stephen Anthony a38b168db8 Updated various files for 5.1.1 release (dates still TBD). 2018-02-15 19:51:57 -03:30
Stephen Anthony 1a4670ca0e Cherry-pick debugger saveOldState() fix from master, and bump to 5.1.1. 2018-02-15 19:40:57 -03:30
Stephen Anthony d07f7771a3 Add missing locks around Debugger::saveOldState() (fixes #298). 2018-02-15 19:39:17 -03:30
Stephen Anthony 162f7b7501 Add missing locks around Debugger::saveOldState() (fixes #298). 2018-02-15 19:25:54 -03:30
Christian Speckner fbbfa222a0 Fix a detail in audio block simulation -> doctor sounds correct 2018-02-13 23:08:20 +01:00
Christian Speckner c25e7a6b35 Compile fix. 2018-02-12 23:55:14 +01:00
Christian Speckner 5c1bd83904 Merge branch 'master' into feature/precise-audio 2018-02-12 23:32:03 +01:00
Christian Speckner 01c78842d6 Serialization fix. 2018-02-12 23:21:02 +01:00
thrust26 2a3bb4329e load and update existing game specific properties file 2018-02-12 16:47:03 +01:00
Christian Speckner d65ac4875f Minor missile starfield fix. 2018-02-09 00:59:17 +01:00
Christian Speckner b8af22cd67 Fix playfield signal during hblank. 2018-02-08 20:53:42 +01:00
Christian Speckner b30fa0df98 And another collision fix. 2018-02-07 23:13:16 +01:00
Christian Speckner 6b6fb9140f More HMOVE collision fixes. 2018-02-07 23:00:58 +01:00
thrust26 5764a73d89 finalized TimeLineWidget for new UI look 2018-02-07 14:55:43 +01:00
Stephen Anthony e01321fbea Refactor Dialog class containing fonts:
- the previous code has a _font pointer in derived classes, and a _font reference in the base class; this causes name collisions
- the Dialog class now takes a font reference, which is used throughout the hierarchy
- this simplifies certain code (setTitle vs. initTitle) and also eliminates clang warnings
2018-02-06 19:26:49 -03:30
Christian Speckner 07f1051be0 Tentative fixes for collisions during HBLANK. 2018-02-06 23:32:02 +01:00
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
sa666666 b84d97cd9a And so it begins again ... 2018-02-06 08:54:35 -03:30
thrust26 d24934d010 spelling 2018-02-06 13:14:40 +01:00
thrust26 ad1d37304e aligned button heights and widths 2018-02-06 13:12:21 +01:00
thrust26 564e014620 removed FLAT_UI code from TimeLineWidget
added toggle mode button to TimeMachineDialog
2018-02-06 12:46:27 +01:00
thrust26 1fa00f2372 initial wind when entering TM dialog causes message now
(TODO: try to propagate key into dialog instead)
2018-02-05 19:57:41 +01:00
thrust26 1569ee1c6b minor code cleanup 2018-02-05 13:45:34 +01:00
thrust26 33756b2481 fixed a little merge error 2018-02-05 13:39:13 +01:00
Christian Speckner 7d7ebb8d03 Merge branch 'master' into feature/precise-audio 2018-02-04 23:50:16 +01:00
Christian Speckner f7c445fb7c Merge branch 'release/5.1' 2018-02-04 23:48:45 +01:00
Stephen Anthony db5eb89335 Updated changelog for one last fix for TIA PF collision handling. 2018-02-04 18:58:53 -03:30
Christian Speckner ba549e1d8a Improve PF collision handling during hblank. 2018-02-04 23:18:30 +01:00
Stephen Anthony 2bd0d05d44 Bumped version number for 5.1 release. 2018-02-04 18:37:35 -03:30
thrust26 3ab2ddb870 fixed EventHandler logic 2018-02-04 21:00:10 +01:00
Stephen Anthony 6d16790ce8 Fixed minor warning from Xcode. 2018-02-04 16:14:39 -03:30
Stephen Anthony 997751b64f When TimeLineWidget is empty, it now displays as such. 2018-02-04 12:14:23 -03:30
Stephen Anthony f29dcfece1 Refactored TimeLineWidget to use uInt32 throughout:
- this fixes issues with signed vs. unsigned in some areas
- it also self-documents, in that the slider should never use negative values
2018-02-04 11:15:42 -03:30
Stephen Anthony 9e53641add Time machine rewinds are now triggered at the same time as entering the dialog. 2018-02-04 11:14:59 -03:30
thrust26 99e31ac158 fixed time bar issue with no states 2018-02-04 10:14:58 +01:00
Stephen Anthony de56f9cff5 Merge branch 'release/5.1' of github.com:stella-emu/stella into release/5.1 2018-02-03 20:54:05 -03:30
Stephen Anthony 77f2c478a0 Fixed warnings from Xcode (some pretty big issues were caught here) 2018-02-03 20:44:46 -03:30
Stephen Anthony 974c686366 Fixed compiles warnings in VS 2017. 2018-02-03 19:52:14 -03:30
Stephen Anthony 1f1ced0f01 Bumped minimum state version. 2018-02-03 19:30:52 -03:30
Stephen Anthony 26096fcc47 Fixed some warnings, and updates for 5.1 release. 2018-02-03 19:29:27 -03:30
Stephen Anthony 6c5bddcdf8 Time Machine dialog now resizes correctly:
- in 2x mode, it takes up the maximum amount of space
- in larger modes, it takes up the same relative amount of space: ~80% width
2018-02-03 17:27:52 -03:30
Christian Speckner 803b85343a Tuning. 2018-02-03 01:23:19 +01:00
Christian Speckner cb89d09c7f Refactoring: remove framerate from OSystem and Console. 2018-02-03 01:01:02 +01:00
thrust26 f4db8e4816 fixed zoom settings via hotkey (made persistent again) 2018-02-02 22:51:22 +01:00
thrust26 9d72ae2c4e reordered OptionsDialog to match next release
updated docs accordingly
2018-02-02 15:55:27 +01:00
thrust26 cbeeda6f55 added tickmarks to TimeLineWidget (5 intervals)
replaced 3d box with rect for TimeLineWidget
2018-02-02 13:05:41 +01:00
Stephen Anthony 883a9249b1 Fixed inverted subtraction in the previous commit. 2018-02-01 19:52:32 -03:30
Stephen Anthony c18bcbc39b TimeLineWidget mouse handling is now complete. 2018-02-01 19:03:17 -03:30
thrust26 97a0638845 Added (fixed) tickmark intervals to SliderWidget 2018-02-01 18:21:57 +01:00
thrust26 6d1c5b1301 removed +/-10 buttons for TimeMachineDialog
updated documentation
2018-02-01 11:18:05 +01:00
Christian Speckner 396dd637af Rework dispatch loop. 2018-01-31 20:44:39 +01:00
Christian Speckner 7f83e776b2 Keep book of the number of cycles spent during emulation. 2018-01-31 19:29:37 +01:00
thrust26 1c4345eff3 made sure dialogs fit into 2x zoom and 0.8 aspect ration (=512 pixel) 2018-01-31 15:24:20 +01:00
thrust26 f56286fac9 reordered frame stats to make more sense 2018-01-31 08:52:52 +01:00
thrust26 7970955353 aligned transparency with TimeMachineDialog
move slightly away from corner
2018-01-31 08:37:31 +01:00
Stephen Anthony 86941ad6af Fixed time machine dialog glitches when the state list is empty. 2018-01-30 19:50:29 -03:30
sa666666 1ce528ff99 Fix crash in TimeLineWidget when setStepValues() is passed an empty list. 2018-01-30 08:18:20 -03:30
thrust26 eb96e1ca49 reduced TimeMachineDialog transparency
frame stats now always displays the real frameRate
2018-01-30 09:06:03 +01:00
Christian Speckner d70b0d8c40 Audio state serialization. 2018-01-29 22:44:06 +01:00
Christian Speckner 025adc59aa Merge fallout. 2018-01-29 22:25:23 +01:00
Christian Speckner 89f3f4c9b8 Merge branch 'master' into feature/precise-audio 2018-01-29 21:18:36 +01:00
Christian Speckner 87c59db4e0 Merge branch 'release/5.1' 2018-01-29 21:17:00 +01:00
thrust26 c9bc3601e3 replaced some PopUpWidgets with SliderWidgets 2018-01-29 19:59:46 +01:00
thrust26 9a3516b610 fixed compression factor calculation due to previous commit 2018-01-29 17:13:17 +01:00
thrust26 aa7dd33dc8 removed keeping very 1st state with compression enabled 2018-01-29 16:58:26 +01:00
thrust26 7f23ac00a2 small extra drag area for SliderWidget added 2018-01-29 09:15:54 +01:00
Stephen Anthony b11643881a Intervals on timeline are now graphically proportional to time:
- intervals are only valid when using key shortcuts
 - using the mouse to select/scroll does not show proper proportions yet
2018-01-28 20:11:21 -03:30
Christian Speckner 97a483b124 Update XCode project. 2018-01-29 00:22:43 +01:00
Christian Speckner f87316bfdb Dynamically adjust fragment buffer size based on fragmen size and period. 2018-01-29 00:09:21 +01:00
Christian Speckner 13eefbb542 Make compiler happy. 2018-01-29 00:09:21 +01:00
Christian Speckner c5aad2ae7a Volume adjustment. 2018-01-29 00:09:21 +01:00
Christian Speckner ae88a5b6b6 Fix crash on audio settings change. 2018-01-29 00:09:21 +01:00
thrust26 63acb76911 changed text color (else invisible in Classic mode) 2018-01-28 20:22:04 +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
Stephen Anthony de7fd7401b Synchronized shortcuts in TimeMachine to match those from EventHandler. 2018-01-28 12:21:22 -03:30
thrust26 8c4faf122b Updated project files for VS 2018-01-28 16:34:52 +01:00
thrust26 966ba155ed more response to SliderWidget added
units to SliderWidget added
enhanced various dialogs with slider units
2018-01-28 14:37:31 +01:00
thrust26 05d17496ab minor wording fix 2018-01-28 11:35:14 +01:00
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
Christian Speckner 6b984a8563 Avoid race condition in pause, switch to shared_ptr for simpler semantics. 2018-01-28 00:27:25 +01:00
thrust26 a0052e071f minor refactoring of AudioDialog 2018-01-28 00:16:31 +01:00
Stephen Anthony 2c90aaa7c7 Timeline and buttons in TimeMachineDialog are now syncronized. 2018-01-27 19:34:26 -03:30
thrust26 28b31bd3bf updated some dialogs, replaced binary option popups with check boxes and radio buttons
renamed "FAST SC/AR BIOS"
2018-01-27 20:31:03 +01:00
thrust26 8c346a469a reworked VideoDialog: check boxes for binary options, some widget reordering/renaming
TODO: SliderWidget for zoom
2018-01-27 13:00:55 +01:00
thrust26 79cce110f9 minimal refinements to JoystickDialog 2018-01-27 11:51:41 +01:00
thrust26 9c9abc125d refactored VideoDialog using enhanced SliderWidget 2018-01-27 11:47:56 +01:00
thrust26 868df2cb22 enhanced SliderWidget (optionally includes value label now too) 2018-01-27 11:06:34 +01:00
thrust26 2eaa62c87c minor changes to UIDialog and VideoDialog 2018-01-26 22:05:01 +01:00
thrust26 a7308b4c0d fixed toned down dialogs 2018-01-26 20:13:22 +01:00
thrust26 8c0b212207 Overlapped dialogs are (partially) toned down 2018-01-26 12:55:05 +01:00
thrust26 35275b0104 shortened/renamed and slightly reordered OptionsDialog entries 2018-01-26 12:29:25 +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
Christian Speckner 4528b9067a Assorted fixes -> works (module timing glitches). 2018-01-25 22:48:00 +01:00
Christian Speckner 8198f6ccaf Crackling and screeching.... but it is correlated with the TIA :) 2018-01-25 20:48:34 +01:00
thrust26 a20f21f741 fixed ContextMenu height 2018-01-25 17:07:04 +01:00
thrust26 4c39fa3c68 some more focus highlighting added
made most sliders wider by default
2018-01-25 17:00:41 +01:00
thrust26 920b051f02 redesigned SliderWidget
better visual reaction of EditTextWidget and PopUpWidget
improved BrowserDialog
small refinement for ButtonWidget
2018-01-25 15:10:37 +01:00
Christian Speckner 4ec553785f Implement and connect audio emulation. 2018-01-24 22:20:44 +01:00
thrust26 d179b8ebe8 Updated ScrollBarWidget
Refined LauncherDialog
Added missing Ellipsis to StellaFont.hxx
2018-01-24 20:53:00 +01:00
thrust26 97553b9d93 Help dialog closes with ESC again 2018-01-24 15:55:25 +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 41827e03de removed some superfluous includes 2018-01-23 19:53:36 +01:00
thrust26 74e5003c8f some small dialog refinements 2018-01-23 19:50:37 +01:00
thrust26 5757eccfcf enabled FLAT_UI code, removed old code 2018-01-23 18:03:00 +01:00
thrust26 5121a73210 some more minor dialog refinements 2018-01-23 17:51:38 +01:00
Christian Speckner f1b5421c17 Introduce and wire audio emulation core. 2018-01-23 13:41:14 +01:00
thrust26 795c84de9d refined some more dialogs 2018-01-23 11:52:53 +01:00
thrust26 d7dd6db9b8 fixed compile errors in VideoDialog 2018-01-23 11:17:59 +01:00
thrust26 d115e3238e enabled FLAT_UI (Windows only, TODO: enable for other OS or remove old code)
refactored Default/OK/Cancel buttons
refined AudioDialog
2018-01-23 11:08:17 +01:00
Stephen Anthony 307e496109 Updated Xcode project file for TimeLineWidget class. 2018-01-21 18:28:15 -03:30
Stephen Anthony 63de71d7f5 Updated VS project file for TimeLineWidget class. 2018-01-21 18:09:01 -03:30
Stephen Anthony 69e41a1434 Initial check-in of Time Machine timeline:
- currently, TimeLineWidget is just a copy of SliderWidget; still have to add a round 'button' to grab the line
 - at some point, we may merge SliderWidget and TimeLineWidget; for now they are separate
 - absolutely no functionality yet; just here for you guys to see how it will look
 - we still need to discuss gridmarks, and how the timeline will change (by state file, by time, etc)
2018-01-21 17:37:07 -03:30
thrust26 a8b3c0d74d reordered frame stats top line (makes more sense this way) 2018-01-21 11:05:00 +01:00
thrust26 a5e7911930 disabled test for "auto" frame rate 2018-01-21 10:19:28 +01:00
Christian Speckner 6fe5f3b197 Merge branch 'release/5.1' 2018-01-21 09:38:42 +01:00
Stephen Anthony 1055a4bd06 Minor cleanup of warnings in FrameBuffer class. 2018-01-20 20:51:46 -03:30
thrust26 2d03a2d059 aligned implementation parameter of handleEvent with definition parameter 2018-01-20 20:49:57 -03:30
thrust26 b67b795642 larger font for frame stats 2018-01-20 20:49:48 -03:30
thrust26 27291dd5d2 small fix for benchmark commit 2018-01-20 20:49:14 -03:30
thrust26 436c380a7e benchmark: frame stats now display real frame rate when 'Auto' is not selected 2018-01-20 20:49:05 -03:30
Stephen Anthony 9441cc43c4 Cherry-picked some commits from master. 2018-01-20 20:45:56 -03:30
thrust26 2e51511c80 message for SaveKey/AtariVox EEPROM access added 2018-01-20 20:41:29 -03:30
sa666666 dc9f92ecdb A fix for the previous fix. 2018-01-20 20:37:36 -03:30
Stephen Anthony 2cb2eed3e7 Add 'override' to method, to eliminate warning in clang. 2018-01-20 20:13:02 -03:30
thrust26 7b8dff8e46 when strings are shortened, ellipsis is added at the END now 2018-01-20 20:12:47 -03:30
thrust26 6f7ff023a6 generic shadowed char/string drawing added
TimeMachineDialog fully transparent now (experimental)
info stats indicates scanline/frame rate changes in red
2018-01-20 20:12:35 -03:30
thrust26 72ff2a40fa developer/player settings added to frame stats overlay 2018-01-20 20:11:54 -03:30
thrust26 a1b54680bd frame stats overlay made transparent 2018-01-20 20:10:39 -03:30
Stephen Anthony 9e403826d2 Fixed compilation when '--disable-debugger' is used. 2018-01-20 18:34:19 -03:30
thrust26 40615be9be Revert "fix repeated ESC from debugger", there is a more fundamental problem
This reverts commit 1b5ac9d3b5.
2018-01-20 21:48:24 +01:00
thrust26 b3e582209f fix the fix 2018-01-20 21:27:05 +01:00
thrust26 1b5ac9d3b5 fix repeated ESC from debugger 2018-01-20 21:22:01 +01:00
thrust26 7d9b7388c9 ESC key exits Debugger too
many keys are enabled now during PAUSE mode too
2018-01-20 18:40:25 +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
Stephen Anthony df119ba505 Minor cleanup of warnings in FrameBuffer class. 2018-01-19 18:32:11 -03:30
thrust26 78b807efba ESC allows exiting Pause mode, TimeMachine mode and Command Menu. 2018-01-19 12:44:07 +01:00
thrust26 4c9cfad70b aligned implementation parameter of handleEvent with definition parameter 2018-01-19 10:45:29 +01:00
thrust26 af19f9f2b8 enter debugger from time machine mode option added 2018-01-19 10:35:52 +01:00
thrust26 98fcb51819 larger font for frame stats 2018-01-18 23:06:51 +01:00
thrust26 4e3b26cea9 display of current timer divider to debugger added 2018-01-18 13:03:59 +01:00
Christian Speckner be91e6ff21 Threadsafe fragment queue. 2018-01-17 23:21:25 +01:00
thrust26 a6bea6438f fix #279 2018-01-17 19:29:36 +01:00
thrust26 a6ea393905 small fix for benchmark commit 2018-01-17 19:12:39 +01:00
thrust26 85feed821c Merge branch 'master' of https://github.com/stella-emu/stella 2018-01-17 19:03:39 +01:00
thrust26 b111a8c127 benchmark: frame stats now display real frame rate when 'Auto' is not selected 2018-01-17 19:03:25 +01:00
sa666666 5ea9925c3f A fix for the previous fix. 2018-01-17 13:22:49 -03:30
thrust26 0906997d82 message for SaveKey/AtariVox EEPROM access added 2018-01-17 10:27:18 +01:00
Stephen Anthony f7656cdcd4 Add 'override' to method, to eliminate warning in clang. 2018-01-16 20:58:35 -03:30
thrust26 43be89f124 when strings are shortened, ellipsis is added at the END now 2018-01-16 18:16:56 +01:00
thrust26 802606ce29 Merge branch 'master' of https://github.com/stella-emu/stella 2018-01-16 11:14:47 +01:00
thrust26 a577b0f9c2 generic shadowed char/string drawing added
TimeMachineDialog fully transparent now (experimental)
info stats indicates scanline/frame rate changes in red
2018-01-16 11:14:26 +01:00
Christian Speckner 317f7391c2 Merge branch 'master' into feature/precise-audio 2018-01-15 23:53:35 +01:00
Christian Speckner 6cd7eb3821 Merge branch 'release/5.1' 2018-01-15 23:50:18 +01:00
thrust26 b22c292f3c developer/player settings added to frame stats overlay 2018-01-15 20:25:28 +01:00
thrust26 8583883795 Merge branch 'master' of https://github.com/stella-emu/stella 2018-01-15 14:44:56 +01:00
thrust26 cef50e4368 frame stats overlay made transparent 2018-01-15 14:44:09 +01:00
thrust26 f241dfd7b7 fixed compressStates(), now, with compression enabled, the first element is always kept and the horizon matches
missing "framerate" added, now changes are persisted.
2018-01-10 11:48:06 +01:00
Stephen Anthony 29499775dc Fixed compilation when '--disable-debugger' is used. 2018-01-09 23:16:50 -03:30
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
Stephen Anthony f9d243e503 Fixed incorrect size in memset; this time I'll sizeof. 2018-01-05 22:03:42 -03:30
thrust26 d7ab2e6177 playing with transparency 2018-01-03 20:17:48 +01:00
thrust26 b553a5fa4d experiments with transparency 2018-01-03 20:16:50 +01:00
thrust26 cf926fdf07 UI partially working now (TODO: timebar) 2017-12-30 21:19:55 +01:00
thrust26 696fc2ab43 work on TimeMachine UI started 2017-12-30 16:43:27 +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 542fed69ed Collapsed MouseButton enum into just buttons, removing state (pressed or released).
- By itself, this first patch doesn't seem to accomplish much, but it leads into patch 2
 - Patch 2 will extend usage of MouseButton enum all throughout the GUI core
2017-12-29 16:05:07 -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 ad69e8900d Time Machine dialog can now be toggled by pressing 'T'.
- Note that the dialog is currently empty
 - See src/gui/CommandDialog for example of how to fill this dialog box
2017-12-22 12:28:06 -03:30
Stephen Anthony cbb494d7ad HiDPI fixes for framebuffer messages. 2017-12-21 23:04:17 -03:30
Stephen Anthony e572bea642 Activate code to dynamically select available renderers. 2017-12-21 20:03:53 -03:30
Stephen Anthony 44c5882920 Use 'enum class' instead of raw enum. 2017-12-21 19:53:54 -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
thrust26 e37b5305cf code cleanup 2017-12-21 11:34:08 +01:00
thrust26 65ed71479a no background highlighting of disabled widgets 2017-12-21 08:48:07 +01:00
Stephen Anthony 24fccba025 Updated OSX project file for TimeMachine classes. 2017-12-20 22:39:58 -03:30
Stephen Anthony 6181c3fbe0 Updated VS project files for recent class renames.
- Also fixed several classes in the wrong place compared to their
on-disk location.
2017-12-20 22:27:13 -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
Stephen Anthony 6313c98fdc Almost all ROM properties are now updated to RomHunter v14.
- I will take a quick look over them again, to make sure I didn't miss any new ROMs.
2017-12-20 18:41:24 -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 ff1911a85d Merge branch 'master' of https://github.com/stella-emu/stella 2017-12-20 21:32:27 +01:00
thrust26 e3baeb209e added bank change tracking to most CartDebugWidgets 2017-12-20 21:32:07 +01:00
Stephen Anthony c6acb622cc Updated ROM properties up to 'T'. 2017-12-20 16:43:04 -03:30
Stephen Anthony 81179ab34f Revert handling of broken F8 ROMs; we can turn off randomization to make them work. 2017-12-20 14:47:17 -03:30
Stephen Anthony 63b3b2ab1e Updated ROM properties to 'R'.
Fixed F8 scheme to not randomize 'special' ROMs (those hardcoded with a certain startup bank).
Bumped state file version number.
2017-12-20 14:23:34 -03:30
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
Stephen Anthony 57036823ea ROM properties updated up to 'M'. 2017-12-20 11:05:20 -03:30
thrust26 0cfd471013 Merge branch 'master' of https://github.com/stella-emu/stella 2017-12-20 10:02:04 +01:00
thrust26 90733875b2 completed change tracking on RIOT tab (except for controllers). 2017-12-20 10:01:44 +01:00
Stephen Anthony ad78fbaa07 Updated ROM properties up to 'E'. 2017-12-19 22:22:11 -03:30
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 0385dd4b01 added (disabled) SDL renderer information code 2017-12-19 14:46:40 +01:00
thrust26 b2d1c37f1e superfluous parameter removed in VideoDialog 2017-12-19 12:35:29 +01:00
thrust26 d7a34ec7dd 'tab' key skips disabled widgets
'ghost' read traps are displayed by 'RTrapG'
2017-12-19 09:01:26 +01:00
thrust26 b280a3ed27 Merge branch 'master' of https://github.com/stella-emu/stella 2017-12-18 21:56:26 +01:00
thrust26 fabf812543 developer dialog Horizon enable fix
FLAT_UI fixes for disabled elements
2017-12-18 21:56:07 +01:00
Stephen Anthony 042d4bc812 Updated ROM properties for ROMs starting with 'B' and 'C'. 2017-12-18 16:10:15 -03:30
Stephen Anthony 9d93472298 Oops, forgot this one in the last commit. 2017-12-18 15:19:19 -03:30
Stephen Anthony dd5a46880e Some updates to dialog positioning in preparation for HiDPI.
- note that these are fixes that are needed with or without HiDPI; testing HiDPI just exposed them as bugs
 - also fixed some minor warnings and formatting
2017-12-18 15:15:57 -03:30
thrust26 481c85c0c3 added option for 'ghost' read traps
update documentation accordingly
removed reload requirements for Time Machine
2017-12-18 19:16:41 +01:00
thrust26 01c859d2a0 removed superfluous '(*)' in UI dialog
updated doc and added examples for other palettes
2017-12-18 17:26:59 +01:00
thrust26 e5216d4f90 added index to conditional trapif/breakif/savestateif display 2017-12-18 13:28:23 +01:00
thrust26 50c8c5c266 fixed name resolution for trapread 2017-12-18 13:09:03 +01:00
thrust26 7819d07623 fixed deleting/toggling existing 'breakif' and 'savestateif' 2017-12-18 12:33:17 +01:00
thrust26 47ef41f09a Fine tuning of FLAT_UI tabs 2017-12-18 12:06:55 +01:00
thrust26 df71881392 FLAT_UI label default alignment fix 2017-12-18 09:42:36 +01:00
Stephen Anthony 200b5cfe87 Updates to ROM properties from RomHunter:
- for now, only newly added ROMs and those starting with 'A' are included
2017-12-18 00:36:25 -03:30
thrust26 c9eaf31181 Fixed several (invisible) widget transparency issues (WIDGET_CLEARBG) 2017-12-17 21:19:32 +01:00
thrust26 6629393e65 PopupWidget layout improved 2017-12-17 18:00:06 +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 1f2062feeb Merge branch 'master' of https://github.com/stella-emu/stella 2017-12-17 00:48:46 +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
Christian Speckner e5d7c23412 Update TIA and RIOT state in lockstep with the CPU if any debugger expressions are registered. 2017-12-16 21:29:28 +01:00
thrust26 b6080e1701 fixed #270 2017-12-16 10:54:45 +01:00
thrust26 0e5a444699 Merge branch 'master' of https://github.com/stella-emu/stella 2017-12-16 09:46:50 +01:00
thrust26 31b459ac84 fixed #269 2017-12-16 09:46:25 +01:00
Christian Speckner 8e7d0aa7b3 Fix frame manager serialization. Closes #267. 2017-12-15 23:53:11 +01:00
thrust26 0d609f6845 renamed '_cycles' into '_icycles' (fits better) 2017-12-15 19:12:46 +01:00
thrust26 2f57ccb463 new rewind classes added to VS project 2017-12-15 18:21:27 +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
Stephen Anthony bf6d28e181 Added basic infrastructure for what will become the rewind dialog. 2017-12-15 13:19:29 -03:30
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
Stephen Anthony 31da99f48b Convert some raw enum to C++11 'enum class' in EventHandlerConstants. 2017-12-14 21:04:19 -03:30
Stephen Anthony fd5c026034 Relaxed constexpr usage in RewindManager, so code compiles in Linux and OSX.
- the code was using C++17 features, and we only support C++14 for now
2017-12-14 19:46:37 -03:30
thrust26 418b0f07ae frame timed interval checks aligned to actual scanlines/frame
code cleanup
2017-12-14 21:18:31 +01:00
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 e2301dfd5e fine tuning on interval factor and state compression
rewind now displayed immediately (instead of "Paused")
two initial rewinds in continuous rewind mode fixed
Horizon widget disabled when Uncompressed size == Buffer size
fixed minimum Interval
2017-12-13 19:15:09 +01:00
thrust26 20eb97ce14 savestate position in list display in message added
compressStates loop fixed and slightly optimized
fixed minimal size value in Settings
2017-12-13 12:31:18 +01:00
Stephen Anthony 47b4007bcb Bumped version # for latest milestone (rewind outside debugger). 2017-12-12 17:53:34 -03:30
thrust26 5439d185a7 rewind buffer resize added 2017-12-12 21:43:57 +01:00
Stephen Anthony 8034bae9de Added destructive resize to LinkedObjectPool/RewindManager.
Fixed minor warnings in DebuggerDialog.
2017-12-12 16:44:30 -03:30
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 517cc82baa More work to RewindManager; all the 'ugly' code has been removed.
Thomas, it should be fine for you to proceed now.
2017-12-11 17:29:27 -03:30
thrust26 01fb970b60 Merge branch 'master' of https://github.com/stella-emu/stella 2017-12-10 15:48:16 +01:00
thrust26 cc1f641725 removed THUMB_SUPPORT option from VS project 2017-12-10 15:47:51 +01:00
Christian Speckner 772b122b15 Remove -DTHUMB_SUPPORT from xcode project. 2017-12-10 00:22:50 +01:00
Christian Speckner 6500ab0613 Compile thumbulator unconditionally. 2017-12-10 00:22:18 +01:00
Christian Speckner c6f13ed743 Trade potentially illegal use of size_t against container::size_type. 2017-12-09 20:44:27 +01:00
Christian Speckner bff2c7a5e7 Fix a bunch of warnings in XCode / clang. 2017-12-09 20:25:18 +01:00
thrust26 c57253c9e6 aligned team to Stella website 2017-12-09 12:08:31 +01:00
thrust26 9ae7ab0ed4 Merge branch 'master' of https://github.com/stella-emu/stella 2017-12-09 10:41:55 +01:00
thrust26 a43e7f9d58 improved states interval factor calculation
a little code cleanup
2017-12-09 10:41:38 +01:00
Stephen Anthony cc64ce59a1 Some more work on RewindManager:
- iterator now starts and last node and moves towards first (removes one 'ugly' bit of code)
 - temporarily decreased size of buffer to 10 states, to make testing easier
 - added debug output, so we can clearly see that the iterator is correctly walking the buffer
2017-12-08 14:46:06 -03:30
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
thrust26 a1d0319042 corrected defaults for aspect ratio to 0.91 (NTSC)/1.09 (PAL)
see https://en.wikipedia.org/wiki/Pixel_aspect_ratio
2017-12-08 11:33:55 +01:00
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
Stephen Anthony 21bcf8211b Updated OSX project file for class additions. 2017-12-07 21:04:00 -03:30
thrust26 b35a9ef946 added that rewind toggle updates settings too 2017-12-06 19:49:03 +01:00
thrust26 ec4f56960b HelpDialog and AboutDialog updated 2017-12-06 16:52:37 +01:00
Stephen Anthony a79ccf400f Minor updates to rewind:
- comments are now more in line with what actually happens when adding a state
- changed Serializer::reset() to Serializer::rewind(), to more accurately indicate what it does
2017-12-06 11:44:40 -03:30
thrust26 90be9bb607 fixed DTHUMB_SUPPORT error 2017-12-06 13:03:27 +01:00
thrust26 ec5a3cdec5 thumb.trapfatal added to developer settings dialog
restructured developer settings dialog
duplicated debug colors are changed automatically
updated doc and screenshots accordingly
2017-12-06 12:15:16 +01:00
thrust26 87d5886067 fixed #264 2017-12-06 11:01:33 +01:00
thrust26 3a969bfeef DTHUMB_SUPPORT define added 2017-12-06 09:24:24 +01:00
Christian Speckner 833c4de688 Silence compiler warning. 2017-12-05 21:20:27 +01:00
Christian Speckner 2b5416eade Don't trap write accesses to datastream pointers & friends in CDF / BUS. 2017-12-05 20:29:22 +01:00
Stephen Anthony f18fa0fcb8 Updated libpng to latest release.
Fixed tabs vs. spaces in Changes.txt.
2017-12-05 11:07:55 -03:30
Stephen Anthony 1f43539f10 Changed Switches::update() to not evaluate settings on every call.
Basically, removed determination of whether we're in 2600 or 7800 mode
from the hot path, and moved it to a method that is called only when
it changes (currently that method doesn't seem to be called at all, since
it seems like 'console' setting cannot be changed dynamically).
2017-12-04 14:12:06 -03:30
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
Christian Speckner ed25664c46 Add two "grace lines" of black when autodetecting ystart. 2017-12-04 00:25:54 +01:00
Christian Speckner 5736f93fcd Add two "grace lines" of black when autodetecting ystart. 2017-12-04 00:25:03 +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 faf9294fd2 a very little fix here an there 2017-12-03 09:08:33 +01:00
thrust26 88500b46ff reflected last doc changes in debugger help 2017-12-02 11:51:06 +01:00
Christian Speckner e88751638b Gut current audio code. 2017-12-01 23:17:16 +01:00
thrust26 8abc49af1f fixed effective volume for C = 0 2017-12-01 21:15:11 +01:00
thrust26 d3f29a1432 Merge branch 'master' of https://github.com/stella-emu/stella 2017-12-01 20:57:31 +01:00
thrust26 b6fa51d97b effective volume to audio widget added
fixed parser return value for "$a"
2017-12-01 20:57:14 +01:00
Stephen Anthony a4f33127ba Added ROM properties for 'Super Cobra Arcade'. 2017-12-01 15:42:33 -03:30
thrust26 9f0c15bc32 audio widget made editable 2017-12-01 18:21:54 +01:00
thrust26 da473f4803 sorting improvement unreverted :) 2017-12-01 14:21:00 +01:00
thrust26 3a136b4284 Revert "removed leading space from directories, as this will make navigation slightly faster"
This reverts commit 823debcc04.
2017-12-01 13:59:38 +01:00
thrust26 823debcc04 removed leading space from directories, as this will make navigation slightly faster
see #160
2017-12-01 12:06:35 +01:00
thrust26 bd52880a46 minimal Cart class refactoring 2017-12-01 12:03:19 +01:00
thrust26 d333553ec2 startup bank for E0 bankswitch type randomized 2017-12-01 10:08:10 +01:00
thrust26 7fc1c54d4c more E7 refactoring/cleanup 2017-11-30 17:26:58 +01:00
thrust26 16bc644b00 minor doc fixes 2017-11-30 16:04:43 +01:00
Stephen Anthony 178c5b4eaf Changed 'const' to 'constexpr' in several places.
Note that constexpr should be preferred, since it _guarantees_ compile-time
usage, whereas 'const' alone doesn't necessarily do that.  So constexpr
is guaranteed to be more efficient.
2017-11-30 10:36:31 -03:30
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
thrust26 3fddc7fcc3 minor merge update 2017-11-30 09:12:35 +01:00
Stephen Anthony f7f9a8a3df Re-generate DefProps.hxx from stella.pro changes. 2017-11-29 21:07:39 -03:30
Christian Speckner 53a2d59e02 Add a bunch of missing overrides. 2017-11-30 01:22:41 +01:00
Christian Speckner 2b285060fe Remove dead code. 2017-11-30 01:14:22 +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 30cb1fe14d RewindManager fix for ROM startup rewind
-bankrandom support for E7(8K) added
2017-11-28 23:20:06 +01:00
thrust26 a239d94df9 E78K signature fix 2017-11-28 22:25:09 +01:00
thrust26 247cac9233 Minor spelling fixes 2017-11-28 22:08:16 +01:00
thrust26 b3e92842e5 some more refactoring 2017-11-28 22:00:42 +01:00
thrust26 8d42af251e some magic numbers replaced
(and fixed a bug regarding offset into myCodeAccessBase)
2017-11-28 16:38:01 +01:00
thrust26 b0a373285b fixed irritating variable name 2017-11-28 14:19:04 +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 4085469dbc VERY minor copy&paste error fix 2017-11-27 11:51:25 +01:00
Christian Speckner 35ae38572c Clear FB before running autodetection. 2017-11-26 23:24:05 +01:00
Christian Speckner 1c10f55bb0 Mute audio while autodetection runs. 2017-11-26 23:10:43 +01:00
thrust26 9ed688613c maximum framerate in Video Dialog set to 900 2017-11-26 20:01:55 +01:00
thrust26 12a41adb1e Merge branch 'master' of https://github.com/stella-emu/stella 2017-11-26 19:50:44 +01:00
thrust26 4ca56b03ce fixed #259 2017-11-26 19:50:27 +01:00
Stephen Anthony e9619914e4 Added missing header files to VS project file. 2017-11-26 14:36:17 -03:30
Stephen Anthony 5bf4fa5d5f Updated OSX project file for recent class additions. 2017-11-26 13:12:37 -03:30
thrust26 c1fc60a4e0 missing files added
first changes to debugger docs
2017-11-26 13:42:56 +01:00
thrust26 0b542b699e Debug Color settings moved into Developer Settings dialog 2017-11-26 11:09:24 +01:00
thrust26 e09876af61 '*' vertically centered 2017-11-25 20:17:51 +01:00
thrust26 5445dc6019 Fixes for setting rewind mode 2017-11-25 18:14:32 +01:00
thrust26 7eeec2964c missing ellipsis added 2017-11-25 15:54:29 +01:00
thrust26 cc55724d49 Revert "changed saved game properties (Control + s) path to defaultSaveDir()"
This reverts commit ae0a3c1ba5.

According to documentation, the contents should overwrite stella.pro.
2017-11-25 12:36:11 +01:00
thrust26 df0a3720db fix to developer settings dialog parameters 2017-11-25 12:33:38 +01:00
thrust26 ae0a3c1ba5 changed saved game properties (Control + s) path to defaultSaveDir()
Question: Should those files overwrite Stella.pro automatically?
2017-11-25 11:18:05 +01:00
thrust26 7c46f031f3 further Developer settings dialog improvements 2017-11-25 11:12:17 +01:00
thrust26 e6b36356a3 some improvements for RadioButtonGroup 2017-11-24 22:37:07 +01:00
thrust26 15318c749a two sets for developer related settings added
reverted previous changes, "colorloss", " stats" and "grabmouse are permanent again (for the current set)
2017-11-24 20:48:27 +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
Markus Uhr ff4603d81f Bugfix: redraw TiaOutputWidget on savesnap when executing in a script. 2017-11-24 13:12:06 -03:30
Markus Uhr 5b207618c8 Add debugger commands to manipulate controller state. 2017-11-24 13:12:06 -03:30
thrust26 1a7dff416a missing files added to project
RadioButtonGroup added
2017-11-24 14:25:34 +01:00
thrust26 5d0bc45a09 refactored RadioButtonWidget into own class 2017-11-24 12:33:22 +01:00
thrust26 44d6cf15a0 RadioButtonWidget added
disabled CheckboxWidget still shows status
2017-11-24 11:23:45 +01:00
thrust26 63f8605977 made "tia.zoom" hotkeys toggle settings temporary only 2017-11-23 23:40:37 +01:00
thrust26 d6680a681f made "color loss", "stats" and "grab mouse" hotkey toggles temporary only
added messages for "grab mouse" toggle
updates doc for "grab mouse" toggle
2017-11-23 22:13:37 +01:00
thrust26 b7794c6e64 minor fix and some cleanup to Developer Dialog 2017-11-23 12:00:18 +01:00
thrust26 e18474a5e9 frame stats added to Developer Setting ("dev.stats" now) 2017-11-23 11:35:28 +01:00
thrust26 72710aa323 manual color-loss toggling fixed 2017-11-23 10:46:22 +01:00
thrust26 cddf4f2f2a 3rd attempt to get Challenge HES right. :) 2017-11-23 08:32:28 +01:00
thrust26 ac96f18508 updated note for Challenge (NES) 2017-11-23 08:23:32 +01:00
thrust26 66a2372512 removed special startup bank for "Challenge (HES) (PAL).bin" (2 in 1 ROM) 2017-11-22 22:26:22 +01:00
thrust26 984ae0156e preparation for RewindManager parameters 2017-11-22 20:07:55 +01:00
thrust26 89defd6487 more debugger disassembly formatting 2017-11-21 17:37:54 +01:00
thrust26 956f284a51 Debugger UI tab refactored (font size selection and debugger size)
debugger disassembly reformatted
2017-11-21 16:30:33 +01:00
thrust26 cc45822816 missing ellipsis char to some fonts added 2017-11-21 11:45:28 +01:00
thrust26 7a65a4445b replaced "..." with ellipsis char 2017-11-21 11:01:32 +01:00
thrust26 8379b0af1a better debugger disassembly space utilization
changed developer dialog/debugger UI label
2017-11-21 10:57:50 +01:00
thrust26 2efeb6cdb7 fix for temporary macro labels ('...$') 2017-11-21 09:25:12 +01:00
Stephen Anthony 4228093638 Final header changes, and bumped version #. 2017-11-20 21:39:06 -03:30
Stephen Anthony e0de7613e5 Final header changes for 'src/gui'. 2017-11-20 21:33:44 -03:30
Stephen Anthony be6250b29b More header fixes (this time in 'src/gui'). 2017-11-20 15:58:32 -03:30
Stephen Anthony 5b6fabcf3c Header file fixes for remaining files in 'emucore'. 2017-11-20 15:27:05 -03:30
thrust26 34dce48414 Update help for trap.../breakif and savestateif 2017-11-20 18:54:10 +01:00
thrust26 da69311de5 savestateifs with identical conditions toggle each other (like breakif and trapif) 2017-11-20 16:18:20 +01:00
thrust26 c996460bbe identical breakifs conditions toggle each other
renamed command in TIA display context menu "Toggle..."
added messages for TIA display context menu
2017-11-20 16:13:48 +01:00
thrust26 01d3a29f66 conditional savestates in debugger added 2017-11-19 18:52:27 +01:00
Stephen Anthony b098f29e9d Re-create DefProps.hxx from stella.pro.
Hmm, it seems I can do this from the Git bash terminal in Windows; cool.
2017-11-19 11:20:55 -03:30
thrust26 9f9b1df2c7 properties for 'Bumper Bash' updated 2017-11-19 15:04:14 +01:00
Christian Speckner 2f8ddb2f7a Fix build on clang. 2017-11-18 19:57:22 +01:00
thrust26 73a8938abf fixes for developer settings 2017-11-18 18:22:10 +01:00
thrust26 b564c1c85a "Drive unused pin..." option removed from debugger
code cleanup for RAM/CPU randomization
2017-11-18 16:59:17 +01:00
thrust26 ceb58b8b71 PAL color loss and tv.jitter option removed from Video Settings, only one option (dev.) left 2017-11-18 16:36:15 +01:00
thrust26 cdd4b4bf39 UA added to randomized startup bank types 2017-11-18 14:53:27 +01:00
thrust26 a14fa6a3ea - missing checks for developer settings added
- "dev.console" selection move to developer settings
- random startup bank implemented for some (tested!) bank switchings
- Options dialog button added in debugger
2017-11-18 13:14:27 +01:00
Stephen Anthony 40c831e6e6 Updated OSX project file for recent class additions. 2017-11-17 23:31:49 -03:30
Stephen Anthony 042b6bc2fa Added missing class to VS project file. 2017-11-17 17:37:17 -03:30
Stephen Anthony 522018d636 More header file reorg/optimization. 2017-11-17 13:30:17 -03:30
thrust26 2dde406bb9 some minor cleanup and preparation for more options 2017-11-17 17:26:42 +01:00
thrust26 78f2211f1f Debugger UI settings moved form UI to Developer Settings dialog 2017-11-17 17:02:24 +01:00
Stephen Anthony fbedb3beda Fixed minor formatting issues, and adapt for header reorganization.
Also removed reference to header file on Thomas' local system :)
2017-11-17 11:41:52 -03:30
thrust26 340c974503 fixed project settings 2017-11-17 14:15:11 +01:00
thrust26 6408a2df40 Developer dialog added,
- some options are duplicated with ".dev" prefix
- other renamed with ".dev" prefix
2017-11-17 14:04:40 +01:00
thrust26 41810298a7 Merge branch 'master' of https://github.com/stella-emu/stella 2017-11-17 14:02:27 +01:00
thrust26 b5c9842716 DeveloperDialog added
- developer only options now have "dev." prefix
- options relevant for players and developers are duplicated ("dev." prefix)
2017-11-17 14:02:10 +01:00
Stephen Anthony c2946e58d6 Header fixes take 4; 'debugger/gui' classes.
Note that this one adds a new file, and I haven't yet updated the
Windows and OSX builds (so they won't compile for now).
2017-11-17 09:03:03 -03:30
Stephen Anthony 39f839021e Header fixes take 3: cheat, common, debugger directories done. 2017-11-16 14:29:34 -03:30
Stephen Anthony 4610cae973 Merge branch 'master' of github.com:stella-emu/stella 2017-11-16 13:31:54 -03:30
Stephen Anthony a7f1764411 Second pass at optimizing header files, to eliminate cascaded compiles. 2017-11-16 13:31:20 -03:30
thrust26 64c6e97db3 RewindManager::getUnitString() refactored 2017-11-16 14:49:41 +01:00
thrust26 524548a08a attempt to remove warnings 2017-11-15 23:41:15 +01:00
thrust26 838b277c0a myNTSC removed, defined by number of scanlines now 2017-11-15 11:03:39 +01:00
Stephen Anthony 632fffcb49 Refactor a few classes to not include so many headers.
Including many header files in other headers leads to a cascade of
compiles when changing one of them.

Note that this potentially makes some inline methods non-inline
(although current idea on this is that the compiler can make
much better choices for when to inline).  So we may need to check
performance after this work, to make sure no regressions happen.
2017-11-14 21:52:23 -03:30
thrust26 6970389ff5 rewind states cleared and continuous rewind mode disabled when exiting ROM
(@sa666666 please check if that's the right way to do it)
2017-11-14 16:29:24 +01:00
thrust26 d24f962909 'Desert Falcon (PAL)' ROM properties updated, display format is PAL 2017-11-13 21:01:58 +01:00
thrust26 0dddb93fb6 rewind/unwind command output improved 2017-11-13 16:02:15 +01:00
thrust26 92a8747eb3 rewind/unwind commands enhanced with optional number of levels parameter 2017-11-13 15:07:48 +01:00
thrust26 3f77b95b3b preliminary state compress code added (disabled) 2017-11-12 10:14:42 +01:00
Stephen Anthony bfc7574cd7 First pass at implementing state save/replay using an iterator-based approach.
Saving a state and later rewinding it now works, but still TODO is unwinding
(ie, replay in the future vs. in the past).

For now, debugging info remains, and some methods are commented out.  This
code is mostly for Thomas to inspect and make sure we're on the right track.
2017-11-11 22:15:28 -03:30
Stephen Anthony c18469c2a3 Fix minor compile warnings.
Sync BSTypes in Stella and harmonycart, fixing a bug in the process
(entering non-uppercase extensions for '-bs' would result in an error).
2017-11-10 21:37:11 -03:30
Stephen Anthony a802e934c9 Fixed 'Gamma Attack' ROM properties; the right joystick is the default. 2017-11-10 08:36:59 -03:30
thrust26 d81b1d1e4e debug color for playfield slightly varied for PF0/1/2 (implements #248) 2017-11-09 15:55:56 +01:00
Stephen Anthony 2f31c9d1d8 Fixed minor warning in OSX project file. 2017-10-29 15:28:36 -02:30
Stephen Anthony e64e0ea844 Fix compile errors when certain options are disabled by 'configure'. 2017-10-19 22:14:17 -02:30
thrust26 eceb647953 Atari 7800 support (initial RAM and Pause key) added
currently only available in debugger UI and via command line
TODO: make available in future developer dialog
2017-10-18 22:03:52 +02:00
Christian Speckner 23cac0538c Documentation. 2017-10-17 23:35:49 +02:00
Christian Speckner b5feb9fc40 Remove dead constants, change vsync margin during ystart to match frame. 2017-10-17 22:31:55 +02:00
Christian Speckner 86e789a6cf Minor refactoring, be more tolerant w.r.t. vsync timings -> fixes Acid Drop. 2017-10-17 22:24:40 +02:00
Christian Speckner 20c21177ea No jitter simulation during the initial garbage frames. 2017-10-17 22:06:11 +02:00
thrust26 2af885b417 autocompletion does not anymore cut string if no longer matching string is found 2017-10-17 21:10:37 +02:00
thrust26 631a8c1567 Merge branch 'master' of https://github.com/stella-emu/stella 2017-10-17 19:07:28 +02:00
thrust26 cc04c3e826 missing "Start" label in disassembly fixed
negative block cycle count displayed correctly
2017-10-17 19:07:15 +02:00
Stephen Anthony ad2d53758f Fixed final warning in jitter code. 2017-10-17 09:57:19 -02:30
Christian Speckner 424808b948 Revised my decision ;) 2017-10-17 00:26:12 +02:00
Christian Speckner 1338b8d0d0 Fix spurious jitter in ROMs with continously changing frame height (ghost!). 2017-10-17 00:25:24 +02:00
Christian Speckner 4a73aab1e4 Fix segfault during ystart autodetection. 2017-10-16 23:53:41 +02:00
Christian Speckner 18895e3683 Remove FIXME --- the comparision is legitimate. 2017-10-16 23:37:22 +02:00
Christian Speckner f02a7020b0 Fix typo. 2017-10-16 23:36:52 +02:00
thrust26 ad36e7a74c VS project files updated 2017-10-15 23:17:27 +02:00
Stephen Anthony 5317c86f23 State files are no longer valid after the frame-manager refactoring. 2017-10-15 17:58:34 -02:30
Christian Speckner 5384ca95d2 Oops. 2017-10-15 22:23:17 +02:00
Christian Speckner 2c96258890 Merge branch 'refactoring/frame_manager' 2017-10-15 21:12:14 +02:00
Christian Speckner f40d34543c Fix build on OSX. 2017-10-15 21:11:39 +02:00
Christian Speckner 14dde10b34 Silence clang warnings. 2017-10-15 21:03:33 +02:00
Stephen Anthony abc7ffdf03 Fixed missing break. 2017-10-15 16:06:06 -02:30
Christian Speckner be877f8503 Merge branch 'master' into refactoring/frame_manager 2017-10-15 20:28:27 +02:00
Christian Speckner f67a977c97 CS. 2017-10-15 20:27:16 +02:00
Christian Speckner dc770b2e83 Remove dead code. 2017-10-15 11:55:01 +02:00
Christian Speckner 640da16a2a Reenable jitter. 2017-10-15 00:11:19 +02:00
thrust26 ff57f271ea keys for rewind/unwind from within emulator added (start pause mode and work in pause mode too)
entering debugger from pause mode allowed (TODO: allow more functions)
"Pause" displays always immediately
2017-10-14 12:22:21 +02:00
thrust26 474c9941d5 minimal rewind button state refactoring 2017-10-13 16:01:30 +02:00
thrust26 cdb2e18324 save state handling for entering and leaving the debugger modified. 2017-10-13 15:29:20 +02:00
thrust26 44f7029573 formatting for hit traps and changed source addresses changed 2017-10-13 12:18:41 +02:00
thrust26 576773f837 Merge branch 'master' of https://github.com/stella-emu/stella 2017-10-13 11:18:07 +02:00
thrust26 c6a5b96796 fixes #244 (wrong source address display for cleared peeks) 2017-10-13 11:17:53 +02:00
Stephen Anthony 1707a8f167 Fixed a few more warnings generated by Clang 6. 2017-10-12 23:19:33 -02:30
Stephen Kitt 4885fec94a Spelling fixes
* commmands -> commands
* comparitive -> comparative

These were found by Debian’s Lintian tool.

Signed-off-by: Stephen Kitt <steve@sk2.org>
2017-10-12 16:53:58 -02:30
thrust26 4050acad01 spelling and ordering of pseudo-ops fixed 2017-10-12 21:11:39 +02:00
thrust26 53d4745479 pseudo-op "_scycles" (cycles into current scanline) added 2017-10-12 21:08:24 +02:00
thrust26 3045a0ddf7 unwind logic started, TODO: adapt RewindManager 2017-10-12 17:43:41 +02:00
Stephen Anthony cf74aa8c4d Updated OSX project file for missing header files. 2017-10-12 01:50:46 -02:30
Stephen Anthony fdf813cf06 Fixed nullptr vs. 0 issues in Debugger; removed nasty C-style char pointers. 2017-10-12 00:08:52 -02:30
nanochess 3a853b8944 Corrected wrong message "shotshot" to "snapshot" 2017-10-11 22:33:38 -02:30
Stephen Anthony 10bdcd58d2 Third pass at fixing warnings:
- added very stringent checks when compiling under clang; for now, there will still be warnings,
  since I haven't addressed the specific code yet (probably issues in OSX too)
- no issues when compiling with gcc; still need to check VS.
2017-10-11 21:49:31 -02:30
Christian Speckner 0e5525223b Remove dead code from FrameManager (temporarily disables jitter). 2017-10-12 00:26:08 +02:00
Christian Speckner d0da98aef9 Remove the (now obsolete) logic for clearing the first pixels of line zero. 2017-10-12 00:10:36 +02:00
Christian Speckner 23c2901d14 Hook up new ystart autodetection. 2017-10-12 00:02:31 +02:00
Stephen Anthony be48e643e6 Second pass at cleanups from increased warning level. 2017-10-11 18:18:07 -02:30
Stephen Anthony 9fd1726824 Merge branch 'master' of github.com:stella-emu/stella 2017-10-11 12:25:00 -02:30
Stephen Anthony 35624553b6 First pass at code cleanup from enabling higher levels of warnings in clang/gcc. 2017-10-11 12:23:54 -02:30
Christian Speckner dc5c68bb80 Factor out ystart detection. 2017-10-11 16:04:47 +02:00
thrust26 39c3ba89bf input history works in both directions and wraps around 2017-10-11 15:13:09 +02:00
thrust26 5883f2dfcc prevent displaying auto completes for no filter argument or only "_" 2017-10-11 11:38:38 +02:00
thrust26 c93d7e265d PromptWidget::getCompletionPrefix refactored 2017-10-10 16:40:54 +02:00
thrust26 20ff2163ca comment to BSPF::matches() added
some compiler warnings fixed
2017-10-10 15:29:14 +02:00
thrust26 d702829ed3 slightly better parser messages for breakifs and failed deletes. 2017-10-10 14:48:36 +02:00
thrust26 3cc42b1dc5 resulting string from incomplete autocomplete fixed 2017-10-10 14:47:29 +02:00
thrust26 3e6fe633f3 more characters to auto complete whitespace list added 2017-10-10 14:15:18 +02:00
thrust26 c2325decb7 advanced auto complete added; first letter has to match, following letters have to appear in correct order. examples:
- 'twf' finds and completes into 'trapwriteif',
- 'g0' finds and completes into 'GRP0'
- 'em' finds 'ENAM0'&'ENAM1' and completes into 'ENAM'
2017-10-10 14:03:52 +02:00
thrust26 6c95d34ae3 minimal fix for previous commit 2017-10-10 12:03:15 +02:00
thrust26 5db2d836f4 prompt is initially filled by the executed script files commands 2017-10-10 12:00:10 +02:00
Christian Speckner 12afce8c0d Documentation, minor simplificationsDocumentation, minor simplifications. 2017-10-10 10:20:53 +02:00
Stephen Anthony 29eb553a0c Fixed trailing space in Debugger class file. 2017-10-09 20:31:29 -02:30
thrust26 7c679fda31 Merge branch 'master' of https://github.com/stella-emu/stella
# Conflicts:
#	src/debugger/Debugger.cxx
2017-10-09 23:56:39 +02:00
thrust26 f59ad788d7 missing address in debugger status line fixed 2017-10-09 23:49:14 +02:00
Stephen Anthony aa755c7270 Fixed minor compile warnings with gcc/clang. 2017-10-09 19:14:49 -02:30
thrust26 3fddc03ff6 trapifs implemented (and fixed mirrors)
wrong port display for swapped ports fixed
error due wrong argument number now with example display
label display in status line added
2017-10-09 23:15:40 +02:00
thrust26 07d2797c62 Merge branch 'master' of https://github.com/stella-emu/stella 2017-10-09 23:09:33 +02:00
Stephen Anthony 50174483e1 Updated OSX project file for LinkedObjectPool class. 2017-10-09 18:36:37 -02:30
Stephen Anthony 63ad275b9d Ported RewindManager to use LinkedObjectPool class. 2017-10-09 18:11:15 -02:30
Christian Speckner 4f31166e11 Cleanup. 2017-10-08 21:46:25 +02:00
Christian Speckner 398fac5c9f Replace frame layout detection with dedicated detector. 2017-10-08 21:32:57 +02:00
thrust26 64e4153bca Merge branch 'master' of https://github.com/stella-emu/stella 2017-10-08 19:04:48 +02:00
Stephen Anthony 741e148da5 Fixed 'save' command in debugger parser:
- all files are now appended with '.script' instead of '.stella'.
- files are saved in default save location, just like disassembly files
(this can be discussed/changed as necessary)
- 'exec' command has been changed to load from the same location
2017-10-08 14:24:10 -02:30
thrust26 a9910f2649 Merge branch 'master' of https://github.com/stella-emu/stella
# Conflicts:
#	src/windows/Stella.vcxproj.filters
2017-10-08 18:52:38 +02:00
thrust26 20babc832a Merge branch 'trapif_attempt_1' 2017-10-08 18:31:26 +02:00
Stephen Anthony 5f2e383440 Updated VS project file, adding LinkedObjectPool and removing some
non-existent classes.
2017-10-08 13:32:33 -02:30
Stephen Anthony a8719f6bd6 Added LinkedObjectPool class, which will be used by RewindManager.
Thomas, please contact me for example usage of this class.
2017-10-08 12:42:24 -02:30
thrust26 7406c0fd2a hides new access functions since they can only used together with traps
fixes listtraps formatting (trapStatus)
fixes trap addresses (in executeTrapRW, addr & XY is now always used for compares)
2017-10-08 15:59:00 +02:00
thrust26 eb2ae18ce1 added missing initialization 2017-10-08 14:18:14 +02:00
thrust26 649dada32c added missing file to source control 2017-10-08 12:50:22 +02:00
thrust26 90705babd7 debugger start displays labels where possible
prevent repeated trap interrupts
some old code cleanup
2017-10-08 12:25:23 +02:00
thrust26 d15690f5f1 added mirrors 2017-10-08 10:43:26 +02:00
thrust26 7b8b121ee5 detect duplicate traps which will eliminate each other 2017-10-07 23:45:32 +02:00
thrust26 41dffe6f78 works!
TODOs:
- identify duplicates and trigger remove when added
- mirrored addresses
- testing
2017-10-07 20:22:54 +02:00
Christian Speckner bff13fb008 Comment. 2017-10-07 19:50:29 +02:00
Christian Speckner 47f528c4d3 Inject FrameManager instance into TIA. 2017-10-07 19:48:06 +02:00
thrust26 15925c313c working on formatting 2017-10-07 19:30:21 +02:00
Christian Speckner a452d83b39 Coding style. 2017-10-07 18:48:02 +02:00
thrust26 ffacd7a5e7 missed a clear 2017-10-07 18:28:44 +02:00
Christian Speckner 6aecade2c3 Dcumentation. 2017-10-07 18:26:53 +02:00
thrust26 c6593e6c58 this should be working 2017-10-07 18:25:56 +02:00
thrust26 f862e1c97d progress... 2017-10-07 14:17:34 +02:00
Christian Speckner a400238c19 Refactor FrameManager to extend AbstractFrameManager. 2017-10-07 01:41:47 +02:00
Stephen Anthony bfb79fe289 Let dialogs use all available space in LauncherDialog (fixes #236). 2017-10-06 20:46:13 -02:30
g012 5cce80d908 Fixed removal of prefix of local labels (global.local -> .local). 2017-10-06 20:01:33 -02:30
Stephen Anthony 5492e86ba5 Fix spacing issues. 2017-10-06 20:00:05 -02:30
thrust26 b17542d2bf Makes 'Cancel' default in RomAuditDialog too 2017-10-06 23:18:17 +02:00
thrust26 61bf556e5b it compiles again 2017-10-06 23:06:59 +02:00
Stephen Anthony 8fa5ad502a Minor spacing cleanup. 2017-10-05 20:58:39 -02:30
Stephen Anthony f38b40415f Minor refactoring of AVox/SaveKey classes (use delegating c'tor). 2017-10-05 20:57:02 -02:30
Stephen Anthony 55a281bf34 Allow OK/Cancel buttons to be variably focused in MessageBox. 2017-10-05 20:30:36 -02:30
thrust26 e2844f566f added confirm dialog when erasing the whole EEPROM 2017-10-05 08:26:11 +02:00
Stephen Anthony 9fc8b9fcc0 Fixed crash when specifying an invalid controller type on the commandline. 2017-10-04 18:35:55 -02:30
Stephen Anthony 29e53093ba Various UI classes now have their commands prefixed by class name. 2017-10-04 18:33:24 -02:30
Stephen Anthony 90a6c35061 Removed ability to manually select CompuMate controllers (fixes #229). 2017-10-04 17:43:21 -02:30
Stephen Anthony 17f88515a7 Fixed compile errors in gcc/clang. 2017-10-04 13:06:28 -02:30
thrust26 486d95d951 Revert "fixed #236 by making the launcher dialogs slightly larger. Also limited emulator dialogs to the same size."
This reverts commit fbcab7d286.
2017-10-04 16:22:53 +02:00
thrust26 fbcab7d286 fixed #236 by making the launcher dialogs slightly larger. Also limited emulator dialogs to the same size. 2017-10-04 16:15:46 +02:00
thrust26 0cbceda36d added ellipsis to audit dialog 2017-10-04 12:26:11 +02:00
thrust26 af30b05734 added ellipsis to buttons which open another dialog
added ellipsis character to large, medium and small fonts
2017-10-04 10:42:37 +02:00
Stephen Anthony d99d3a16f5 Fix crash when using CompuMate scheme but not using CM controllers.
The code now never looks at the controller type for CM ROMs, but just creates the required controllers.
This means that we no longer actually need a special CompuMate controller type anywhere in the code, since selecting it has become redundant.
2017-10-03 20:17:23 -02:30
Stephen Anthony 1fa3f0cf0d Fixed compile warnings under clang:
- multiline IF statements should have braces
- override keyword not being used when overriding virtual methods
2017-10-03 19:14:07 -02:30
Christian Speckner d52562975d AbstractFrameManager adjustments. 2017-10-03 23:08:14 +02:00
thrust26 46f2ae0cab While I am at it, some minor fixes to Game Properties/Cartridge dialog 2017-10-03 22:26:08 +02:00
thrust26 0839bcb8d7 minor improvement of last commit 2017-10-03 20:42:02 +02:00
thrust26 9ac4a57498 Added logic to Game Properties/Controllers to prevent invalid selections. 2017-10-03 20:25:38 +02:00
thrust26 cd189050ec Fixed wrong display of swapped controllers in debugger 2017-10-03 18:42:46 +02:00
thrust26 9f97184d9b Added 'EEPROM erase' buttons to Device & Ports and Game Properties dialogs
Slightly refactored some dialogs
Changed colors for disabled sliders and buttons
2017-10-03 16:43:50 +02:00
thrust26 8348525f14 before cleanup 2017-10-03 16:33:33 +02:00
Stephen Anthony bec1784d18 Added infrastructure to call methods on AVox/SaveKey controllers from InputDialog.
Thomas, you will need to edit InputDialog::eraseEEPROM and finish the logic there.
2017-10-02 19:57:21 -02:30
thrust26 e10ca8e694 removed 'echo' and enhanced 'print' instead 2017-10-02 22:12:10 +02:00
thrust26 3ca6f5a9d3 Changed tab widget navigation to Windows and OSX standard Control-(Shift)-Tab 2017-10-02 21:12:24 +02:00
thrust26 43e9693959 added 'echo' command to debugger prompt 2017-10-02 14:23:08 +02:00
Christian Speckner d220888474 Abstract common frame manager interface. 2017-10-02 00:52:56 +02:00
Stephen Anthony 4ecaa9a6e0 Updated OSX project file for recent class additions. 2017-10-01 17:29:37 -02:30
Stephen Anthony 05b2684421 Fixes for Visual Studio project file; minor formatting cleanups. 2017-10-01 16:49:29 -02:30
Stephen Anthony 924e92214f Fixes for several minor issues in the last few commits:
- move files from src/windows to proper location
- formatting fixes to match style in other files

This fixes all compile issues in Linux; still TODO is fix Windows and OSX.
2017-10-01 16:23:53 -02:30
thrust26 c19dc0dd9f minor code cleanup 2017-10-01 20:02:11 +02:00
thrust26 39c168fb70 made SWCHA(R) editable in debugger (somewhat ugly coding here) 2017-10-01 17:48:25 +02:00
thrust26 5bc3d9c83e Improved value display for driving controller in debugger 2017-10-01 13:59:00 +02:00
thrust26 72f46c306f added new classes for "Linux & friends" make 2017-10-01 13:51:58 +02:00
thrust26 00cb377c0a finalized trackball widgets 2017-10-01 13:06:34 +02:00
thrust26 4fe9317ad2 Refactored FlashWidget, SaveKeyWidget and AtariVoxWidget 2017-10-01 12:00:07 +02:00
thrust26 f77cd9ab06 Updated VS project file, reworked SaveKey/AtariVox widget, started with implementing trackball widgets for debugger (AmigaMouse working) 2017-10-01 09:52:39 +02:00
thrust26 01449ddeec Added few new constructors to some widgets which make creating dialogs a bit easier. There still is room for improvement here. 2017-09-30 12:07:56 +02:00
thrust26 ecd8d0ff22 Fixed and refactored controller selection 2017-09-30 12:03:45 +02:00
thrust26 a92ceed195 SaveKey/AtariVox detects EEPROM areas accessed by ROM and allows erasing only these in the debugger. 2017-09-29 20:12:41 +02:00
Christian Speckner 7965b84553 Merge branch 'master' into refactoring/frame_manager 2017-09-27 23:27:44 +02:00
Christian Speckner b3228aaad7 Work around g++ bug on OSX. 2017-09-25 22:06:21 +02:00
Stephen Anthony e7b732b115 Allow access to current frame count from TIA; minor formatting cleanup. 2017-09-23 10:20:36 -02:30
Stephen Anthony e695c3b3a5 Converted RewindManager to a (currently unbounded) linked list.
This is in preparation for further work by Thomas J.
2017-09-22 17:37:24 -02:30
sa666666 be64a6387d Fix memory leak in RewindManager (at least until it's rewritten). 2017-09-21 10:14:04 -02:30
thrust26 39267e2840 removed warning 2017-09-20 07:24:11 +02:00
thrust26 ba764fdc06 added _cyclesLo and _cyclesHi to debugger prompt 2017-09-19 20:49:48 +02:00
Stephen Anthony aed2945a56 First pass at continuous state saving in emulation mode, accessible by the debugger:
- Toggle this with Alt-r.  When enabled, state is saved each frame to memory (up to 100 slots)
- Upon entering the debugger, rewind is immediately available, allowing to rewind (for example) back past a breakpoint
- Testing is definitely required.
2017-09-18 20:29:52 -02:30
Stephen Anthony 628f981121 Various cleanups to documentation and snapshots:
- Changelog updated for recent fixed from Thomas J.
- Minor formatting fixes in TIASurface class
- Updated documentation for 'ss1x' mode; snapshots now have only scaling disabled, not effects removed
- Updated snapshots for change in ss1x, and also ran them all through pngcrush, to optimize size
2017-09-18 19:50:37 -02:30
thrust26 5fe51112dd fixed #214, now "usemouse.always" is checked too 2017-09-18 20:48:49 +02:00
thrust26 2a21b497fe fixed #178 by replacing myUserCLabels with myUserLabels 2017-09-18 20:27:16 +02:00
thrust26 ed47816303 fixed issue #201 with new reRender method
in phosphor modes buffers are simply copied form phosphor buffer, else the screen is rendered again
2017-09-18 15:49:30 +02:00
thrust26 11367e6a17 1x snapshots now support all 4 phosphor/Blargg combinations 2017-09-18 09:27:51 +02:00
thrust26 8aad8afda7 fixed 1x snapshot problem when phosphor was disabled 2017-09-17 23:58:52 +02:00
thrust26 b3eaaac5ed enable phosphor and TV effects for 1x snapshots 2017-09-17 23:38:59 +02:00
Stephen Anthony f442fae890 Fixed graphical corrution when saving snapshots in 1x mode
- Phosphor is now also disabled in this mode
2017-09-17 16:46:56 -02:30
Stephen Anthony 1d01b39f87 Minor cleanup of formatting and compile warnings. 2017-09-17 16:15:17 -02:30
thrust26 5b0965ad6c Fixed the fix. 2017-09-17 17:28:03 +02:00
thrust26 f0ced8ae4c Fixed 1x snapshot bug with phosphor #222 2017-09-17 17:20:48 +02:00
Christian Speckner c682dd1c27 Microoptimization: avoid function dispatch overhead. 2017-09-17 14:12:37 +02:00
thrust26 7d72265088 added TIA access tracking
improved ZP-RAM/Stack tracking
2017-09-17 10:35:45 +02:00
Christian Speckner 8485b0820f Collisions are disabled during vblank. 2017-09-17 01:35:01 +02:00
thrust26 cfa40722b9 updated poke(), now CPU emulation provides the flags
improved ZP/stack access tracking and output
added ZP code tracking
2017-09-16 22:37:19 +02:00
thrust26 3bf809a137 refined access tracking for ZP, Stack and IO addresses
improved RIOT RAM output in Distella
2017-09-16 17:38:37 +02:00
Stephen Anthony 03c1ab17fd Added access tracking to M6532 for ZP and IO addresses. 2017-09-16 10:37:42 -02:30
thrust26 7f65fad7cf preliminary implementation for ZP-RAM access tracking
extra access type flag for poke()
2017-09-16 13:48:04 +02:00
thrust26 10e6d483b1 added access tracking via poke()
code cleanup in DiStella and CartDebug
2017-09-16 08:54:32 +02:00
Stephen Anthony 7b63dc6f22 Cleanups to System class (call methods, remove debugging code). 2017-09-15 23:42:20 -02:30
Stephen Anthony 1d99a1e5fa Refactored various page accessing functionality:
- Removed System::PAGE_SHIFT from all classes (except where it's needed inside System); it is an implementation detail of that class that shouldn't be used outside the class, and was making the various calls to setPageAccess very messy
- Changed uInt32 to uInt16, and loop variable to 'addr' for all calls to setPageAccess; this is for consistency, and allows the reader to see how all the code is similar in different classes
- Updated comments in various places (mostly TIA and RIOT) to more clearly show how page accessing works.
2017-09-15 23:28:20 -02:30
Stephen Anthony ca69e2ed73 Refactor code and comments for TIA and RIOT 'page access' stuff. 2017-09-15 21:22:10 -02:30
thrust26 5f68b0565d 2nd part of Distella updates 2017-09-15 14:56:54 +02:00
thrust26 833d0c3b0e test 2017-09-13 22:43:49 +02:00
thrust26 7af7dd3bb6 test test test 2017-09-13 22:30:17 +02:00
thrust26 9c550d4933 test test test 2017-09-13 22:28:58 +02:00
thrust26 a798dedabf test 2 2017-09-13 22:16:46 +02:00
thrust26 76771c2c43 Merge branch 'master' of https://github.com/stella-emu/stella 2017-09-13 22:16:07 +02:00
thrust26 a515ab67f0 test 1 2017-09-13 22:15:46 +02:00
Christian Speckner c26372da4c Dot. 2017-09-13 20:37:54 +02:00
thrust26 95b04b2baa 1st part of Distella improvements 2017-09-13 16:04:54 +02:00
Stephen Anthony 648ed74527 Oops, missed one variable in the 64-bit clock conversion. 2017-09-12 11:04:59 -02:30
Stephen Anthony 86f65e8e87 Show message indicating what is being done when rewinding state (ie, '1 step', '10 frames', etc). 2017-09-11 15:58:41 -02:30
Stephen Anthony 483013baa7 Make PaddleReader constants private, to guard against same variable names used elsewhere. 2017-09-09 17:28:21 -02:30
Sergio Prado 391601d238 Fix error when building with uClibc-ng for ARM
The uClibc-ng C library defines a type called R0 when compiling for ARM,
that conflits with a global variable called R0 from PaddleReader.cxx.

src/emucore/tia/PaddleReader.cxx:25:3: error: ‘constexpr const double R0’ redeclared as different kind of symbol
   R0 = 1.5e3,
   ^
/home/sprado/workspace/build/buildroot/build/stella_uclibc/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/sys/ucontext.h:42:3: note: previous declaration ‘<anonymous enum> R0’
   R0 = 0,
   ^~

So let's redefine R0 as a private member of the PaddleReader class.

Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
2017-09-09 17:25:29 -02:30
Stephen Anthony 2dc355b0d5 Debugger 'saverom' and 'saveses' now save to the default save directory.
The 'saveses' command now creates a filename based on the date and time when the command was entered.
2017-09-09 17:20:22 -02:30
Stephen Anthony b54b4eb4f6 Fixed documentation on some debugger 'save' commands; they don't take
any parameter, and choose the name (and locations) themselves.
This needs to be fixed, and will happen when I get to issue #172
(add save file dialogs).
2017-09-09 15:50:27 -02:30
Stephen Anthony b814296a9e Fixed bug in Windows, where 'Documents\Stella' wasn't being created. 2017-09-09 15:40:07 -02:30
Stephen Anthony b7bf3b79b2 First pass at a consistent default for load/saving files that don't have a
pre-defined location (ROM files and disassemblies, etc).
- Repurposed the snapshot load/save folders by changing OSystem::defaultSnapLoadDir to OSystem::defaultLoadDir, and similar for the save dir
- In Windows, this directory will now be 'Documents\Stella', while in Linux/OSX it will be $HOME
- Testing still required for Windows and OSX; only Linux is confirmed to work for now
2017-09-09 15:06:21 -02:30
Stephen Anthony 9190943534 Added debugging output for FSNode. 2017-09-09 14:02:36 -02:30
Stephen Anthony 73282db9fd Fixed bug in FSNodeWindows::getParent() not always working correctly. 2017-09-09 13:57:42 -02:30
Stephen Anthony 02bae6346a Updated PNG library to latest version. 2017-09-08 23:55:02 -02:30
Stephen Anthony a018dc604a Extend debugger 'dump' command to take second parameter (for end of data range). 2017-09-08 22:23:45 -02:30
Stephen Anthony 823c693a9e Final updates for recent 64-bit cycles refactoring. 2017-09-08 18:52:03 -02:30
Stephen Anthony c4d04ffe26 CartCDF and friends refactoring (have similar functionality):
- rework music fetcher code; there can never be a negative cycle count
- use get/put double Serializer methods for doubles.
2017-09-08 18:36:06 -02:30
Stephen Anthony b6907d0d8a Added '_fcycles' debugger pseudo-op (gives cycles since frame started). 2017-09-08 17:59:33 -02:30
Stephen Anthony ebb8725126 Refactor System::myCycles to be 64-bit instead of 32-bit.
- The cycles counter is now essentially monotonically increasing (ie, we never need to worry about it going backwards and giving a negative difference, simplifying a lot of code
- There are now reset() methods in all places that keep track of system cycles, but they are used for a full reset only; not called each frame like before (which had to be done to prevent overflow).
2017-09-08 11:29:30 -02:30
Stephen Anthony 0aa55b310d Updated OSX project file for recent refactoring. 2017-09-04 14:37:13 -02:30
Stephen Anthony 59d58f8cdf Updated Visual Studio project file for recent refactoring. 2017-09-03 23:31:59 -02:30
Stephen Anthony eafe102daa Refactor StateManager and RewindManager for eventual use outside debugger. 2017-09-03 23:02:15 -02:30
Christian Speckner 5ca9b7912b Fix a very minor timing glitch in paddle emulation. 2017-09-02 00:53:08 +02:00
Christian Speckner 2757c906cb More TIA documentation. 2017-09-02 00:46:54 +02:00
Stephen Anthony c2302c2e71 Cart::getImage refactoring: use uInt32, since sizes are never negative. 2017-09-01 10:23:17 -02:30
Stephen Anthony e858ddf167 Removed reference to class for 'MC' scheme in Windows and OSX builds. 2017-08-31 22:07:40 -02:30
Stephen Anthony 754c901b5a Fix minor typos, but also a compile error (missing closing comments). 2017-08-31 22:03:41 -02:30
Christian Speckner cd390bcc5a TIA documentation. 2017-09-01 00:48:28 +02:00
Stephen Anthony 4440aabc56 Final updates for bankswitch schemes, updating documentation.
- Some schemes are not completely documented and/or implemented, and in those cases a FIXME has been added.
2017-08-31 19:21:20 -02:30
Stephen Anthony 6cf4aa4832 Further refactoring of bankswitching schemes, and removal of 'MC' scheme.
- MC is being removed, since the code has never been tested, and a test ROM has never been created
2017-08-31 15:31:27 -02:30
Stephen Anthony 31907f4be1 More peek/poke refactoring, and improved comments in bankswitching schemes. 2017-08-31 13:01:45 -02:30
Stephen Anthony 68f80f04d9 Peek/poke refactoring for next batch of bankswitch schemes. 2017-08-30 20:44:18 -02:30
Stephen Anthony a5d9550f2f First pass at cleanup of the peek/poke API from Device class:
- remove peek and poke from classes where the addressing is set up such that they aren't needed
- where possible, move from using 'myCurrentBank << 12' everywhere, to precomputing the value (perhaps a small optimization, but still valid)
2017-08-30 19:45:57 -02:30
Stephen Anthony 8cf8200908 Fixed logic error in detecting 'Alt' key.
DirtyHairy, it looks like you removed a negation and replaced it with
a positive (ie, you removed an _ifndef_, not an _ifdef_) :)
2017-08-30 19:41:16 -02:30
Christian Speckner fd85f9d0d5 Basic support for plain UNIX-style builds on OSX. 2017-08-30 23:13:07 +02:00
Stephen Anthony 2930e74333 Updated FE debugger support to allow changing banks dynamically. 2017-08-30 17:22:56 -02:30
Stephen Anthony 1358be402f Update explanation of FE scheme, and minor code optimization. 2017-08-30 16:53:00 -02:30
Stephen Anthony d37b89e2fd Oops, for Alex I used his github username, not the AtariAge one. 2017-08-30 12:00:26 -02:30
Stephen Anthony ae8304563d Updated credits for recent 'FE' research. 2017-08-30 11:52:02 -02:30
Stephen Anthony 92cd739001 Added 'Zippy the Porcupine' info to ROM properties database. 2017-08-30 11:09:06 -02:30
Stephen Anthony 3a02c54b0a Updated FE scheme to that described by the original FE patent application.
- This emulation is much simpler, and takes the scheme from being
esoteric to being a simple hotspot-based scheme
- The original patent application for the FE scheme describes in perfect
detail what is happening, and although the previous code worked, it
was complex and actually hid what was really happening.

Now that the scheme is hotspot-based, the debugger can be extended to
work better with it.  That part comes next.
2017-08-29 22:03:11 -02:30
Stephen Anthony 792421e67d Updated ROM properties database (Champ Games, mostly). 2017-08-23 22:12:40 -02:30
Stephen Anthony 52c16d604b Update TIA shadow registers for HMCLR (and code cleanup). Fixes #211. 2017-08-22 16:38:52 -02:30
Stephen Anthony 21bf401836 Commandline arguments 'holdxxx' now work correctly (fixes #209). 2017-08-22 14:15:30 -02:30
Christian Speckner 5661b245c7 Fix object positions in debugger (getting + setting), documentation. 2017-08-22 15:16:13 +02:00
Stephen Anthony 11d659e5cc Bumped version number. 2017-08-20 21:32:09 -02:30
Christian Speckner 8367ef9828 Documentation typo. 2017-08-20 23:57:11 +02:00
Christian Speckner 25bf4f55d6 Prevent ystart detection code from oscillating between 'fixed' and 'floating'. Documentation. 2017-08-20 23:54:04 +02:00
Christian Speckner 168c7ba201 Fix genesis controller initial state. 2017-08-20 23:39:30 +02:00
Stephen Anthony ab99610950 Bumped version number for 5.0.2 release. 2017-08-20 15:01:39 -02:30
Stephen Anthony f280e31671 Printing of traps in debugger takes into account TIA read/write address. 2017-08-19 20:59:06 -02:30
Stephen Anthony b608c5bf88 Updates for 5.0.2 release. 2017-08-19 20:34:00 -02:30
Stephen Anthony 6e55d98ad7 Fixed inconsistent Alt-p phosphor behaviour (fixes #196). 2017-08-19 19:48:41 -02:30
Stephen Anthony a9dd2b32cb Debugger 'listtraps' now shows all traps (fixes #190). 2017-08-18 18:47:35 -02:30
Stephen Anthony 48a99c6b6b Make Random class serializable, and save to state files. 2017-08-18 12:36:54 -02:30
Stephen Anthony c1f7c5c90b Fix potential app lockups when emulated CPU execution fails in the debugger. 2017-08-16 19:00:32 -02:30
Stephen Anthony 6f60437a9c Improve Blargg filters with cutoff on right side of screen (fixes #195). 2017-08-15 17:49:59 -02:30
Stephen Anthony 24e55baa2c Expose 'threads' option through the Video Settings -> General UI. 2017-08-15 10:58:19 -02:30
Stephen Anthony 4f336eddeb Added 'threads' commandline argument, to enable/disable multi-threading.
- Still TODO is expose this in the UI, but the infrastructure is there
- For now, this defaults to off
2017-08-14 21:29:48 -02:30
Stephen Anthony f011006af1 Removed unused variable. 2017-08-14 17:51:02 -02:30
Stephen Anthony a29d1da57b Threaded Blargg + phosphor improvements:
- Handle case of only 1 or zero (!) reported cores
 - Fix memory leak by using smart pointers
2017-08-14 11:57:19 -02:30
Christian Speckner 6d1a306b52 Blargg and phosphor threading by Thomas Jentzsch. 2017-08-14 09:20:42 -02:30
Stephen Anthony 7a9cde3e4d CDF updates (with versioning) from Spiceware. 2017-08-14 09:11:54 -02:30
Stephen Anthony f57d69a023 Fixed reading collision of ball and playfield (fixes #189). 2017-08-13 14:43:31 -02:30
Stephen Anthony 193da6c845 Fix DiStella trying to process the same PC address repeatedly (fixes #188). 2017-08-13 13:43:48 -02:30
Stephen Anthony 55111c4ccb Fixed minor warning for potential uninitialized variable. 2017-08-09 22:38:39 -02:30
Stephen Anthony 1e7e4cbe20 More TIA rendering optimizations. 2017-08-08 12:11:45 -02:30
Stephen Anthony 8759f340e8 Oops, premature optimization; it broke changing phosphor blend level. 2017-08-07 18:56:13 -02:30
Stephen Anthony 1dc78a9b5b Pre-calculate phosphor colours, and remove redundant shift parameter.
This leads to nice speedups in the TIASurface::render() method.
2017-08-07 18:39:30 -02:30
Stephen Anthony 322af0fb38 Fixed code where emplace_back was being used incorrectly. 2017-08-06 13:57:09 -02:30
Stephen Anthony e2b78b6df7 Remove redundant checks for 'ramrandom'; the code is checking a boolean,
then calling a method and checking the boolean again.
2017-08-06 13:30:45 -02:30
Stephen Anthony 18568cfbeb TIA performance improvements by Thomas Jentzsch. 2017-08-06 12:39:53 -02:30
Stephen Anthony 4a447290af Reverted Decathlon and allow all 4 directions being the default. 2017-08-06 12:05:31 -02:30
Stephen Anthony 8ce4d3468e Updated OSX project file for recent refactoring.
Fixed minor compile warning.
2017-08-05 13:34:56 -02:30
Stephen Anthony 025a1a7918 Minor refactoring, slight speedup of passing data in sound code. 2017-08-02 19:21:36 -02:30
Stephen Anthony b23830487d Minor refactoring; remove const reference where not needed. 2017-08-02 17:53:07 -02:30
Stephen Anthony f928277430 Updated Visual Studio project for recent refactoring.
Fixes a few minor warnings.
2017-08-02 16:16:05 -02:30
Stephen Anthony d22ed691b5 Updated PointingDevice (trakball and friends)
- changed from templates back to inheritance (sorry DirtyHairy :))
 - added 'tsense' commandline argument and associated UI
 - updated docs and screenshots for new functionality
2017-08-02 16:07:02 -02:30
Stephen Anthony ace146fe52 Introduce another version of BSPF::clamp. 2017-08-02 15:26:48 -02:30
Stephen Anthony 87282e6707 Further improvements to trakball handling by Thomas Jentzsch. 2017-08-01 11:15:41 -02:30
Stephen Anthony 6e4503f762 Further improvements to the trakball and friends cursor movement. 2017-07-30 20:19:00 -02:30
Stephen Anthony 5a5c520443 Updated Visual Studio project file to be compatible for everyone.
Basically, removed all paths that were specific to me (stephen)
and used relative paths instead.

The development webpage will need to be updated to match this.
2017-07-30 15:09:00 -02:30
Stephen Anthony 04ce40b27c Make sure trakball is read over entire vertical range. 2017-07-30 13:14:16 -02:30
Stephen Anthony eaf19d2b90 Forgot to include a file in the Windows project file. 2017-07-30 12:10:52 -02:30
Stephen Anthony 7652be906d Updated OSX project file for Controller refactoring.
- Minor refactoring in PointingDevice class
2017-07-30 12:02:48 -02:30
Stephen Anthony 91c5020a38 Updated Visual Studio project file for Controller refactoring.
- Some minor code refactoring/changes
 - Updated changelog and bumped version number.
2017-07-30 11:48:52 -02:30
Christian Speckner 218da3576c Refactor pointing devices, include Thomas' patch for movement inconsistencies. 2017-07-30 15:18:55 +02:00
Stephen Anthony aebe8fabc6 Revert Alt-Enter handling from previous commit; it only seems to work reliably for Alt-Tab. 2017-07-27 12:15:52 -02:30
Stephen Anthony 4af7ba28fb Fix for weird Alt-Tab behaviour in Linux.
- An extraneous TAB key event was being generated
  - This is possibly an SDL bug in Linux only; it doesn't happen on other systems
  - I've contacted the SDL mailing list for more info, so this code may be temporary
2017-07-26 21:18:08 -02:30
Christian Speckner 246b5e7596 Move frame manager to dedicated subdir, remove all external deps on it. 2017-07-27 00:33:39 +02:00
Stephen Anthony 00afc8ea4f Final updates for 5.0.1 release. 2017-07-23 12:33:16 -02:30
Stephen Anthony 9155a10250 Merge branch 'master' of https://github.com/stella-emu/stella 2017-07-21 23:30:26 -02:30
Stephen Anthony 7c2da9512d Updated OSX project file for C++14 changes. 2017-07-21 21:43:47 -02:30
Stephen Anthony 9bf95e9c88 Updated Visual Studio project file for C++14 changes. 2017-07-21 21:27:34 -02:30
Stephen Anthony cd689941b6 Move to C++14, now that all the minimum required compilers support it.
Clang 3.8, gcc 5, Visual Studio 2017 and Xcode 8 are now the minimum
supported compilers, and they all support C++14, so we may as well use it.

 - Change all make_ptr to make_unique
 - Change iterator begin(), end(), etc to const versions where appropriate
 - Remove UniquePtr, since C++14 supports it natively
2017-07-21 21:10:13 -02:30
Christian Speckner 0d5d3de420 Analog input refactoring and improvements
* Lazily update readout circuit simulation as soon as the pin
      changes
    * Always assume that "max resistance" means "connected to ground"
    * Minor accuracy improvements
2017-07-22 00:38:02 +02:00
Stephen Anthony 706755ad7f Fixed minor compile warning. 2017-07-20 18:58:19 -02:30
Stephen Anthony 2cc2fa6cc1 Make Decathlon ROMs always use all 4 directions on a joystick.
This is necessary, since the original controller was meant to be
track & field controller with two buttons, which map to left/right
on an Atari.
2017-07-20 11:15:57 -02:30
Stephen Anthony fe7c980d93 Minor refactoring in CompuMate class.
While having friends in real life is good, we should minimize them
in classes :)
2017-07-20 10:56:17 -02:30
Stephen Anthony 953761e1a1 Added 'Hunchy II' to ROM properties database. 2017-07-19 21:25:35 -02:30
Stephen Anthony 02b1f7e078 Make Random::next() const, since logically it should be.
The fact that it updates an internal variable is an implementation
detail that shouldn't be exposed outside the class.
2017-07-18 18:17:39 -02:30
Stephen Anthony 97f1220e11 Bumped version number for next release; we start again ... 2017-07-18 18:12:05 -02:30
Stephen Anthony 86734a4c1e Fixed formatting in changelog, and bumped version number. 2017-07-15 20:47:54 -02:30
Stephen Anthony 43c22af274 Fixed bug with missile colouring in debugger not changing colour
until after an instruction was executed.  Also, toggle-able widgets
(pixel and bits) in the debugger can now be toggled with a single
mouse click, not a double-click.  These fix issue #15.
2017-07-15 17:36:06 -02:30
Stephen Anthony 199627f0cb Updated Xcode project file for ColorWidget move. 2017-07-15 11:59:31 -02:30
Stephen Anthony 9f8baadb29 Some cosmetic UI changes and updated screenshots/docs. 2017-07-15 11:48:15 -02:30
Stephen Anthony d74bbba4f9 Updated documentation and screenshots. 2017-07-14 22:39:49 -02:30
Stephen Anthony bd759b68cb Added ability to force-enable TV phosphor mode.
This is enabled in the UI or through the 'tv.phosphor' commandline
argument.  Note that what was previously 'tv.phosphor' (for setting
the blend level) is now 'tv.phosblend'.

Updated documentation in various places.
2017-07-14 21:28:26 -02:30
Stephen Anthony adddc635f2 Pressing F12 in the debugger saves snapshots (implements #161). 2017-07-14 20:24:29 -02:30
Stephen Anthony c364526ff6 Made 'tv.jitter' effect enabled by default. 2017-07-14 09:27:04 -02:30
Stephen Anthony e99cbd8956 Made ColorWidget honour disabled colors. 2017-07-14 09:24:38 -02:30
Stephen Anthony 7904f3e900 Updated Visual Studio project file for ColorWidget move.
Fixed crash when attempting to enter "Video Settings" from the
ROM launcher; in that case, 'Debug Colors' must be disabled, since
the widgets only take effect in emulation mode.
2017-07-13 21:45:57 -02:30
Stephen Anthony 66e5a07f20 Make 'fastscbios' option default to true.
This was mentioned in some thread; I forget where, but the consensus
is that this should be the default.
2017-07-13 20:53:20 -02:30
Stephen Anthony fbb73b72f1 Erase old contents of RGB buffer when toggling phosphor and Blargg
effects (fixes #175).

Right idea, but I always forget that memset operates on bytes,
but the RGB buffer contains uInt32 (so multiply by 4).
2017-07-13 19:27:21 -02:30
Stephen Anthony 626ff450d9 Added ability to change debug colors from "Video Settings".
Moved ColorWidget from src/debugger/gui to src/gui, since it needs to be
compiled even when the debugger is disabled.

Minor code refactoring.
2017-07-13 18:40:42 -02:30
Stephen Anthony d9f52599dc Marked BUS scheme as experimental per authors request. 2017-07-12 18:07:40 -02:30
Stephen Anthony 87c1d12d1d Fixed dynamic setting of phosphor blend to not wraparound when reaching 0. 2017-07-12 16:16:41 -02:30
Stephen Anthony 0d1481cb9d Revert behaviour of TIA read from write-only addresses to match
Stella 4.x (fixes #173).
2017-07-11 17:18:56 -02:30
Stephen Anthony e9acf1f1e8 Updated various docs for impending 5.0 release.
Finalized state file format at 5.0.0.0.
2017-07-09 22:56:16 -02:30
Stephen Anthony d613173cd7 The default phosphor blend level can now be set globally (fixes #144).
Added new 'tv.phosphor' commandline argument to accomplish the above,
and associated UI item in Video Settings.

Updated docs for 'tv.phosphor' and 'tia.debugcolors'.  More work is
needed on this, since I need to add screenshots for this new functionality.
2017-07-09 22:40:06 -02:30
Stephen Anthony 7f6637a802 Updated ZLIB and PNG libraries to latest released versions. 2017-07-09 16:49:17 -02:30
Stephen Anthony fadf9d5535 Updated ROM properties to RomHunter version 13. 2017-07-09 15:48:10 -02:30
Stephen Anthony 10c53bce89 Make 'listtraps' less verbose (fixes #157). 2017-07-06 21:05:52 -02:30
Stephen Anthony f177aed814 Fix debugger trap documentation (fixes #156 from #164) 2017-07-06 19:45:12 -02:30
Stephen Anthony e1bc5c92e4 Trakball documentation fixes and other minor updates (from issue #164). 2017-07-06 19:30:11 -02:30
Christian Speckner 2111340785 Fix compile with gcc 5.4.0. 2017-07-06 00:00:05 +02:00
Stephen Anthony 6d4a98d735 Updated version for next pre-release. 2017-07-05 18:04:27 -02:30
Stephen Anthony 970804b9f3 Optimization: modify RGB pixel data locally instead of calling functions.
This is allowed, since after analyzing the code, we see the pixel format
will always be ARGB8888 mode, so we can hard-code the logic to do the
conversion.

This leads to a measurable performance improvement, since we eliminate
3 function calls per RGB colour lookup.  And the calls themselves involved
IF statements and various other shifts that weren't needed.  Assuming
normal phosphor mode with 160x210 pixels, this saves 100,800 function calls
per frame!
2017-07-05 14:48:43 -02:30
Stephen Anthony ea59fdd3f2 Code cleanups, commenting fixes, etc for Blargg-related code. 2017-07-05 14:11:41 -02:30
Stephen Anthony 6da07d8dc7 Optimization: eliminate redundant access through a struct. 2017-07-05 13:06:44 -02:30
Stephen Anthony 09af9d09a5 Finally fixed issue #75 (phosphor mode now works with Blargg). 2017-07-05 12:48:39 -02:30
Stephen Anthony d88969adcb Store and lookup system labels (aka, equates) in case-insensitive manner.
This fixes a bug in the debugger parser, where typing (for example)
'trap swchb' doesn't work but 'trap SWCHB' does.
2017-07-04 19:50:32 -02:30
Stephen Anthony 087fccd29f Updated OSX project file for recent class additions.
Eliminated some dead code.
2017-07-03 19:16:14 -02:30
Stephen Anthony 588cd82be9 Updated Visual Studio project file for recent class additions. 2017-07-02 21:08:12 -02:30
Stephen Anthony 7b57d52260 My neverending quest to protect against raw pointers.
Changed many 'const char* ...' to 'const char* const ...'.
2017-07-02 20:46:27 -02:30
Stephen Anthony 9972af022a Fairly huge refactoring of the cart autodetection code.
This has been in patch form for about a year, and I'm finally
getting around to applying it.  Basically, we separate the Cart
class into 3 classes:
  - Cart: stuff specific to cartridge emulation
  - BSTypes: various bankswitch types, both as enum and strings
  - CartDetector: actual bankswitch auto-detection code

Also made more use of smart pointers, and added const in a few
more places.

I promise to get back to the phosphor stuff soon.  This is just
to clear my head a little.
2017-07-02 19:27:27 -02:30
Stephen Anthony 2e776b05b8 Introduced 'tia.dbgcolors' commandline argument, which allows to set
the fixed debug colors to user-defined preferences.  Note that there
are 6 registers (P0,M0,P1,M1,PF,BL), and the option takes a string
of 6 characters, where each represents a colour for the respective
positional register (ROYGBP are the choices).

I may add a UI item for this, but this is as far as I will go with
allowing user editing.
2017-07-01 19:54:02 -02:30
Stephen Anthony bd78683274 Rearranged some Blargg code, added comments, general cleanups.
For now, Blargg phosphor mode simply shows the same image as without phosphor.
This is a WIP, and if we can't get it finished for 5.0, it will be released as-is.

Phosphor blend now defaults to 0 in the base properties, and is converted to
50 before being passed to higher levels.  This needs to change when we
get to issue #144.
2017-06-30 14:10:14 -02:30
Christian Speckner fa76042790 Make sure that pending RDY is handled after stepping the CPU. Closes #155. 2017-06-24 00:35:17 +02:00
Christian Speckner 4515e79b4e Jitter only of frame height has changed for three or more consecutive frames. 2017-06-24 00:09:34 +02:00