Commit Graph

125 Commits

Author SHA1 Message Date
Stephen Anthony c80e2340ea Add mappings for increasing and decreasing current vidmode.
Map the R77 F13 key to the former.
Some refactoring of the mapping code in PKeyboardHandler and EventHandler.
Some refactoring of the VidMode handling in FrameBuffer.
Option 'tia.fsfill' is now used to select 4:3 vs. 16:9 mode in fullscreen.
2019-04-08 18:44:27 -02:30
Stephen Anthony d09b6329c9 Consolidate some constants into actual enumerations/namespaces.
- Certain parts of the code referred to int literals, when they should use named constants instead
- Different classes had enumerations for the same quantities; this is now fixed
- Basically, TIAConstants and FrameBufferConstants now contain all constants, and their relationship is clearly indicated (previously it wasn't as clear)
2019-03-10 15:19:30 -02:30
Stephen Anthony a5ca6b8ca5 Start of purging 'Display_Height' from the codebase.
- We've already removed it from the UI, now it's removed from consideration altogether
- For now, NTSC ROMS use 240, PAL 250; this will change when we get aspect ratio working
2019-03-09 16:27:33 -03:30
Stephen Anthony 275666b0af The annual copyright year update. 2019-01-01 11:35:51 -03:30
thrust26 4bc3373b37 made UI theme change immediate 2018-08-12 23:01:43 +02:00
Stephen Anthony 8298ad4d26 Fixed inconsistency in passing color data to parameters.
- Now uses 'ColorId' as the datatype; this is currently mapped to uInt32, but can change in the future if required
- Eliminates needless and annoying casts in various places; all colors are now 'ColorId' type
2018-08-08 13:09:10 -02:30
Christian Speckner 3a5572d3b9 Add measured FPS to OSD, squash a bunch of minor bugs. 2018-07-30 23:19:47 +02:00
Stephen Anthony e691853f0e First pass at fixing superfluous re-draws in the UI.
- This addresses issue 158, and reduces CPU usage to near 0% when no changes are happening
- This returns the code to the same performance levels as version 3.x.
2018-07-25 08:48:21 -02:30
Christian Speckner c270a45409 Merge branch 'feature/precise-audio' 2018-07-01 23:48:26 +02:00
Stephen Anthony e0cf1d1dd5 Fix crash in OpenBSD framebuffer/texture cleanup.
- It seems that textures must be destroyed *before* the renderer is destroyed
- This isn't mentioned anywhere in the SDL docs, and it works everywhere else, but in any event it is now fixed
2018-06-07 12:46:26 -02:30
Stephen Anthony cf34707e27 Use smart pointer to store static scanline data in FBSurface.
- in working on the OpenBSD crashing issue, I noticed that we can use a unique_ptr here
2018-06-06 17:57:15 -02:30
Christian Speckner a14cf8d077 Refactoring: start debugger from dispatch loop. 2018-05-24 00:13:43 +02:00
Christian Speckner ed6eae6a67 Rerender only if there is actual change. 2018-05-17 22:56:07 +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 c905b01fca Merge branch 'master' into feature/precise-audio 2018-04-25 22:49:00 +02:00
Stephen Anthony 698beaec8b Fixes for various issues reported by Coverity. 2018-03-24 16:58:08 -02:30
Christian Speckner 7d7ebb8d03 Merge branch 'master' into feature/precise-audio 2018-02-04 23:50:16 +01:00
thrust26 f4db8e4816 fixed zoom settings via hotkey (made persistent again) 2018-02-02 22:51:22 +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
Stephen Anthony 1055a4bd06 Minor cleanup of warnings in FrameBuffer class. 2018-01-20 20:51:46 -03:30
thrust26 b67b795642 larger font for frame stats 2018-01-20 20:49:48 -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
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
Stephen Anthony df119ba505 Minor cleanup of warnings in FrameBuffer class. 2018-01-19 18:32:11 -03:30
thrust26 98fcb51819 larger font for frame stats 2018-01-18 23:06:51 +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
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
thrust26 b22c292f3c developer/player settings added to frame stats overlay 2018-01-15 20:25:28 +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 7890a94144 Several large infrastructure changes for upcoming Time Machine stuff:
- renamed Rewinder and associated dialog to TimeMachine and friends
 - changed EventHandler state enum to stronger 'enum class' type (and associated changes to the codebase)
 - moved EventHandlerState into separate class, allowing a few files to not need to include EventHandler.hxx (reduce compile dependency)
 - plumbed EventHandlerState::TIMEMACHINE into the codebase; still TODO is activate it and add a usable dialog)
2017-12-20 21:56:22 -03:30
thrust26 19730fa183 third 'uipalette' scheme 'Light' added
modernized UI via 'FLAT_UI' preprocessor define added
2017-12-17 00:48:30 +01:00
thrust26 7d40d5b1f8 "Time Machine" name change 2017-12-15 18:10:40 +01:00
Stephen Anthony 434d2dfc83 Converted some raw enum to 'enum class' in FrameBufferConstants. 2017-12-14 21:29:45 -03:30
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
Christian Speckner 35ae38572c Clear FB before running autodetection. 2017-11-26 23:24:05 +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
Stephen Anthony 522018d636 More header file reorg/optimization. 2017-11-17 13:30:17 -03:30
Stephen Anthony a7f1764411 Second pass at optimizing header files, to eliminate cascaded compiles. 2017-11-16 13:31:20 -03:30
Christian Speckner be877f8503 Merge branch 'master' into refactoring/frame_manager 2017-10-15 20:28:27 +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
Christian Speckner 246b5e7596 Move frame manager to dedicated subdir, remove all external deps on it. 2017-07-27 00:33:39 +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 847e910d26 Added new darker colour for togglewidget background disabled bits. 2017-05-04 09:36:32 -02:30
Stephen Anthony 3e5df9c7bc Non-editable UI items in the debugger are now shown with a different background color. 2017-04-01 17:04:40 -02:30
Stephen Anthony bf1ff1aae0 Change YStart and Display widgets in GameInfoDialog to be sliders
instead of textboxes.  This allows to eliminate error checking,
since the widget will only allow sane values.

Added YStart/Display min/max variables to FrameManager, and
refactor for other parts of the codebase to use these variables.
2017-01-13 22:49:38 -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
stephena 65bb073968 Got rid of another d'tor. In this case, it was redundant anyway,
since when a vector is deleted it automatically calls clear on itself.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3271 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-31 03:57:08 +00:00