Christian Speckner
3a5572d3b9
Add measured FPS to OSD, squash a bunch of minor bugs.
2018-07-30 23:19:47 +02:00
Christian Speckner
89a6cb11d1
Remove busy waiting.
2018-07-26 20:55: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
Stephen Anthony
949964bdf6
Oops, forgot something in the last commit; do not include header files twice.
2018-07-13 12:35:40 -02:30
Stephen Anthony
c2bfeb5799
Fix compile failure when debugger support is disabled.
2018-07-13 12:31:37 -02:30
Stephen Anthony
1a97c5bc93
Minor updates to Xcode project.
...
Changed uInt32 to uInt64 in several places, standardizing on uInt64 for cycle-related variables.
2018-07-01 23:23:11 -02:30
Stephen Anthony
4329eb5c37
Add missing file in VS project, and fix minor compile warnings.
2018-07-01 21:43:22 -02:30
Stephen Anthony
d8b4228ead
Fixes for minor compile warnings in clang 6 and gcc 8.
...
Sorry that this is all I've been able to contribute for the past few weeks :(
2018-07-01 21:15:15 -02:30
Christian Speckner
258fc9c106
Add missing files, fix XCode build.
2018-07-02 01:06:46 +02:00
Christian Speckner
f728a32731
More timing improvements.
2018-07-02 00:58:32 +02:00
Christian Speckner
621e0d9d79
Compile fix, more accurate timing.
2018-07-02 00:23:07 +02:00
Christian Speckner
c270a45409
Merge branch 'feature/precise-audio'
2018-07-01 23:48:26 +02:00
Christian Speckner
2b23c81126
Support variable emulation speed.
2018-06-27 23:12:50 +02:00
Christian Speckner
5656051aae
Tie in UI.
2018-06-25 00:30:52 +02:00
Christian Speckner
47bbdb679e
Remove unnecessary code, don't spam if audio is disabled.
2018-06-24 22:48:28 +02:00
Christian Speckner
176507cb46
Fix memory corruption on console reset.
2018-06-23 01:18:35 +02:00
Christian Speckner
ef5261689a
Major audio settings overhaul.
2018-06-23 00:58:28 +02:00
Christian Speckner
d127865dee
Remove a leftover from refactoring.
2018-06-19 21:37:18 +02:00
Stephen Anthony
963905759e
Controller/Genesis/Booster cleanup.
...
- Made BoosterGrip set defaults for analog pins, just like Genesis
- Removed superfluous call to update an unchangeable pin in Genesis
- Renamed Controller resistance constants to indicate that they are actually constants
2018-06-12 19:07:31 -02:30
thrust26
60519dbc6a
minor fix for Booster.cxx
...
code cleanup in Genesis.cxx
2018-06-12 20:38:48 +02:00
thrust26
a9cd833975
fixes #317
2018-06-12 20:11:29 +02:00
thrust26
337375a2b2
Merge branch 'master' of https://github.com/stella-emu/stella
2018-06-10 15:10:17 +02:00
thrust26
93e42bc15f
redefined Stella's PAL color palette
2018-06-10 15:10:04 +02:00
Christian Speckner
0fbd875783
Documentation.
2018-06-09 23:16:59 +02:00
Christian Speckner
8781889a7f
Documentation, cleaup, fix race in frame stats.
2018-06-09 00:31:20 +02:00
Stephen Anthony
6cb9efac28
Updated OSX project file for EmulationWorker class.
...
Fixed minor compile warning, and made a method const.
2018-06-07 19:56:36 -02:30
Christian Speckner
8edc597189
Hook and fix up EmulationWorker -> threading works, pick'n'pile is happy.
2018-06-07 23:38:14 +02:00
Christian Speckner
ea94f5e795
Scheduling fixes.
2018-06-07 21:02:08 +02:00
Christian Speckner
d8732c9378
Uups, fix evident error.
2018-06-07 20:59:15 +02:00
Christian Speckner
773a0cf906
Cleanup.
2018-06-07 20:55:33 +02:00
Christian Speckner
afb1e1d1e1
Emulation worker. Currently untested and disconnected.
2018-06-07 20:54:30 +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
thrust26
a3955553b8
added missing auto detection for manual selected display format "Auto-detect" (50Hz ROM after 60Hz formats)
2018-06-03 11:39:42 +02:00
thrust26
f37651a46d
fixed missing ConsoleInfo.DisplayFormat update
2018-06-02 17:18:10 +02:00
Stephen Anthony
1eee879e29
Make sure onscreen messages are shown, even when a console doesn't exist.
2018-05-27 16:41:42 -02:30
Stephen Anthony
cc4bd29a03
Fix minor warning (nullptr is the proper C++ constant).
2018-05-27 16:17:12 -02:30
thrust26
f726ad0206
fix #314
2018-05-27 14:31:02 +02:00
Christian Speckner
a5ce457b72
Implement triple buffering in TIA.
2018-05-27 00:26:36 +02:00
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
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
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
dc77f5d5f1
Variables declared as uInt64 should be serialized as such.
2018-05-12 17:04:33 -02:30
Christian Speckner
f01553bdc7
More audio queue tuning -> less lag.
2018-05-12 16:21:58 +02:00
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
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
3bac41dd46
Factor out resampling.
2018-05-09 00:38:01 +02:00
thrust26
1c10e590af
fixed missing prefix for "thumb.trapfatal"
2018-05-08 21:29:29 +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
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
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
0cde1ec4b9
Minor refactoring with Controller::isAnalog() usage.
2018-03-18 16:13:28 -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
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
Christian Speckner
fbbfa222a0
Fix a detail in audio block simulation -> doctor sounds correct
2018-02-13 23:08:20 +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
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
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
Christian Speckner
ba549e1d8a
Improve PF collision handling during hblank.
2018-02-04 23:18:30 +01:00
thrust26
3ab2ddb870
fixed EventHandler logic
2018-02-04 21:00:10 +01:00
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
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
97a0638845
Added (fixed) tickmark intervals to SliderWidget
2018-02-01 18:21:57 +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
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