Commit Graph

382 Commits

Author SHA1 Message Date
stephena 2832fbeccb Added versions of the debugger trap commands that trap on all mirrors,
not just the specified address.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3317 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-09-04 23:03:01 +00:00
stephena 883971985e Removed some redundant includes in various Cart classes.
Introduced Cartridge::initializeRAM() method, to eliminate duplicate
blocks of code in every bankswitch scheme that uses extra RAM.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3316 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-24 23:57:07 +00:00
stephena b0960a5fd2 Fixed what must have been a long-standing bug; typing the 'reset' command
in the debugger wasn't actually resetting the bankswitching, since it was
being locked.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3314 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-22 16:53:09 +00:00
stephena 087d382280 Added 3E+ bankswitching scheme by Thomas Jentzsch.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3311 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-21 21:37:06 +00:00
stephena 40cfd6a475 Cleaned up usage of 'using namespace ...'. I'm currently teaching that using
that approach is a bad idea (and using Stella as example code), so it doesn't
make sense to not do something as it's being taught; the correct way.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3308 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-05-24 16:55:45 +00:00
stephena 8dbd545433 After thinking about it a little, I wondered why we even need to wrap several
std:: functions into BSPF namespace at all.  So I removed them, and have the
calls map directly to the std:: versions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3304 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-03 00:35:00 +00:00
stephena eb56efc3d5 Convert BSPF C-style macros to C++ namespace equivalent.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3302 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-02 23:47:46 +00:00
stephena abf4a4a44c I was a little too eager with the 'constexpr'; it currently doesn't work on
enum types.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3300 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-02 21:27:10 +00:00
stephena dd96a80e7e Updated build requirement for Windows to Visual Studio 2015. This allowa to use 'constexpr', which this patch does for a few classes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3299 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-02 20:46:02 +00:00
stephena 3a5cdb2d5c Moved 'swallow backtick ket in debugger' logic out of PromptWidget and
into the parent dialog box (ie, the entire debugger window), since we
don't want to allow backtick to appear anywhere in the debugger, not
just the prompt.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3295 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-03-07 15:36:09 +00:00
stephena dae8205029 Cleaned up a few more warnings.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3292 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-27 22:18:30 +00:00
stephena b43267f0dc Oops, forgot to remove some debugging code that fails in Visual Studio.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3288 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-24 21:30:13 +00:00
stephena 24051e4ddf (Hopefully) fixed bug when entering/exiting the debugger, whereby the
"`" key (or equivalent) was being shown in the prompt widget.

Added method stubs for clipboard cut/copy/paste/select.  Actually
implementing them will come next.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3287 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-24 20:49:49 +00:00
stephena 755611a5c1 In my quest to remove all d'tors, converted many more raw pointers to
unique_ptr.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3258 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-23 22:56:16 +00:00
stephena ed766b5bb2 Cleanup some whitespace issues.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3254 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-01-23 18:16:09 +00:00
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 a79af3717e Some minor updates to fix the Windows build from the latest round of changes.
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
2015-12-30 20:26:56 +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 f279eac86f Updated C++11 "= default" for destructors in src/debugger classes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3242 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-29 22:39:08 +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 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 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 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 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 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 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 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 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 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 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 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 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
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 0afb189322 Updated copyright to 2015. Happy New Year to anyone reading these logs :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3131 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-01-01 03:49:32 +00:00
stephena 04b99e3503 Fixed some shadowed variable warnings detected by Xcode.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3111 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-20 22:59:43 +00:00
stephena f5ceb39149 Cleaned up the various methods for setting default mappings for the keyboard
and joysticks.  It's now easier to read/follow, and has less code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3110 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-19 21:32:19 +00:00
stephena 6c900cdec5 Some minor code cleanups, and converting 0 to nullptr.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3106 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-13 21:00:33 +00:00
stephena 31ca88d283 Changed CartWD hotspots from $30 - $3F of the cart RAM area to the TIA area (I really need
to learn to read the specs more closely).  Changed hotspot change to trigger 3 cycles after
initiated instead of 3 address changes.

Added CartWDWidget debugger class, to view/change cart-specific functionality from within
the debugger.

Still TODO is CartWD patching.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3105 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-13 19:45:18 +00:00
stephena c7fc207b13 Looks like I was a little to eager with the 'auto' keyword; it broke
some code in CartDebug.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3104 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-12 16:50:39 +00:00
stephena ca5f456cf9 Running in autodetect mode should not start the disassembly.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3102 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-24 22:09:06 +00:00
stephena c8400dcfe6 Fixed debugger 'reset' command help documentation.
Renamed 'Vlist' to 'VarList', since it's more descriptive.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3092 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-19 22:29:33 +00:00