Commit Graph

2512 Commits

Author SHA1 Message Date
Christian Speckner a5ce457b72 Implement triple buffering in TIA. 2018-05-27 00:26:36 +02:00
Stephen Anthony f7a9a12c23 Updated VS project for recent dispatch class changes.
Bumped version # for precise-sound branch, since I'm getting tired of
switching between branches and forgetting which binary I'm currently
running.
2018-05-24 21:32:32 -02:30
Stephen Anthony a9985cc6b8 Updated OSX project file for new dispatch code, and fixed a minor warning. 2018-05-24 21:01:38 -02:30
Christian Speckner 77f149eab9 Fix stepping after breakpoint. 2018-05-24 00:19:49 +02:00
Christian Speckner a14cf8d077 Refactoring: start debugger from dispatch loop. 2018-05-24 00:13:43 +02:00
thrust26 5da17e892a fixed "Path" spelling error (using German "Pfad" :) 2018-05-23 14:40:12 +02:00
thrust26 4c5493f120 Merge branch 'master' of https://github.com/stella-emu/stella 2018-05-23 14:36:13 +02:00
thrust26 bbfe2cb49b fixed crash when display directory dialogs on launcher mode 2018-05-23 14:35:49 +02:00
Christian Speckner ae0faaabfc Fix cycle counting in CPU. 2018-05-22 00:18:07 +02:00
Stephen Anthony ec1e65d683 Make Champ Games that use SaveKey use it by default. 2018-05-20 14:33:55 -02:30
Stephen Anthony 02dbbca861 Fixed bug with autodetecting SaveKey controller.
- The cycles were being reset to the current system cycles, when in the old
code they were not being updated at all (other than being normalized when the
old system cycles could be running backwards).
- This change restores behaviour to that in 5.0.2.
2018-05-20 14:33:44 -02:30
Stephen Anthony 2fd1cafc2d Fix [[nodiscard]] warning in VS (applies only to C++17 mode). 2018-05-18 22:56:16 -02:30
Stephen Anthony b8978aa76e Variables declared as uInt64 should be serialized as such. 2018-05-18 22:55:57 -02:30
Christian Speckner ed6eae6a67 Rerender only if there is actual change. 2018-05-17 22:56:07 +02:00
Christian Speckner 639b6af1e9 Fix missing audio reset. 2018-05-16 13:09:50 +02:00
thrust26 adbde4e4db preliminary audio dialog changes 2018-05-15 20:51:29 +02:00
Stephen Anthony cf8f76a0e1 Fix [[nodiscard]] warning in VS (applies only to C++17 mode). 2018-05-12 22:33:15 -02:30
Stephen Anthony dc77f5d5f1 Variables declared as uInt64 should be serialized as such. 2018-05-12 17:04:33 -02:30
Christian Speckner c3766021d8 Add a log message for audio buffer overflow messages. 2018-05-12 16:52:54 +02:00
Christian Speckner f01553bdc7 More audio queue tuning -> less lag. 2018-05-12 16:21:58 +02:00
Christian Speckner 7391c55f9e Documentation, minor optimization. 2018-05-12 13:32:31 +02:00
Stephen Anthony 4c7ad7a0b6 Replace 'new' calls with unique_ptr.
- @DirtHairy, you can revert this if you like, but unless there is some issue, I'd rather use smart pointers with auto-deallocation.
2018-05-11 21:26:22 -02:30
Stephen Anthony 741515a520 Fix minor compile warnings generated by clang:
- mostly change pointer -> 0 to use 'nullptr'
 - some commenting and formatting fixes
2018-05-11 21:01:40 -02:30
Stephen Anthony d624140829 Updated VS project for resampling work, and fixed minor compile error in
Windows.
2018-05-11 20:32:18 -02:30
Christian Speckner 33db8a8b03 Comments. 2018-05-12 00:44:31 +02:00
Christian Speckner ce2d650df4 Update XCode project. 2018-05-12 00:24:02 +02:00
Christian Speckner 0c67bff939 Tuning, TODO 2018-05-12 00:18:09 +02:00
Christian Speckner 2da0ffa2f5 Rework available sampling rates (44100, 44800, 96000), add resampling.quality parameter. 2018-05-12 00:15:29 +02:00
Christian Speckner 1b0fb381d0 Lanczos resampling. 2018-05-11 23:52:00 +02:00
Christian Speckner b329c7ff5f Switch to F32 samples, make volume scale more linear in sound.. 2018-05-10 23:54:52 +02:00
Stephen Anthony cea1c011be Updated Xcode project for resampler classes. 2018-05-08 20:34:46 -02:30
Stephen Anthony 2c38757faa Updated VS project file for resampler classes. 2018-05-08 20:17:48 -02:30
Christian Speckner 3bac41dd46 Factor out resampling. 2018-05-09 00:38:01 +02:00
Stephen Anthony c1679d6883 Fixed VS project file; recreated it from the one in master. 2018-05-08 20:00:10 -02:30
thrust26 1c10e590af fixed missing prefix for "thumb.trapfatal" 2018-05-08 21:29:29 +02:00
thrust26 efbc261128 fixed missed end tag 2018-05-08 16:05:01 +02:00
Christian Speckner ec83fdd158 Update XCode build 2018-05-07 00:06:53 +02:00
Christian Speckner 068dcad4a4 Remove hardcoded limit on sample rate. 2018-05-06 23:50:52 +02:00
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