Commit Graph

735 Commits

Author SHA1 Message Date
Stephen Anthony 524cec907a Updated Windows build to support SDL 2.0.8. 2018-03-24 14:47:18 -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 3ce71302b7 Minor updates and commenting for PhysicalJoystickHandler. 2018-03-18 15:58:41 -02:30
Stephen Anthony 7eab28b2ef Use smart pointer for joystick in PhysicalJoystickHandler. 2018-03-17 19:44:47 -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 5c1bd83904 Merge branch 'master' into feature/precise-audio 2018-02-12 23:32:03 +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
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 2bd0d05d44 Bumped version number for 5.1 release. 2018-02-04 18:37:35 -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 77f2c478a0 Fixed warnings from Xcode (some pretty big issues were caught here) 2018-02-03 20:44:46 -03:30
Stephen Anthony 1f1ced0f01 Bumped minimum state version. 2018-02-03 19:30:52 -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
Stephen Anthony 86941ad6af Fixed time machine dialog glitches when the state list is empty. 2018-01-30 19:50:29 -03:30
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 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
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 f87316bfdb Dynamically adjust fragment buffer size based on fragmen size and period. 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 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
Stephen Anthony 2c90aaa7c7 Timeline and buttons in TimeMachineDialog are now syncronized. 2018-01-27 19:34:26 -03:30
thrust26 a7308b4c0d fixed toned down dialogs 2018-01-26 20:13:22 +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
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 72ff2a40fa developer/player settings added to frame stats overlay 2018-01-20 20:11:54 -03:30
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
sa666666 5ea9925c3f A fix for the previous fix. 2018-01-17 13:22:49 -03:30
Stephen Anthony f7656cdcd4 Add 'override' to method, to eliminate warning in clang. 2018-01-16 20:58:35 -03:30
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 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
thrust26 cf926fdf07 UI partially working now (TODO: timebar) 2017-12-30 21:19:55 +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 93dcc9807d Integrate 'TIATypes' into 'TIAConstants'; they serve the same purpose. 2017-12-22 23:47:07 -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
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 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 0385dd4b01 added (disabled) SDL renderer information code 2017-12-19 14:46:40 +01:00
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 7d40d5b1f8 "Time Machine" name change 2017-12-15 18:10:40 +01:00
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
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
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
Stephen Anthony 76b3ff02b3 Fixed various warnings in code.
- removed unused variables
- in RewindManager, convert cycles to Int32 rather than Int64; although
they are defined as 64-bit from the TIA, we only care about differences
here, and the difference will never be larger than a 32-bit can hold.
2017-12-07 21:27:31 -03:30
thrust26 b35a9ef946 added that rewind toggle updates settings too 2017-12-06 19:49:03 +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
Christian Speckner e88751638b Gut current audio code. 2017-12-01 23:17:16 +01:00
thrust26 30cb1fe14d RewindManager fix for ROM startup rewind
-bankrandom support for E7(8K) added
2017-11-28 23:20:06 +01:00
Christian Speckner 35ae38572c Clear FB before running autodetection. 2017-11-26 23:24:05 +01:00
thrust26 5445dc6019 Fixes for setting rewind mode 2017-11-25 18:14:32 +01:00
thrust26 e18474a5e9 frame stats added to Developer Setting ("dev.stats" now) 2017-11-23 11:35:28 +01:00
Stephen Anthony 4228093638 Final header changes, and bumped version #. 2017-11-20 21:39:06 -03:30
Stephen Anthony 522018d636 More header file reorg/optimization. 2017-11-17 13:30:17 -03:30
Stephen Anthony 39f839021e Header fixes take 3: cheat, common, debugger directories done. 2017-11-16 14:29:34 -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
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 0dddb93fb6 rewind/unwind command output improved 2017-11-13 16:02:15 +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 e64e0ea844 Fix compile errors when certain options are disabled by 'configure'. 2017-10-19 22:14:17 -02:30
Christian Speckner 1338b8d0d0 Fix spurious jitter in ROMs with continously changing frame height (ghost!). 2017-10-17 00:25:24 +02:00
Stephen Anthony 5317c86f23 State files are no longer valid after the frame-manager refactoring. 2017-10-15 17:58:34 -02:30
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 cdb2e18324 save state handling for entering and leaving the debugger modified. 2017-10-13 15:29:20 +02:00
thrust26 3045a0ddf7 unwind logic started, TODO: adapt RewindManager 2017-10-12 17:43:41 +02:00
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
Stephen Anthony be48e643e6 Second pass at cleanups from increased warning level. 2017-10-11 18:18:07 -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
thrust26 20ff2163ca comment to BSPF::matches() added
some compiler warnings fixed
2017-10-10 15:29:14 +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
Stephen Anthony 63ad275b9d Ported RewindManager to use LinkedObjectPool class. 2017-10-09 18:11:15 -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 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
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
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 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 823c693a9e Final updates for recent 64-bit cycles refactoring. 2017-09-08 18:52:03 -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 eafe102daa Refactor StateManager and RewindManager for eventual use outside debugger. 2017-09-03 23:02:15 -02:30
Stephen Anthony 11d659e5cc Bumped version number. 2017-08-20 21:32:09 -02:30
Stephen Anthony ab99610950 Bumped version number for 5.0.2 release. 2017-08-20 15:01:39 -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 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 025a1a7918 Minor refactoring, slight speedup of passing data in sound code. 2017-08-02 19:21:36 -02:30
Stephen Anthony ace146fe52 Introduce another version of BSPF::clamp. 2017-08-02 15:26: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
Stephen Anthony 00afc8ea4f Final updates for 5.0.1 release. 2017-07-23 12:33:16 -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
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 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 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 087fccd29f Updated OSX project file for recent class additions.
Eliminated some dead code.
2017-07-03 19:16:14 -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 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
Stephen Anthony 705d42edd8 Updated Visual Studio project file for Blargg code changes. 2017-06-17 20:40:11 -02:30
Stephen Anthony 0f2df7e87b Fairly large reorganization of the Blargg NTSC TV effects code:
- converted many pointers to references
  - merged code from several files into one class
  - broke up some methods into more managable chunks

This will allow it to be easy to add the phosphor code during
NTSC TV emulation.
2017-06-17 20:08:36 -02:30
Stephen Anthony 861778f627 Fixed minor datatype difference in Blargg filtering. 2017-06-11 18:48:15 -02:30
Stephen Anthony 4a2e4b666c Started cleaning up Blargg code:
- Converted some stuff to C++
  - PAL colour-loss now works with Blargg enabled, but not yet for phosphor mode
2017-06-11 17:01:40 -02:30
Stephen Anthony 44ead7b926 Updated std::map to use emplace instead of insert (optimization). 2017-06-09 14:50:11 -02:30
Stephen Anthony 6f16ee9c0b Bumped version # for another pre-release. 2017-05-29 16:30:42 -02:30
Stephen Anthony 47aa5d4e5f Bumped version # for another pre-release. 2017-05-28 19:56:48 -02:30
Stephen Anthony 3ad77117ec Ignore annoying warning in Visual Studio that I know is actually valid code. 2017-05-27 14:23:47 -02:30
Philip James 048da2f6dd Fixed compile when --disable-sound is passed to configure 2017-05-18 09:13:10 -02:30
Christian Speckner b2c8c3ff81 DelayQueue tuning:
* Remove stringstream from DelayQueueMember::name
    * Use a bit mask instead of modulo in DelayQueue
2017-05-16 01:26:07 +02:00
Philip James f9368c681a Cleaned up a few places that still used SDL types and replaced them with BSPF types 2017-05-15 07:55:25 -02:30
Stephen Anthony 684c227381 Further fixes for ppc64le and SDL2. 2017-05-03 21:26:41 -02:30
Stephen Anthony 5b13265772 Bump version # for next pre-release. 2017-05-03 20:09:41 -02:30
Stephen Anthony 38deb5b1cf Potential fix for compile failure on ppc64le / SDL2. 2017-04-20 15:21:55 -02:30
Stephen Anthony 9736bdd3e8 Added 'palette' debugger prompt command, which shows a colour swatch
of the currently active TIA palette.
2017-04-06 17:54:41 -02:30
Stephen Anthony 2e4849411b Bumped version for next test release. 2017-03-27 16:30:34 -02:30
Darrell Spice, Jr 6227186feb Preliminary support for BUS and CDF
Preliminary support for new Harmony/Melody drivers BUS and CDF.  Work remains for the 3-Voice Audio, Digital Sample playback, and some additional revisions to the debugger widgets.
2017-03-23 21:25:33 -05:00
Stephen Anthony ebe50a1eca Updated version to pre5. 2017-03-04 16:09:38 -03:30
Stephen Anthony 6a5b8adc06 Forgot to include updated release info for tagged release. 2017-01-15 11:54:36 -03:30
Stephen Anthony abb7097cb7 Removed $Id$ stuff from codebase, since it's Subversion-specific.
Whitespace cleanup and update copyright to 2017.
2016-12-29 20:30:30 -03:30
Christian Speckner 17c0007c51 Bump version to 5.0.0-pre3. 2016-12-18 23:35:45 +01:00
Christian Speckner e742686f90 Bump to 5.0.0-pre2 . 2016-12-14 00:40:36 +01:00
Christian Speckner 3287cd06fc Bump version to 5.0.0-pre1 . 2016-12-07 21:48:09 +01:00
Christian Speckner 4fd2c71510 Merge remote-tracking branch 'remotes/upstream/git-svn' 2016-11-26 14:48:40 +01:00
stephena e43e56f8ab Updated version for 4.7.3 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3320 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-11-21 19:21:25 +00:00
Christian Speckner a99a4e1efd Stub implementation of new core. 2016-11-08 01:26:57 +01:00
Christian Speckner c642de2671 Remove unnecessary dependencies on TIA, namespace default core, remove friends. 2016-10-30 20:29:41 +01:00
stephena 883971985e Removed some redundant includes in various Cart classes.
Introduced Cartridge::initializeRAM() method, to eliminate duplicate
blocks of code in every bankswitch scheme that uses extra RAM.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3316 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-24 23:57:07 +00:00
stephena 087d382280 Added 3E+ bankswitching scheme by Thomas Jentzsch.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3311 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-21 21:37:06 +00:00
stephena 1ecfee71e7 Reverted new TIA sound code until it is more mature. There are other
improvements in the pipeline waiting to be done, and are being delayed
by the sound stuff.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3310 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-18 18:44:57 +00:00
stephena 40cfd6a475 Cleaned up usage of 'using namespace ...'. I'm currently teaching that using
that approach is a bad idea (and using Stella as example code), so it doesn't
make sense to not do something as it's being taught; the correct way.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3308 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-05-24 16:55:45 +00:00
stephena 81e9480100 OK, this is the first pass at adding the new TIA sound emulation
core to Stella, as outlined in a thread on AtariAge.  It's currently
not working 100% due to timing issues with the TIA class.

Expect breakage over the next few months, as this code and the TIA
code in general will be borked from time to time.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3306 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-03 17:15:19 +00:00
stephena c0095ca59a Last commit for bspf.hxx; cleaned up the formatting.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3305 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-03 01:22:13 +00:00
stephena 8dbd545433 After thinking about it a little, I wondered why we even need to wrap several
std:: functions into BSPF namespace at all.  So I removed them, and have the
calls map directly to the std:: versions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3304 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-03 00:35:00 +00:00
stephena 91e3afb3bb Updated bspf.hxx for Windows build.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3303 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-03 00:24:24 +00:00
stephena eb56efc3d5 Convert BSPF C-style macros to C++ namespace equivalent.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3302 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-02 23:47:46 +00:00
stephena f431e3e3a5 A few more constexpr additions, and removal of redundant comments.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3301 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-02 22:52:29 +00:00
stephena 7903c52406 Documentation updates for 4.7.2 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3297 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-03-25 20:51:28 +00:00
stephena f3fce85633 Re-added CTY scheme to the list of selectable bankswitch schemes,
and fixed some minor warnings generated from GCC 6.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3294 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-03-05 18:35:25 +00:00
stephena 1e56f18b7e Fixed annoying warning about left-shifting negative values.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3285 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-18 00:38:21 +00:00
stephena 1b223368e6 Updated UI to be able to change TV jitter effect and recovery time.
Updated various files for 4.7.1 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3279 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-13 01:21:28 +00:00
stephena a35c66e806 Fixed bug occurring when more than 2 controllers had the same name; information
was being saved about only two of them.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3273 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-06 21:06:23 +00:00
stephena 6dd12ef088 Got rid of nasty c-strings and with it the EventHandler d'tor.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3270 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-31 03:42:23 +00:00
stephena bcda343aee And so it begins again ...
Updated properties database to RomHunter v11.  I would have done this in the
last release, but nobody told me that v11 had been released.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3267 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-29 19:36:12 +00:00
stephena 86c7b229f0 Final commit for 4.7 release, updating docs and some minor last-minute
code cleanup.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3263 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-25 20:49:21 +00:00
stephena dbd56ca03d Converted raw pointers to unique_ptr in PNGLibrary class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3259 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-24 17:42:44 +00:00
stephena ed766b5bb2 Cleanup some whitespace issues.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3254 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-23 18:16:09 +00:00
stephena b9d71634a7 Added ability to specify MouseAxis range from the UI, and send it to
the Paddles class to be actually used.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3250 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-18 18:33:45 +00:00
stephena a79af3717e Some minor updates to fix the Windows build from the latest round of changes.
Specifically, the stack class now takes a lambda to apply to all elements it
contains, rather than allowing direct access to each element.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3245 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-30 20:26:56 +00:00
stephena ac98c97bb5 Enabled C++11 "= default" for destructors in the src/cheat and src/common
classes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3241 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-29 21:41:53 +00:00
stephena 8f2d3a6cbb Updated copyright to 2016, even though it's a few days early.
To anyone reading this, Merry (belated) Christmas and Happy New Year!


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3239 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-29 19:22:46 +00:00
stephena a7f4b76b3b Modified Stack class to use std::array instead of a raw array pointer.
This allows to remove assert statements (and instead use exceptions),
as well as fix a bug issued by Coverity.

Fix final bug reported by Coverity in ComboDialog class, where array
contents weren't being initialized.  This isn't really a bug at all,
since the lambda takes care of initialization, but Coverity doesn't
support lambdas yet.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3238 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-11 15:24:29 +00:00
stephena fd8eb1aa1d Fixed more Coverity-reported errors. We're now down to a 0.02 defect
rate (0.5 or so is the average for a codebase of this size)!


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3237 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-10 16:34:24 +00:00
stephena 336536745f More Coverity fixes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3236 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-09 17:08:52 +00:00
stephena 8b7043d74a More bugfixes as indicated by Coverity.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3235 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-06 18:12:17 +00:00
stephena 9e23bc3580 Some bugs indicated by running Stella through Coverity. Note that many
of these aren't actually bugs per-se, but are to follow good programming
practices.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3234 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-05 01:30:17 +00:00
stephena 47911eff21 Some cleanup of redundant spacing. Now that I'm free for basically the next month,
I'll be starting work on Stella again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3233 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-04 19:08:14 +00:00
stephena bfdaeadd55 Updated various files for next point release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3231 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-10-28 19:52:12 +00:00
stephena 23cfae3025 Fixed error in MDM scheme; an IF condition was always true.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3228 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-10-12 15:49:55 +00:00
stephena d36a3ce44b Updated files for 4.6.6 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3226 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-10-11 15:19:16 +00:00
stephena f5eca188ce And the process starts again.
Added shortcut key to toggle TV scanline jittering, and have it default
to off.  I'd really like to enable it again eventually, or perhaps use some
of the code in the case where scanline jumps are *really* large (since it
seems to emulate the output for every TV I've ever seen).

Bumped version #.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3221 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-29 21:14:12 +00:00
stephena f367b3a9a6 Final commit for 4.6.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3219 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-25 23:08:08 +00:00
stephena ef5f1bad4d More clang warning cleanups.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3209 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-15 15:50:25 +00:00