Commit Graph

1571 Commits

Author SHA1 Message Date
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