Commit Graph

2949 Commits

Author SHA1 Message Date
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 5620c270bc Finally fixed the annoying warning when building under OSX.
It was referring to Objective-C categories vs. subclasses.
I'm really glad I don't have to know anything further about
Objective-C :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3202 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-12 21:28:30 +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 3c691a91ec Updated VS project file for new RiotRamWidget class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3200 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-12 18:12:15 +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 20251f6a9f Updated OSX prject file for new debugger class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3198 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-10 00:04:05 +00:00
stephena 70e40a10c9 Updating various files for 4.6.5 release, sometime this month.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3197 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-09 16:58:41 +00:00
stephena 4e1b4c95f9 Fixed incorrect bankswitch hotspots for 'MDM' scheme in the debugger.
Changed next version # to 4.6.5; 4.7 will include improved paddle
emulation, but it's not ready yet.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3196 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-09 16:54:39 +00:00
stephena cc7943610d Created a new class RiotRamWidget, which takes the place of the
old RamWidget.  Class RawWidget is now an abstract base class
to RiotRamWidget and CartRamWidget, allowing to share quite a lot
of code.  In the process, both classes now implement input from
the binary and decimal widgets, not just the DataGridWidget.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3195 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-07 23:12:00 +00:00
stephena 62fa17b7fa Fixed PNG library compile error on OSX (and possibly Windows).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3194 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-08-11 14:33:55 +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 3312ea5b70 Updated include PNG library to latest version.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3192 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-08-09 20:16:48 +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 237f0e5d35 The debugger CPU area now has editable decimal and binary fields for the
registers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3189 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-07-26 17:28:57 +00:00
stephena 36ef5cd112 Enable extra warnings for VS build.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3188 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-07-14 20:34:47 +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 4c8fb3c17d Added 'override' keyword to Windows and OSX-specific classes,
even though their respective compilers don't yet support detecting
errors with inconsistent override usage.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3184 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-07-11 00:12:19 +00:00
stephena 84b225206d Turn on more warnings in the OSX build. Unfortunately the latest
version of Xcode doesn't warn about 'override' issues, so adding
override to the codebase doesn't help compilation in OSX.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3183 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-07-10 23:40:23 +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 a9ba018403 Updated VS project file for unique_ptr class addition.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3176 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-15 00:02:42 +00:00
stephena ca36be7ed4 Fixes for the OSX build files for the new unique_ptr stuff.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3175 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-14 23:48:14 +00:00
stephena 9978baba3a A few more unique_ptr updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3174 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-14 20:48:06 +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 5ca03e2263 Use unique_ptr array in PNGLibrary comments method.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3172 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-14 15:19:10 +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 a39630aca4 Oops, forgot a PNG config file in the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3170 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-13 00:45:45 +00:00
stephena e9517a4d54 Updated libpng to latest stable release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3169 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-06-13 00:40:24 +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 1c9de2abbd Final changes for 4.6.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3162 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-04-22 22:19:43 +00:00
stephena 439325e911 Update version # for upcoming release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3160 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-04-22 15:09:43 +00:00
stephena 72ec5f2371 Finally fixed text-entry bug in the debugger. In the process, moved to
C++11 lambdas for enabling per-widget text filtering.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3159 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-04-22 15:02:17 +00:00
stephena 8232045971 Make configure script work with gcc 5+.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3158 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-04-22 14:11:11 +00:00
stephena 36229b4ee1 And so it begins (again); bumped version # for next release.
Now that there are no dirty updates, remove redundant calls to draw();
calling setDirty() is now sufficient to get the changes shown in the
next frame.  This is also slightly faster, since redrawing is done
only when necessary.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3156 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-03-21 20:00:00 +00:00
stephena 651204df32 Final updates for 4.6 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3154 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-03-21 00:16:30 +00:00
stephena 7c0fc50a2f Fixed sound corruption upon starting the app; we need to continuously
write 'silence' to the sound card until there is available data to use.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3152 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-03-17 17:45:08 +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 31e59f12dc Updated PNG library to latest release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3149 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-03-15 17:58:16 +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 6f194fcd76 DataGridWidget now supports keypad +/-.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3147 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-02-09 19:32:28 +00:00