Commit Graph

1275 Commits

Author SHA1 Message Date
stephena abd4c9efa8 ZIP files now show nested files and directories instead of everything
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
2015-01-01 02:05:28 +00:00
stephena b729a8013f Updated ROM database yet again for WD ROM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3128 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-01-01 02:00:08 +00:00
stephena 14f2779763 Updated ROM properties for PP ROM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3127 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-30 15:36:52 +00:00
stephena 22abe68097 Updated ROM database, fixing ROM info from the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3126 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-29 22:36:54 +00:00
stephena d7c7be76d9 Finalized 'WD' scheme, and added ROM properties entry for associated ROM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3125 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-29 22:26:20 +00:00
stephena 3da47efe59 Fixed bug in 'WD' scheme; bankswitching is only supposed to trigger on
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
2014-12-29 20:17:35 +00:00
stephena 1a62c3a424 Updated included PNG library to latest release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3123 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-29 17:44:01 +00:00
stephena 1460947005 Move ZipHandler from OSystem directly into FSNodeZip class, since it's the
only class that uses it.  This is in preparation for improvements to ZIP
file handling.

Use emplace_back instead of push_back in several places, as it's faster.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3121 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-26 17:19:36 +00:00
stephena 4642183745 Expose 'ctrlcombo' through the UI.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3120 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-24 18:49:26 +00:00
stephena 7f321a9628 The 'listdelay' option now allows 0, meaning to completely disable list-skipping.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3119 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-24 18:17:00 +00:00
stephena 7490b7db2a Updated OSX project file for JoystickDialog class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3118 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-24 03:50:42 +00:00
stephena da525a4072 Updated Visual Studio project file for JoystickDialog class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3117 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-24 00:15:29 +00:00
stephena 7be62c80bc Fixed graphical bug in StringListWidget when removing the last item
it contains; it wasn't being redrawn until clicking the widget.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3116 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-24 00:03:18 +00:00
stephena 233fd75522 Added dialog showing internal joystick database, with ability to
completely remove (currently unplugged) sticks from it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3115 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-23 00:44:09 +00:00
stephena 3b02c309c1 Fixed bug in adding multiple joysticks with the same name, and
bumped version # for next beta test.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3114 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-21 16:47:50 +00:00
stephena 2e7bf1dffa Bumped version # for beta test.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3113 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-21 01:27:48 +00:00
stephena 7fee57808c Dynamic joystick add/remove/mapping is now working again. Or at least
it is on all my test systems with 4 different controllers.  We still
need bugtesters for this ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3112 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-21 00:42:52 +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 b0e27be2e3 Replaced a few macros with lambdas.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3109 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-13 23:00:50 +00:00
stephena d4a8bce6a4 Updated OSX project file for CartWDWidget class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3108 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-13 21:26:37 +00:00
stephena e0c8c9bb60 Updated Visual Studio project file for CartWDWidget class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3107 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-12-13 21:17:51 +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 068f07d919 A few optimizations, and removal of some dead code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3101 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-23 18:53:11 +00:00
stephena a95c81ad80 Updated OSX project file for 'WD' scheme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3100 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-22 00:07:31 +00:00
stephena 763143544b Updated Visual Studio project for new 'WD' scheme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3099 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-21 23:54:41 +00:00
stephena b1609e05eb We can't have simply 'Experimental' in the cart list; there needs to be
something else to differentiate them.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3098 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-21 23:41:21 +00:00
stephena 2f82e32fe5 Renamed experimental bankswitch scheme to WD.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3097 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-21 23:37:21 +00:00
stephena fdc54072f4 Second pass at the new experimental scheme; it's a little closer now.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3096 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-21 23:01:06 +00:00
stephena 10fbcdc00c First pass at implementing a new experimental scheme for a previously unreleased ROM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3095 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-21 15:53:51 +00:00
stephena fb4332a0c7 Catch very early fatal warning from SDL when it can't even initialize itself.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3094 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-20 14:20:03 +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
stephena 2611b03a8f Non-const iterators seem to be needed for some versions of gcc.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3091 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-19 15:41:49 +00:00
stephena 37d9c6c99f Converted from C-style 'typedef' to C++ 'using' where appropriate.
I find the newer syntax more readable, since it acts exactly like
an assignment statement.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3088 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-19 12:10:45 +00:00
stephena 0d5ae3acf5 Added ability to save continuous snapshots per frame to Shift-Alt-s.
Eventually this may lead to proper movie output.  Thanks to SvOlli
for the code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3087 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-19 00:03:11 +00:00
stephena 30c171325d Updated Xcode build file for version 6.1.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3086 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 21:37:05 +00:00
stephena cf10f4c24f Now that we're using C++11 and cstdint is standard, we no longer need to
worry about inttypes.h and associated defines.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3085 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 20:57:15 +00:00
stephena 61aa0bb4f4 Visual Studio needs std::mem_fn in association with std::function.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3084 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 20:33:56 +00:00
stephena 3a04afcf96 Use BSPF-defined datatypes where appropriate.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3083 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 14:17:19 +00:00
stephena d5a470cbcc Debugger reset command now does a full system reset.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3082 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 12:47:33 +00:00
stephena 086658799d It looks like I can use std::function in expressions after all (keeping
in mind that YACC stuff deals strictly in pointers, and can't be changed).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3081 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 01:50:19 +00:00
stephena f0539ae7e1 Cleaned up function calling from expressions for various debugger subsystems.
I'd hoped to use std::function, but I don't want to dive any further into the
arcane YACC syntax.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3080 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 01:36:44 +00:00
stephena 021e0caa55 Changed to std::function in DebuggerParser.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3079 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 00:08:23 +00:00
stephena a6eded9c65 Cleaned up cheat classes, replacing pointers with smart_ptr.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3078 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-16 21:08:21 +00:00
stephena 2707e4e4e0 Updated OSX project file for class removal.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3077 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-16 17:22:56 +00:00
stephena f12732042a Updated Visual Studio for recent class removal.
Removed constexpr, since VC++ 2013 doesn't support it yet.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3076 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-16 16:50:46 +00:00
stephena 29fe39dd99 Made M6502 own all breakpoint/trap info instead of sharing pointers to
it with the debugger (this eliminates more new's and empties another d'tor.

Re-wrote PackedBitArray to use a bitset instead of home-made code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3075 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-16 16:13:58 +00:00
stephena c997fc3001 Converted M6502 class to use unique_ptr Expressions, and removed some dead code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3074 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-16 00:28:39 +00:00
stephena 526fbed5e6 Some reorganization of debugger Expression classes, and using unique_ptr.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3073 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-15 23:10:58 +00:00
stephena 690b681fe7 Convert FrameBuffer/FBSurface to use shared_ptr instead of raw pointers.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3072 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-15 18:29:13 +00:00
stephena 4544f59b53 Replaced #define'd macros with lambdas where possible. Did I mention
I also love lambdas?

Minor cleanups to other parts of the code (missing virtual, cleanup
d'tors, move methods from public to private, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3071 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-10 23:35:24 +00:00
stephena 49eadb7463 More conversions from normal for to range-based for. Yes, I really love
range-based for that much.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3070 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-10 21:59:56 +00:00
stephena e352b3a6bb Updated PNG library to latest version
Decided that the next version will be 4.5, since it requires new compilers
and, in the OSX case, a newer version of the OS.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3069 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-10 20:27:29 +00:00
stephena b863b55594 Some more optimizations and small code cleanups.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3066 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-10 16:13:28 +00:00
stephena 1d1851dc3c Updated OSX project file for class rearrangement.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3065 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-10 01:33:48 +00:00
stephena 218e153793 Updated Visual Studio project file for recent class rearrangement.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3064 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-09 22:23:11 +00:00
stephena 4c9e139fcc Cleaned up the OSystem code for managing Console and Debugger, removing
stuff from destructors and using unique_ptr.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3063 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-09 22:03:50 +00:00
stephena db139bef1a Converted FrameBuffer surface storage to unique_ptr. In the process,
I realized that they didn't need to be stored in a map, since the integer
ID was never actually being used.  This must have been part of a proposed
API that I've since deleted??


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3062 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-09 15:10:47 +00:00
stephena 5d927915ab A few more unique_ptr instances which I missed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3061 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-09 13:41:55 +00:00
stephena 1b7635649c More conversions to unique_ptr, so deletes can be removed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3060 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-09 04:01:31 +00:00
stephena 92aa5c2e36 Just when I thought there were no more cleanups to do ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3059 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-09 03:05:19 +00:00
stephena 4f91fd96ed A few more optimizations. It looks to be close to the end of the conversion.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3058 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-08 23:50:23 +00:00
stephena b89dfa7436 Updated OSX project file, fixed some minor compile warnings,
and bumped version # to 4.5 for the next release (whenever it
may happen).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3057 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-08 22:40:50 +00:00
stephena 874c88a9d2 Updated Visual Studio project file for recent Array restructuring.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3056 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-08 22:09:18 +00:00
stephena 7b9169c18d Convert all arrays in the codebase to vectors, so that we get all
the advantages of C++11 (move semantics, list initialization, etc).
I'd hoped to somehow wrap a vector behind Common::Array and not have
to change the codebase to this extent, but it didn't work out.  And
I've since read that it's bad form to extend from std::vector anyway.
This is *THE LAST* bit of work I'm doing with arrays; everything is
now a proper vector.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3055 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-08 21:27:36 +00:00
stephena 740eeed579 You know what's better than adding move semantics and initializer
lists to the Array class?  Completely deleting all that code and
using a std::vector directly :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3054 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-07 23:28:40 +00:00
stephena 9cf9b41989 Fixed some yacc issues, and a memory leak in debugger expressions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3053 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-07 19:32:54 +00:00
stephena f54118226c Some formatting/nullptr fixes for src/debugger.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3052 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-07 15:52:24 +00:00
stephena a9aa84e3a3 Some more nullptr and formatting cleanups.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3051 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-07 14:26:56 +00:00
stephena 5d6ca08617 Updated OSX project file for recent class renaming.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3050 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-07 01:02:02 +00:00
stephena 17f328fd41 Updated Visual Studio project file for recent class renaming.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3049 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-07 00:49:43 +00:00
stephena 35478c6d3f Renamed all Blargg-related files as .hxx and .cxx, since I'm tired
of the compiler always complaining about it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3048 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-07 00:41:42 +00:00
stephena a165c48fab Some NULL/nullptr and formatting cleanups in src/common.
Renamed mainSDL.c to main.c, since it is no longer dependent on SDL,
and I'm trying to encapsulate SDL-specific code into as few places
as possible.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3047 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-07 00:31:46 +00:00
stephena 08649b2069 Implemented move semantics and initializer list for Array class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3046 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-06 23:27:01 +00:00
stephena 5bc3737a2b Updated OSX project file for SharedPtr changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3045 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-05 23:26:43 +00:00
stephena affd95d94e Removed home-grown sharedptr class for the real thing.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3044 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-05 15:56:27 +00:00
stephena 0ebe8d3f57 Updated OSX project file for NullDev class removal.
Now that 10.7 is the minimum supported version for OSX, we can
also move to 64bit-only binaries.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3043 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-05 01:39:26 +00:00
stephena 73badae2d0 OK, this is the last commit about pointers for the CompuMate stuff.
Again, still learning the best way to use C++11 here.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3042 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-04 23:26:23 +00:00
stephena 51737b9720 Still learning the difference between shared and unique pointers.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3041 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-04 22:03:40 +00:00
stephena 829d049385 Updated Visual Studio for removal of NullDev class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3040 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-04 01:06:04 +00:00
stephena 7e25d13b13 OK, this is the last pointer change for Console; the d'tor is now empty.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3039 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-04 00:52:00 +00:00
stephena a48c4fc6a8 A slight restructuring of the Controller classes, to fix CompuMate
support broken in rev 3034.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3038 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-04 00:34:56 +00:00
stephena 03f760cceb A few more nullptr and unique_ptr fixes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3037 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-03 17:36:28 +00:00
stephena 3949101fb7 Some 'nullptr' updates to Cart classes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3036 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-03 17:16:43 +00:00
stephena 6f5c5b2df5 Integrated NullDevice into one header file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3035 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-03 16:39:26 +00:00
stephena 5dbb2e4261 More pointer rearrangment for Console class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3034 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-03 16:24:05 +00:00
stephena a21f3be6e4 Turned variable into static constant in M6502, since it has never changed
since Stella was created.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3033 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-03 13:22:57 +00:00
stephena 49bc759bee The OSX build now works for C++11. From this point on,
OSX 10.7 is the minimum version supported.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3032 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-03 00:03:33 +00:00
stephena 79ada8685c The long march to converting Stella to C++11 has finally started. Already,
I've found and fixed a few memory leaks.  You will need an up-to-date compiler.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3031 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-02 23:40:20 +00:00
stephena bd1a391eb3 Fix warning in VC++.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3030 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-02 23:02:02 +00:00
stephena c0ac9f7067 Bumped version # for next cycle.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3029 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-02 16:43:43 +00:00
stephena 3e358b9e39 Oops, forgot to actually exclude a block of code for OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3028 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-28 17:35:43 +00:00
stephena 877f2c9f3c Final updates for 4.2 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3026 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-28 16:44:18 +00:00
stephena 27e005d7a5 Final batch of fixes from cppcheck.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3024 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-27 14:41:46 +00:00
stephena bb7f5e0c5c Updated OSX project; removed Random.cxx.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3023 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-26 20:49:01 +00:00
stephena fc3e90282e Updated Visual Studio project file; removed Random.cxx.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3022 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-26 20:32:40 +00:00
stephena d891357cad More cleanups from cppcheck.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3021 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-26 19:51:02 +00:00
stephena bc1308db23 Some small issues detected by 'cppcheck'. There looks to be quite a
few more ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3020 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-26 18:46:17 +00:00
stephena 958d8940fc Pass OSystem and DialogContainer as reference instead of pointer in
all GUI classes.  This makes sense, since the underlying classes
were returning them as references anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3019 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-26 17:45:42 +00:00
stephena 09912c689b A few more pointer to reference conversions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3018 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-26 16:19:58 +00:00
stephena af33538d5a Some cleanup of the Random class, and converting several classes
in emucore to use references instead of pointers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3017 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-26 15:54:02 +00:00
stephena 1a09d37d1b Speed up accesses to System by using constants. It's fine to make
a class more generic, but when it's never used, all it does it slow
things down.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3016 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-26 00:40:27 +00:00
stephena ba926bc4f6 Made some more methods const.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3015 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-25 20:14:09 +00:00
stephena 6d753fd335 CPU registers can be selectively randomized with cpurandom option.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3014 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-23 15:52:39 +00:00
stephena 4de4fc5152 It appears that Linux sometimes needs the app-icon after all.
So we disable it only for OSX.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3013 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-22 16:26:52 +00:00
stephena ebf44d2631 A few more const and method cleanups.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3012 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-22 14:54:25 +00:00
stephena 920dcdb8a5 More const cleanups.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3011 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-21 23:02:20 +00:00
stephena f8be548312 Fixed bug in initial size for the debugger; it would sometimes try to use a size larger
than the desktop.

Some code cleanups; add const and optimize some methods.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3010 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-21 22:12:50 +00:00
stephena 42dec8321d Changed debugger shortcuts to Control-combos to match the old
Alt-comboes, as these are easier to remember than function keys.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3009 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-19 14:55:48 +00:00
stephena fe1713ee87 Fixed some warning that showed up in gcc but not clang++, and vice
versa (I guess it's useful to test under multiple compilers).

Bumped version # for next test release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3008 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-18 15:57:03 +00:00
stephena 2d9eb76510 Updated OSX app icon to include 32x32 and 16x16 versions. Still TODO is
add 256x256 and 512x512 versions (I'll need help with this one, since it
requires artistic skills which I definitely don't have :) )


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3007 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-17 14:30:55 +00:00
stephena 964e1d7d88 Text input is all parts of the UI will now use the users own
keyboard layout.  This means that non-US layouts can finally
enter (ASCII-only) text with Alt-Gr key-combos.  Because of these
changes, the global debugger keys for rewind/step/trace/scan+1/frame+1
are now the function keys F4 to F8, respectively.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3006 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-17 14:02:53 +00:00
stephena 537eef7384 'cpurandom' includes the SP register, and is now turned off by default.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3005 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-13 23:59:49 +00:00
stephena 7247f64b8d Updated OSX project file for recent joystick changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3004 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-13 23:44:51 +00:00
stephena cb78339693 Added missing class to Visual Studio for recent joystick changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3003 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-13 23:36:35 +00:00
stephena c21220ce2c Joysticks are now detected dynamically, meaning that they can be added/removed
while the emulator is running.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3002 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-13 22:37:15 +00:00
stephena 5959f69405 MDM scheme now uses hotspots from $800-$BFF instead of $800-$FFF.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3001 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-10-01 22:36:15 +00:00
stephena ab2e086fe0 Minor cleanup of d'tor in various classes, removing d'tors with no
implementation, and using virtual d'tor only when absolutely necessary.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3000 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-09-29 20:39:28 +00:00
stephena 33047a286b MDM now triggers a bankswitch on hotspot writes, which was
actually in the original spec.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2999 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-09-29 19:34:24 +00:00
stephena 0df666bb6e And work continues in trunk ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2998 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-09-14 20:25:50 +00:00
stephena 9ac1244706 Updates for 4.1.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2995 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-09-14 19:58:37 +00:00
stephena 56d84a3c04 Fixed some dead code warnings generated by llvm scan-build.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2992 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-09-06 00:33:17 +00:00
stephena 2cb4d31c5b Fixed only minor compiler warning.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2991 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-09-04 20:34:58 +00:00
stephena b7cdaad634 Fixed minor compiler warning, and bumped version #.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2990 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-09-03 15:23:36 +00:00
stephena 4b6f589a4e Re-added 'uipalette' option.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2989 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-09-03 13:27:33 +00:00
stephena 8c3c668276 Applied multi-monitor fix from Magnus Lind.
Bumped version # for 4.1 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2987 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-09-01 21:17:33 +00:00
stephena adce15f86e MDM carts were only working with 16 banks, due to overflow in a 16-bit int.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2985 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-09-01 14:56:06 +00:00
stephena 5714bfc815 Updated OSX project file for class additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2984 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-31 23:29:45 +00:00
stephena f9f423bf25 Fixed bug in 'MDM' debugger tab; it was always showing bank 0.
Updated docs for upcoming 4.1 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2983 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-31 23:16:57 +00:00
stephena f5c967d2ac Updated VS project file for new MDM Widget class, and fixed a minor compile warning.
Bumped version # for a test release.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2982 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-29 23:30:18 +00:00
stephena ddafc3a650 Added cart debugger tab for 'MDM'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2981 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-29 15:33:04 +00:00
stephena 04ee72521d Changed 'zoomlevel' to a GUI::Size object to more clearly reflect its intent.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2980 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-28 15:29:35 +00:00
stephena f6dd1ba27b The ROM launcher now uses a separate FBSurface for snapshots, so that
any-sized PNG can be loaded and then scaled to the available space.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2979 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-28 14:21:44 +00:00
stephena 8da55d8eac Added infrastructure to attach a surface to a dialog, so that it can be rendered
on top of the dialog surface.  This is useful when the surfaces are using
different resolutions, and we don't want to draw the exact overlaying surface
pixels directly into the the dialog surface.

For now, this is most useful for rendering snapshots in the ROM launcher, and 
eventually it will allow arbitrarily-sized images to be scaled (in hardware)
to the picture area of the launcher.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2978 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-24 21:47:51 +00:00
stephena 5a89990cc1 Add some extra logging to SDL Init and joystick handling, in an attempt
to debug joystick issues that some users are having.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2977 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-15 15:13:00 +00:00
stephena bd8728271f Updated VS project file for MDM bankswitching scheme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2975 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-14 00:33:58 +00:00
stephena fa6127d53a Added 'MDM' bankswitch scheme from Edwin Blink, as documented in the AtariAge thread:
http://atariage.com/forums/topic/56073-cheap-2k4k-x-in-1-menu-driven-multicart-for-atari-2600

Fixed declaration of bankswitch type so it isn't in two places, which necessitated
modiying two files and keeping them in sync.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2974 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-14 00:03:56 +00:00
stephena a7aece9d36 Improved DASH bank state display in the debugger; it now shows info from
all 8 'slots'.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2973 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-09 01:04:46 +00:00
stephena 740dcc168e Updated OSX project files for DASH class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2971 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-31 21:50:26 +00:00
stephena 9b864cc9c1 Updated VS project file for DASH class additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2970 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-31 19:47:54 +00:00
stephena adbd8f673d Bumped version # for test release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2969 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-31 19:31:02 +00:00
stephena 05f455789e Changing banks in the DASH debugger tab is now working.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2968 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-31 17:05:21 +00:00
stephena af254b3d85 Fixed DASH bug when changing banks; the debugger didn't recognize the change,
and hence didn't re-disassemble.

Fixed long-standing bug in the debugger disassembly; addresses marked as $F000
(or equivalent) were never being highlighted in the disassembly view.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2967 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-31 15:54:14 +00:00
stephena cced0aef33 The DASH debugger tab now correctly shows the state of all banks/segments
currently in use.  Still TODO is activate the 'Commit' buttons, so that
the banks can be changed from the UI.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2966 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-29 22:37:17 +00:00
adavie 301926ebfc Implemented autodetect for DASH scheme.
Requires 'TJAD' to be present in ROM.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2965 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-29 13:25:23 +00:00
stephena 21eff3b800 First version of DASH debugger tabs. The bankswitching tab is still a WIP.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2964 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-29 00:29:02 +00:00
stephena 9f172cbb42 Fixed potential bug in Cartridge API; renamed bank() to getBank(),
since there are issues with mixing overloading and virtual functions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2963 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-28 13:40:37 +00:00
stephena 82ef198585 Fixed DASH scheme to work according to spec; it now works with the
test ROM from Thomas.  Still TODO is work on patch support, and add
debugger tabs for bankswitching and extra RAM.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2962 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-26 20:32:33 +00:00
adavie 756a55fd82 Updated the comment/explanation of the bankswitch scheme so that it reflects our current thinking on how the scheme should work.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2961 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-25 11:03:27 +00:00
stephena 2f4a3e7966 Cleaned up the Cartridge::bankXXX API. Carts which are non-bankswitched
or those which implement their own unique scheme no longer have to
implement bank and bankCount; this base class versions will be used
instead.

Removed the debugger 'bank' command, since it didn't work for all cart
types, and is obsolete now that the UI allows to change banks for
all cart types.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2960 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-24 17:15:28 +00:00
stephena ef183beab7 Slight cleanup of the System::PageAccess API. Since all c'tor calls will
*always* pass in 0,0,0 for the various bases, it is redundant to pass that
data in on each invocation.  So now the c'tor does it automatically.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2959 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-24 16:24:27 +00:00
adavie fd88ec3f59 Changed 'Boulder Dash' type explanation to 'Experimental'
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2958 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-24 13:22:49 +00:00
adavie 818adab9ed Changed 'Boulder Dash' type explanation to 'Experimental'
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2957 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-24 13:21:43 +00:00
adavie c83b8f7d7e Fixed RAM crash. I had neglected to allocate RAM after 'myImage' ROM section. Whoops. Now passes my very simple write stuff to a few locations, and read back.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2956 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-24 11:41:19 +00:00
stephena 06e99c8719 For now, disable entering menu mode on window minimize, since it
may be causing problems.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2952 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-02 11:57:27 +00:00
stephena 979417bd00 Fixed last-minute compiler warning.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2950 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-01 13:43:19 +00:00
stephena 6bba77e3d6 I'm going to release 4.0 now, since the two remaining features may take
another month to complete, and it's already been 6 months since the last
release.  And those remaining features have nothing to do with the SDL2
conversion ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2947 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-01 13:32:22 +00:00
stephena c8eed372db Updated Windows code to specifically load an icon, otherwise the default window title icon is used.
For the Windows release packages, the VS 2013 runtime libraries are now installed with Stella, so the user doesn't need to manually install vcredist.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2944 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-30 22:46:33 +00:00
stephena 534f7680e6 Updated changelog and some dates.
Updated to latest PNG code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2942 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-30 14:38:18 +00:00
stephena 6ea7f60c90 Change default ROM launcher settings to 1000x600 and 1x ROM viewer.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2941 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-30 13:45:25 +00:00
stephena 16be8f8a8e Added 'Cart RAM' debugger tab for DPC/Pitfall2 scheme. It is quite similar
to the DPC+ scheme, so I suspect its omission was an oversight.  Other than
the more esoteric types, the only scheme left needing a cartram tab is
DASH, but that one is still in development ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2940 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-30 01:23:23 +00:00
stephena 9b99e414aa Added debugger controller widgets to Xcode, and fixed minor
compile warning.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2939 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-30 00:54:30 +00:00
stephena 10283cb75b Added new debugger controller widgets for VS, and fixed an error when converting an 8-bit hex value into a 4-bit one. Granted, I was calling the method incorrectly, but it's strange that Windows and Linux have different behaviour for snprintf.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2938 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-30 00:31:36 +00:00
stephena e3cc672368 Added an oft-requested debugger feature: add buttons to the AtariVox/SaveKey
controller area to reset the EEPROM to default values.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2937 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-29 23:25:53 +00:00
stephena 81d0dfdbdc Some final fixes for the new cartram debugger tab. In cases where
the RAM is always mapped into the same place in ROM, the ram grid
now shows addresses with the correct read port address, and
ram labels are properly accessed.  In cases where the RAM is hidden
from the 6507 or not mapped into the same place at the same time,
the addresses show actual real addresses of the RAM from the POV of
the cart itself (ie, RAM location zero is labeled 0, not as $1xxx).
This is necessary since quiescent RAM doesn't actually have a 6507
address.  Also, labels are disabled in this case.

Fixed bug with incorrect offsets when reading cart RAM labels;
it seems to be a copy/paste issue, since all such methods were
written as if the cart was SaraChip-based.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2936 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-29 18:37:55 +00:00
stephena 2dccc2df15 Partially reverted FrameBuffer changes, since it *still* didn't fully
fix issues in Ubuntu Unity, and caused CPU usage to spike to 100% in
all other tested platforms.  So for now, I'm putting it back to low
CPU usage for all other platforms (Linux w/o Unity, OSX, Windows, etc),
and treating this as a Unity bug (which isn't unheard of).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2935 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-23 15:34:25 +00:00
stephena da86a3b175 Removed the last remains of dirty-rect updating from the FrameBuffer.
This code was originally there for software mode, where it was very
expensive to update pixels, so it was done as little as possible.
However, it was also a bit of a hack, and sometimes interfered with
double-buffered hardware rendering.  So now showing the various UI's
will burn slightly more CPU, but will be guaranteed to work under
all conditions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2934 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-21 20:51:08 +00:00
stephena 23a2e2d7ee More documentation updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2933 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-21 01:45:23 +00:00
stephena 12e727ae4e The 'savesnap' command in the debugger prompt now actually saves a
snapshot of the TIA image, including partial rendering (if applicable)
and scanline indicator.  Previously it only saved the TIA image, which
basically made it useless from the debugger POV.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2931 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-20 23:01:11 +00:00
stephena 6f366846fe More OSX Xcode 5 updates. The project file now builds both
32 and 64-bit Universal Binaries, and there is now a development
and deployment target.  Finally, the build DMG script now
works again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2930 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-20 14:29:05 +00:00
stephena 41ea059483 VS 2013 doesn't like declaring arrays on the stack.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2929 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-20 00:28:57 +00:00
stephena 78f5a2acef Reworked the PNG save code a little, making it more abstract and not
having to know about TIA, Properties, etc.  Basically, it now saves
a snapshot of either the FrameBuffer or an FBSurface, and adds 
text comments passed into it.  The contents of the surface and comments
are no longer calculated (or known) by the PNG code.

This is in preparation for saving FBSurface from anywhere, which will
help in the debugger for taking snapshots.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2928 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-19 16:45:07 +00:00
stephena 2d32f3d39a Fixed rendering issues in OSX, by never destroying and re-creating the window.
This sometimes results in a window resize being visible, but better that than
an outright crash.  This issue has been reported to the SDL mailing list,
so this fix may be backed out in the future.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2927 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-17 11:49:38 +00:00
stephena 61972b350a Finally some love for the OSX port. The Xcode project now compiles and runs,
and contains only one Objective-C warning (more research required).  There
are also some fixes for minor warnings.

There are still some issues, though.  First, SDL2.0.3 has to compiled
manually, as the public binaries don't work (this is documented and
a bug reported on the SDL mailing list).  Second, fullscreen->window
transition is causing a crash, which I still need to track down.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2926 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-16 16:34:48 +00:00
stephena 8fbbadd2e3 Various changelog updates for 4.0 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2925 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-15 19:25:46 +00:00
stephena f7254488dc Updated VS project file for recent patch from SpiceWare, and fixed some minor compile errors for VS 2013.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2924 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-13 22:43:54 +00:00
stephena 815e0b2d33 Cleaned up the Rect class, which is something I've been meaning to do
for a long time.  Changed to unsigned int everywhere, and removed
functions that I will never use (the class originally came from
ScummVM).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2923 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-13 19:53:44 +00:00
stephena 05c007cbae Made StellaMod an actual enum, rather than simply typedef'ing
to SDL mod.

Added a hack/fix for Alt-key combos being printed in the debugger
prompt (ie, when stepping though a frame with Alt-f, the 'f' character
was shown in the prompt).  This will be fixed when PromptWidget
becomes an EditableWidget (not for the 4.0 release).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2922 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-13 19:34:35 +00:00
stephena 5c75ff1c15 Finally added a large patch from SpiceWare which adds an extended
cart RAM tab to the debugger.  This is tailored to each respective
cart bankswitch type, allowing much more information to be shown than
you'd see in the normal RAM area.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2921 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-13 16:28:28 +00:00
stephena 791c908d8c Fixed bug in mouse scrolling due to differences in handle mouse
scroll events from SDL1 to SDL2.

Bumped version #.  It looks like the current code is now bug-fixed
and equivalent to release 3.9.3.  Now on to committing some backlogged
patches and adding new functionality.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2920 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-13 14:49:01 +00:00
stephena d275773413 OK, I originally intended to fix FrameBuffer::scanline for SDL2,
which I though a just a one or two-liner equivalent to glReadPixels.
Turns out that SDL2 doesn't return 24-bit RGB data (only 16 or 32-bit),
so the PNGLibrary had to massage the data.  In the process, converted
the PNG saving functions to actually use PNG library functions, which
greatly simplified converting packing from 32 -> 24-bit.  Historically,
the PNG save functions were written before libpng was a requirement,
so they were hand-rolled.  Once libpng was integrated into the codebase,
it didn't make much sense to not use it anymore.

So an expected two-line code fix became this commit ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2919 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-13 13:35:41 +00:00
stephena a0aa1c8e0a Updated PNG library to latest version.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2918 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-12 16:25:32 +00:00
stephena 6cb3b5c58a Fixed typo in default assignment of key mapping for keypad 0.
It looks like this bug has been present for a long time.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2917 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-11 16:11:10 +00:00
stephena 0b74f63a44 Some more removal of SDL-specific code from the emulation core.
The EventHandler now queries EventHandlerSDL2 for names of keys
instead of keeping a list itself.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2916 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-11 16:06:17 +00:00
stephena 53edeb9171 Text input is now working in the debugger prompt (a rewrite of the
PromptWidget class to use EditableWidget will probably happen after
release 4.0).

All text input now seems to be working as in Stella 3.9.3.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2915 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-10 21:53:02 +00:00
stephena aa6c1b3d58 Text input is now working in all classes inheriting from EditableWidget
(specifically, DataGridWidget and RomListWidget are now working).

More work is required for PromptWidget, since it was created before
EditableWidget existed, and hence duplicates a lot of that classes code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2914 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-10 21:04:36 +00:00
stephena 90248b2701 First pass at converting text input to the new SDL2 scheme. Basically,
the old way mixed both single-key events and Unicode input into one
method, and the new way separates them (using a new handleText method).

Currently it seems to be working fine in the ROM launcher (yay!, I
can now quickly jump to ROMs by name again).  There are still some
issues in the debugger, which I'll work on next.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2913 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-10 16:43:35 +00:00
stephena d66226c210 Fixed 'magic number' issues when creating a System for the Console.
Technically, the magic numbers are still being used, but now they're
no longer exposed outside the System class by default.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2912 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-09 16:35:19 +00:00
adavie d0092580e0 Bankswitching for ROM banks now working OK.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2911 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-06 23:29:00 +00:00
adavie 68c3c42254 first "working" DASH code
resolved "access" initialisaation. Bizarre stuff and a bit of handwaving magic, but at least it runs the test ROM as a "DASH" version now.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2910 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-06 14:52:10 +00:00
stephena 3ab3c879be Updated VS project file for new DASH bankswitch scheme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2909 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-04 17:24:24 +00:00
stephena 80bbfadb4c Fixed grabmouse and show cursor to match Stella 3.9.3 functionality.
Added 'hidecursor' commandline option, to always disable showing the
mouse cursor (useful for fullscreen-only frontends).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2908 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-04 16:01:45 +00:00
adavie f7f80ff05b fixed shift for ROM bank size
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2907 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-04 15:29:51 +00:00
adavie f99afe12dd rewrite 3E/3F functionality and optimal usage of ROM when RAM blocks overwrite.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2906 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-04 14:29:33 +00:00
stephena a583ea7532 Forgot to increase version # in last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2905 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-04 12:17:23 +00:00
stephena d09ac569e5 Finally have fullscreen/windowed mode switching working.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2904 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-04 12:15:54 +00:00
adavie 053ce36518 fixed a minor bank usage init inconsistency
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2903 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-03 21:21:11 +00:00