Commit Graph

682 Commits

Author SHA1 Message Date
stephena 143b22baec Added 'CV+' bankswitching scheme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3253 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-23 17:58:00 +00:00
stephena b7cb83bffa Updated ROM properties for paddle games to properly use the MouseAxis
property for range information.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3251 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-22 22:10:55 +00:00
stephena a85debea63 Fixed bug in ROM launcher; hasConsole() would be true even when the console
is closed (since it's not deleted until the next console is created).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3249 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-18 16:03:22 +00:00
stephena e0676f2432 The properties database is now smarter, and automatically discards entries
if they are already present in the built-in data.  This eliminates a 'bug'
where entries were being saved to the external properties file that were
also present in the app itself.  The app still worked, but it bloated the
external file for no reason.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3248 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-16 00:13:52 +00:00
stephena a0536fb450 First pass at allowing a max range for paddle emulation when using
the mouse or digital input.  This will fix those ROMs that don't
use much of the range on a real paddle, and as such have a huge
deadzone in emulation.

For now, only the Paddle class is modified.  Still TODO is add the
ability to change this from the UI (per-ROM, obviously).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3247 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-30 23:57:54 +00:00
stephena 5ec561a191 Fixed the last remaining C++11 "= default" for d'tors.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3244 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-30 19:07:11 +00:00
stephena 2aec7bc1b1 Converted classes in src/emucore to properly use C++11 '= default'
for destructors.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3240 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-29 21:28:10 +00:00
stephena 8f2d3a6cbb Updated copyright to 2016, even though it's a few days early.
To anyone reading this, Merry (belated) Christmas and Happy New Year!


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3239 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-29 19:22:46 +00:00
stephena fd8eb1aa1d Fixed more Coverity-reported errors. We're now down to a 0.02 defect
rate (0.5 or so is the average for a codebase of this size)!


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3237 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-10 16:34:24 +00:00
stephena 336536745f More Coverity fixes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3236 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-09 17:08:52 +00:00
stephena 8b7043d74a More bugfixes as indicated by Coverity.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3235 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-06 18:12:17 +00:00
stephena 9e23bc3580 Some bugs indicated by running Stella through Coverity. Note that many
of these aren't actually bugs per-se, but are to follow good programming
practices.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3234 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-05 01:30:17 +00:00
stephena 47911eff21 Some cleanup of redundant spacing. Now that I'm free for basically the next month,
I'll be starting work on Stella again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3233 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-04 19:08:14 +00:00
stephena 3517259982 Fixed bug in reading paddle input from Stelladaptor; I was a little too
eager in code cleanup from 4.6.1.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3229 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-10-28 15:27:34 +00:00
stephena 23cfae3025 Fixed error in MDM scheme; an IF condition was always true.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3228 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-10-12 15:49:55 +00:00
stephena c4b94f008d Fixed MDM bankswitch bug; it was only looking for addresses below $C00,
and ignoring mirrored addresses.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3225 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-10-11 14:51:50 +00:00
stephena f5eca188ce And the process starts again.
Added shortcut key to toggle TV scanline jittering, and have it default
to off.  I'd really like to enable it again eventually, or perhaps use some
of the code in the case where scanline jumps are *really* large (since it
seems to emulate the output for every TV I've ever seen).

Bumped version #.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3221 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-29 21:14:12 +00:00
stephena ef5f1bad4d More clang warning cleanups.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3209 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-15 15:50:25 +00:00
stephena 75893a6a3e Fixed some more C 'old-style-cast' code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3208 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-15 12:39:07 +00:00
stephena ffc9ac65a7 A few more fixes wrt the recent pruning for Visual Studio.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3207 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-14 22:18:55 +00:00
stephena 2ccebc9720 Oops, a little too much pruning, detected by compiling in OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3206 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-14 21:44:24 +00:00
stephena d83d91570e More clang warnings fixed; these apply mostly to 'old-style-C' casts.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3205 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-14 21:33:50 +00:00
stephena 687b638437 Second pass at cleaning up warnings generated by -Weverything in clang.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3204 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-14 18:14:00 +00:00
stephena f539cef173 I decided to turn on '-Weverything' compiler flag in Clang++ to
see what errors are present in the code.  This is the first pass
in cleaning up the errors it found.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3203 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-13 23:23:12 +00:00
stephena 92fcba53a5 Fixed a few code warnings in the new jitter code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3201 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-12 18:51:35 +00:00
stephena a331fb228b Added emulation for frame 'jitter' based on inconsistent scanline
counts.  Thanks to Spiceware for the idea and implementation.

Tweaked 'MDM' autodetection; the identifying string can be in
either bank 0 or bank 1 (or both).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3199 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-11 22:46:13 +00:00
stephena 74b2a209e2 Cleaned up some code in Thumb ARM emulator, and clearly marked compiler
warnings that should eventually be fixed.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3193 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-08-09 21:19:10 +00:00
stephena 38dce5194e Some minor improvements, self-documentation, etc.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3191 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-08-09 18:07:04 +00:00
stephena f1a10c3143 Eliminated superfluous drawTIA() method, made it inline.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3187 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-07-13 17:33:38 +00:00
stephena e456406b69 Fixed OSX snapshot bug; the TIA image wasn't being completely drawn before
taking a snapshot.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3186 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-07-13 14:46:52 +00:00
stephena 05623c52eb Remove several BSPF defines that are obsolete.
Changed valid() method Serializer to an explicit bool() operator,
to function similar to C++ streams.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3185 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-07-11 22:03:12 +00:00
stephena 4792b534d5 Fairly large commit, but basically it is only enabling the 'override'
C++11 keyword.  This makes developing/maintaining class hierarchies
more manageable.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3182 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-07-10 18:59:03 +00:00
stephena 74cf5e6f5f Changed 'Swap' to 'Toggle' in the names of the Event class for toggling
certain other events.  A small change to be sure, but the name more
appropriately describes what the event does.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3181 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-29 11:41:22 +00:00
stephena 7350e8f6c1 Added mappable events for toggling TV color type and left/right A/B difficulty.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3180 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-28 22:32:36 +00:00
stephena 26e9f15b86 Changed 'hidecursor' to 'cursor', and allowed it to set cursor visibility
for UI and emulation modes separately.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3179 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-28 18:16:33 +00:00
stephena 8dbd5d7f48 Converted more new/delete pairs to unique_ptr. This actually made me notice
a memory leak where the Console was never being deleted.

For FSNode read, change 'uInt8[]' arrays to BytePtr, which is an alias to
a unique_ptr array.  Again, this enables automatic deletion when the object
goes out of scope.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3173 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-14 20:02:32 +00:00
stephena c7ef1607be Some code cleanups.
Added updated C++14 make_unique templates, which now allow to also
use unique_ptr for arrays.

Updated SoundSDL class to use unique_ptr, eliminating another new/delete
pair.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3171 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-13 23:58:37 +00:00
stephena c5819cae46 In my never-ending attempt to eliminate pointers whereever possible,
change all throws of 'const char*' to runtime_error.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3168 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-12 20:44:09 +00:00
stephena 99f88719e5 C++ streams can now use a 'string' filename; it no longer has to be 'const char*'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3167 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-12 17:37:58 +00:00
stephena a8a30a1746 Cleaned up I/O in a few places, using C++ streams where appropriate.
For those reading these logs, I hope to get back to Stella development soon.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3166 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-11 00:26:13 +00:00
stephena e9e3670134 Fixed shadowing of local variables.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3165 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-04-28 20:18:44 +00:00
stephena e7fb7318fb Bumped version #.
Introduce namespace to class MD5, so the method call is now MD5::hash()
instead of simply MD5().

Added C++11 '= delete' constructors to most classes, to more clearly
indicate the intent of the class.  Note that this isn't absolutely
necessary, but is considered good form.  I will be teaching a C++ class
over the summer using Stella for examples, so it makes sense to follow
the standard and the textbook recommendations :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3164 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-04-26 19:02:42 +00:00
stephena 5c23739f00 Snapshots now work in PAUSE mode.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3150 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-03-15 21:53:28 +00:00
stephena 6d8b115b34 Removed concept of single vs. double buffering, and simply update the frame
on every call to FrameBuffer::update().  This will the same CPU usage for TIA mode,
and a slight increase CPU usage for launcher and debugger modes.  The code to do
this was just too fragile, and not worth the extra effort.

This fixes several rendering issues, such as garbage in fullscreen mode in Linux
when using Intel GPU, triple-buffering issues in Windows, etc.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3148 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-03-15 17:36:46 +00:00
stephena 2549e4f4c1 Fixed error messages in state loading, and reverted some C++11 features
so that Stella is supported in GCC 4.8.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3144 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-02-06 16:34:01 +00:00
stephena ebfc207d3e Fixed bug in closing SerialPort explicitly; it takes care of closing itself.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3142 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-01-24 16:28:06 +00:00
stephena e1dae564e2 Forgot another ROM from RomHunter v10.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3141 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-01-01 22:32:00 +00:00
stephena b52c866a64 And so it begins again; bumped version #.
Added 'Reindeer Rescue' 2005 Holiday cart to properties database.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3140 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-01-01 21:43:37 +00:00
stephena c03bb5dc6b Added patch support to 'WD' scheme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-01-01 16:50:18 +00:00
stephena df5f3c1c5a Updated ROM properties database to RomHunter v/10.
Added a specific closeConsole method, since the test for hasConsole was returning
true in cases where it shouldn't have.

Fixed PERL PropSet saving so that properties are always saved in sorted order
(by MD5).  This isn't technically necessary, but it will eliminate huge changelogs
when only a small part of the file has changed.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3134 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-01-01 16:21:30 +00:00