Stephen Anthony
cbd30fad02
Fix final clang warnings in Thumbulator.
...
It ended up being much easier than I realized.
2018-09-22 22:58:57 -02:30
Stephen Anthony
f8f3805dae
Fix minor warning from cppcheck.
2018-09-20 22:00:32 -02:30
Stephen Anthony
1bb19a05ba
Restore const for Event class by using 'mutable' mutex.
2018-09-20 21:51:10 -02:30
thrust26
c038df6343
fixed #383
...
if globally enabled, disable game specific stereo and phosphor elements
changed global phosphor value label (Default -> Blend)
2018-09-20 10:20:12 +02:00
Christian Speckner
6d0614ef35
Guard Event.hxx against races.
2018-09-19 23:36:26 +02:00
thrust26
a6a762bbb4
reworked Stereo for all ROMs setting in AudioDialog
2018-09-19 22:24:25 +02:00
Christian Speckner
27956cff15
Fix switching between auto and manual ystart in GUI.
2018-09-17 22:19:33 +02:00
Stephen Anthony
ea31d4b464
Fix crash in BUS/CDF/CM schemes.
...
- bank initialization must happen in Cart::reset(), not the individual c'tors.
2018-09-17 09:38:23 -02:30
Stephen Anthony
56d9bdc163
Add autodetection for 32KB variant of CTY ROM.
2018-09-16 23:13:37 -02:30
Stephen Anthony
7982f7cb9b
Various updates to the 'CTY' scheme, all by SpiceWare:
...
- music support
- autodetection support
- creation of 60K ROMs
For the latter, I still need to see how we will distribute those ROMs, and get them added to the database.
2018-09-16 22:49:33 -02:30
Stephen Anthony
8f03a48f11
Partially restore a reverted commit.
...
- Since changing ystart/height no longer needs to call `TIA::frameReset()`, the method is no longer valid
- Remove the method, and all documentation that says it is necessary to call it
2018-09-16 21:44:17 -02:30
Christian Speckner
888556b124
Another pass at resolving ystart issues. Reverts 02b0c13a
and b9bbbe1
.
2018-09-17 00:23:06 +02:00
Stephen Anthony
31f6dba87d
'Cartridge.StartBank' ROM property is now used by the core.
2018-09-14 20:57:36 -02:30
Stephen Anthony
b9bbbe1381
Fix blank screen after exiting from GameInfoDialog.
2018-09-13 21:38:21 -02:30
Stephen Anthony
d18f11afa2
Remove Serializable::name() method, and all reference to it in state files.
...
- this both speeds up load/save of state files, and makes them smaller
- affects both on-disk files, and Time Machine functionality
2018-09-13 20:50:23 -02:30
Christian Speckner
524943354e
Remove unnecessary frame resets.
2018-09-14 00:34:21 +02:00
Christian Speckner
2f9fc4f525
Bug fixing, harcode min ystart to 0.
2018-09-13 23:23:49 +02:00
Stephen Anthony
5bc84bca52
Add 'Cartridge.StartBank' ROM property, to specify the startup bank for a ROM to use.
...
For now, this only modifies the properties database. Still TODO is have the app use the information.
2018-09-11 10:23:39 -02:30
Christian Speckner
e129391dbd
Fixes, properly handle TV format any ystart changes from GUI.
2018-09-09 23:30:20 +02:00
Christian Speckner
ab0e4d6bba
Properly handle TV and ystart autodetection during runtime.
2018-09-06 23:47:17 +02:00
Stephen Anthony
ce9b832f68
Improvements to logging for sound settings.
...
- Now shows all settings from AudioSettings (preset, resampler, etc)
- Only logs sound info when the settings have actually changed (similar to Framebuffer info)
2018-09-05 14:05:56 -02:30
Stephen Anthony
b4dc729559
Added 'Arkyology' prototype ROM to properties database.
2018-09-05 12:48:11 -02:30
Christian Speckner
28f8dcc312
Get rid of strlen_s and strnlen_s, don't drive audio if sound is disabled.
2018-09-01 23:12:52 +02:00
Stephen Anthony
fe0d29a795
Fix ZIP handling wrt what is a valid filename (take new extensions into account).
2018-08-31 23:29:19 -02:30
Stephen Anthony
dce16d6f7c
Make all Bankswitch types detectable with specific ROM filename extensions.
...
Use a map instead of linear search in Bankswitch class.
2018-08-31 22:04:31 -02:30
Stephen Anthony
09b3d980f3
Fixed 'stuck' notes when changing video modes.
...
This is most apparent in OSX, where toggling windowed/fullscreen mode can sometimes take up to one second,
and any sounds playing from the ROM become stuck until the operation completes.
Also present on other systems to some extent.
Sound is now muted until the operation is complete.
2018-08-31 20:52:56 -02:30
Stephen Anthony
404ab8ffcc
Minor optimization in settings file parsing; don't copy a few strings.
2018-08-31 16:32:12 -02:30
Stephen Anthony
6b76031234
Fix error in parsing settings file for 'empty' values.
2018-08-31 16:15:38 -02:30
Stephen Anthony
65d23b4a6e
Removed 'launcherexts' and associated LauncherFilterDialog.
...
Introduced 'launcherroms' argument, which specifies to show only ROMs or all files in the launcher.
This functionality is tied to a RMB context menu in the launcher; eventually we may add a checkbox to the UI for it.
2018-08-31 13:51:42 -02:30
Stephen Anthony
f098636965
Fairly large restructuring of the 'BSType' code
...
- class has been renamed to 'Bankswitch'
- it is now a proper (static) class with namespacing
'Bankswitch' now contains all logic for determing what a proper ROM filename is.
So some functions have moved from LauncherFilterDialog to here (that class will be removed soon).
In the process, implemented issue 261 (file extension determines BS type to use).
2018-08-31 09:18:35 -02:30
thrust26
3b00fe45cd
Revert "aspect ration now affects height instead of width"
...
This reverts commit 0b61a71e58
.
2018-08-29 16:39:18 +02:00
thrust26
0b61a71e58
aspect ration now affects height instead of width
...
fixes #368
2018-08-29 16:01:01 +02:00
thrust26
e9a6deee70
reversed aspect ratio settings for NTSC50, PAL60 and SECAM60
2018-08-29 15:28:24 +02:00
Stephen Anthony
fb07d250d9
Simplify AudioSettings class a little.
...
- Use only one c'tor, which fixes some warnings from Coverity
- Fix large compile times when AudioSettings class is changed
2018-08-29 09:10:55 -02:30
Stephen Anthony
6093bf8375
Fix signed/unsigned conversion warning in VS.
2018-08-28 22:32:56 -02:30
Stephen Anthony
46b07d14b5
Fixes for warnings from Coverity.
2018-08-28 22:13:02 -02:30
Stephen Anthony
0f8dc1f2bb
Yet more fixes for warnings from cppcheck.
2018-08-28 17:00:00 -02:30
Stephen Anthony
7e4dc350f0
More fixes for suggestions from cppcheck.
2018-08-28 16:19:50 -02:30
Stephen Anthony
558b071fbb
Some more fixes for warnings from cppcheck.
2018-08-28 14:21:01 -02:30
Stephen Anthony
e5fb010631
Allow sound sample rate/fragment size to change dynamically.
...
- Move sound debugging output to logging facilities
- This should fix issue #348 , but more testing is required
Bumped version # for beta release.
2018-08-28 11:01:52 -02:30
Stephen Anthony
13b9bbe5a4
More M6502 micro-optimizations.
2018-08-27 13:47:22 -02:30
Stephen Anthony
c901f282bb
A few micro-optimizations in the 6502 emulation (found by cppcheck).
2018-08-27 12:17:22 -02:30
Stephen Anthony
8c7488914d
Fix some warnings generated by cppcheck (a C++ linter).
2018-08-27 11:09:03 -02:30
Christian Speckner
eacfb41584
Remove debug code.
2018-08-26 11:14:18 +02:00
Stephen Anthony
2db48ae38b
Fixes #332 .
2018-08-24 10:12:34 -02:30
Stephen Anthony
2e2984864d
Add timer/callback functionality to OSystem.
...
Previously this was done by SDL_AddTimer, but the new approach is much better:
- it is proper C++ (using std::thread and lambdas)
- It is not tied to the SDL toolkit, which is C-based
Also, re-added logic to reset events ~0.5 seconds after starting ROM emulation; this resets 'hold' events
2018-08-23 11:48:24 -02:30
Stephen Anthony
12b18e5b71
Fix issue #363 ; too eager pruning in previous commit.
2018-08-22 10:17:53 -02:30
thrust26
21b8fa133f
dirty fix for #355
2018-08-22 11:10:45 +02:00
thrust26
858d6991ca
fixes reversed dev.settings
2018-08-22 09:19:07 +02:00
thrust26
5f07ad3cdf
more doc updates
2018-08-20 14:01:06 +02:00
thrust26
15e6e50293
fixed #356
2018-08-20 12:35:34 +02:00
thrust26
fb6c827470
added global stereo option to AudioDialog (TODO: use it)
...
removed '(*)' from AudioDialog (TODO: make everything immediate)
updated -help (this seems broken!)
2018-08-20 11:55:13 +02:00
Stephen Anthony
915e62f466
Fixed a few more warnings, and marked some code for later research.
2018-08-19 22:40:57 -02:30
Stephen Anthony
51b27340fd
Fix warnings detected by clang.
2018-08-19 16:27:59 -02:30
Stephen Anthony
e3bf1ffbd5
More updates to Visual Studio compiler settings:
...
- Increase warning level to 4, and fix a few new warnings
- Globally, all files are now explictly compiled in C++ mode
- For png and zlib code (that we didn't write), drop back to level 2
warnings and explicitly compile in C mode
2018-08-19 15:01:03 -02:30
Stephen Anthony
56437c38e6
Increased warning level in Visual Studio compiles.
...
Also fixed some new warnings that VS now finds.
2018-08-19 12:34:40 -02:30
Stephen Anthony
7ae6d84739
Completely remove ability to use a per-ROM properties file.
...
This 'feature' now seems unnecessary, and it complicates the code by having it.
2018-08-17 13:56:08 -02:30
Stephen Anthony
31acc92bbe
Fix crashes when changing toggling fullscreen/windowed mode.
...
- Only allow such changes when in emulation mode, or a few other common ones (launcher, debugger)
The idea is here that some dialogs have to be resized/repositioned when such a mode change occurs, and the UI core doesn't currently support that.
- Only render surfaces when they are visible (sounds logical enough, but the code didn't check for it).
2018-08-15 13:33:08 -02:30
thrust26
9ec6b0816d
fixed #351
2018-08-15 15:28:09 +02:00
thrust26
4bc3373b37
made UI theme change immediate
2018-08-12 23:01:43 +02:00
thrust26
1fe5cd2b3f
removed non implemented method
2018-08-12 22:48:35 +02:00
Christian Speckner
95867f91cd
Switch to SDL_OpenAudioDevice & friends, fix silence with very tight buffer
...
settings.
2018-08-10 00:46:39 +02:00
thrust26
efb998129b
fixes #342
2018-08-09 15:39:54 +02:00
Stephen Anthony
ae96406fd4
Fix #345 ; color-loss not correctly initialized.
2018-08-09 10:54:26 -02:30
thrust26
1571860dc0
fix #341
2018-08-09 14:55:46 +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
thrust26
f7d09c772d
Fixes #339
2018-08-08 09:28:03 +02:00
thrust26
f3927b94c4
Merge branch 'release/6.0' of https://github.com/stella-emu/stella into release/6.0
2018-08-07 09:37:42 +02:00
thrust26
89b0759da5
fix #338
2018-08-07 09:37:25 +02:00
Christian Speckner
337c13882e
Remove redundant code.
2018-08-06 23:45:28 +02:00
Christian Speckner
163b5ca999
Fix a regression in collision handling -> fixes Sky Skipper.
2018-08-06 23:25:33 +02:00
Stephen Anthony
78cb878c29
Fixed minor warning in Xcode.
...
Strange that VS only picked up the other instance of this issue, and neither gcc nor clang found either one.
2018-08-06 18:12:09 -02:30
Stephen Anthony
b68f72dd50
Fix minor warning in Visual Studio.
2018-08-06 18:02:12 -02:30
Stephen Anthony
2406b8ad0f
Use our own RNG instead of C-style rand() (fixes issue #336 ).
2018-08-06 14:28:48 -02:30
Stephen Anthony
d71b33918a
Slight rework of random number generator.
...
- break dependence on OSystem; source for seed could actually be anything (doesn't have to come from OSystem)
2018-08-06 14:18:58 -02:30
Christian Speckner
86a242a8cf
Fix spurious failures of debugger breakpoints.
2018-08-06 17:53:44 +02:00
Stephen Anthony
68eec27c5c
Make FilesystemNode class non-virtual.
...
- this class is never inherited, so it's pointless for it to have virtual methods
2018-08-06 11:14:57 -02:30
Christian Speckner
af5eea286c
Fix debugger start parameters:
...
* Pass parameters from DispatchResult to debugger
* Fix default trap type (= read)
* Remove fallout from branch merge
2018-08-06 09:31:13 +02:00
Stephen Anthony
f2f952f09b
Reworking of the FSNode classes, using smart pointers.
...
- For now, I simply use shared_ptr; long term, I will look into unique_ptr for more efficiency.
2018-08-05 22:32:11 -02:30
Christian Speckner
e07617b618
Merge branch 'release/5.1' into release/6.0
2018-08-05 17:54:22 +02:00
Christian Speckner
4dde01f2f1
Typo; fixes #331 .
2018-08-04 23:38:28 +02:00
thrust26
56979052f9
made GameInfoDialog.Console settings immediate
2018-08-04 12:39:55 +02:00
thrust26
d9a1d2b7e5
trying to fix #328
2018-08-02 22:44:27 +02:00
thrust26
a24e042d1e
changed "FPS" back into "fps"
2018-07-31 17:07:51 +02:00
Stephen Anthony
78d7e9c29a
Fix minor warnings in Xcode.
2018-07-30 22:07:30 -02:30
Christian Speckner
6da398deaa
Display Hz in console time.
2018-07-31 00:07:07 +02:00
Christian Speckner
81f216872d
Update XCode project, fps -> FPS
2018-07-30 23:50:52 +02:00
Christian Speckner
9aeb40fc32
Display speed in OSD without decimals.
2018-07-30 23:40:48 +02:00
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