Commit Graph

487 Commits

Author SHA1 Message Date
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
Christian Speckner 6500ab0613 Compile thumbulator unconditionally. 2017-12-10 00:22:18 +01:00
thrust26 c57253c9e6 aligned team to Stella website 2017-12-09 12:08:31 +01:00
thrust26 a43e7f9d58 improved states interval factor calculation
a little code cleanup
2017-12-09 10:41:38 +01:00
Stephen Anthony e9a5198863 Reverted part of previous commit; rewind states now use 64-bit where appropriate.
Fixed some more minor errors found by clang.
2017-12-08 07:53:09 -03:30
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
thrust26 ec4f56960b HelpDialog and AboutDialog updated 2017-12-06 16:52:37 +01:00
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
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 aef15b44b4 minimal debugger and text dialog sizes increased
debugger doc updated and some links added
missing ellipsis added to RAM widget
2017-12-04 14:17:54 +01:00
thrust26 faf9294fd2 a very little fix here an there 2017-12-03 09:08:33 +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 247cac9233 Minor spelling fixes 2017-11-28 22:08:16 +01:00
thrust26 9ed688613c maximum framerate in Video Dialog set to 900 2017-11-26 20:01:55 +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 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 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
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 984ae0156e preparation for RewindManager parameters 2017-11-22 20:07:55 +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 8379b0af1a better debugger disassembly space utilization
changed developer dialog/debugger UI label
2017-11-21 10:57:50 +01:00
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
Christian Speckner 2f8ddb2f7a Fix build on clang. 2017-11-18 19:57:22 +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 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 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 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 39f839021e Header fixes take 3: cheat, common, debugger directories done. 2017-11-16 14:29:34 -03:30
Stephen Anthony a7f1764411 Second pass at optimizing header files, to eliminate cascaded compiles. 2017-11-16 13:31:20 -03: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 be877f8503 Merge branch 'master' into refactoring/frame_manager 2017-10-15 20:28:27 +02:00
thrust26 474c9941d5 minimal rewind button state refactoring 2017-10-13 16:01:30 +02:00
thrust26 44f7029573 formatting for hit traps and changed source addresses changed 2017-10-13 12:18:41 +02:00
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
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
Stephen Anthony bfb79fe289 Let dialogs use all available space in LauncherDialog (fixes #236). 2017-10-06 20:46:13 -02:30
thrust26 b17542d2bf Makes 'Cancel' default in RomAuditDialog too 2017-10-06 23:18:17 +02:00
Stephen Anthony 8fa5ad502a Minor spacing cleanup. 2017-10-05 20:58:39 -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 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 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
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 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 3ca6f5a9d3 Changed tab widget navigation to Windows and OSX standard Control-(Shift)-Tab 2017-10-02 21:12:24 +02:00
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 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
Christian Speckner 7965b84553 Merge branch 'master' into refactoring/frame_manager 2017-09-27 23:27:44 +02:00
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
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 24e55baa2c Expose 'threads' option through the Video Settings -> General UI. 2017-08-15 10:58:19 -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
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 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 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 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 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 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 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 bc1fc44f75 Make Video dialog defaults match those in Settings class. 2017-05-29 11:17:23 -02:30