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
Specifically, the stack class now takes a lambda to apply to all elements it
contains, rather than allowing direct access to each element.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3245 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
This allows to remove assert statements (and instead use exceptions),
as well as fix a bug issued by Coverity.
Fix final bug reported by Coverity in ComboDialog class, where array
contents weren't being initialized. This isn't really a bug at all,
since the lambda takes care of initialization, but Coverity doesn't
support lambdas yet.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3238 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
code that was used for SDL 1.2, etc. It is now much easier to
understand and modify (but I *still* hate Objective-C).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3217 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
and fix a few warnings that gcc caught and clang missed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3210 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
bit of data loaded from the file.
Changed Serializer class to unique_ptr, eliminating d'tor.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3130 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
being compressed into one level. In the process, moved all ZIP-related
functionality from OSystem into FSNodeZIP, since it's the only thing
that actually uses it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3129 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
reads from $30 - $3F, whereas it was triggering on *all* TIA reads.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3124 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba