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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
Changed pointers to references in c'tor calls, making things a little safer.
Removed FBSurfaceTIA, since it was tied too closely to SDL itself. Added a
class called TIASurface that is functionally very similar, but is more generic
and accessible by the FrameBuffer directly. Eventually, this class will take
responsibility for all things related to rendering the TIA image (Blargg TV
effects, phosphor mode, etc).
TIA rendering is currently borked; fixes will follow ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2889 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
rectangles. Now that the underlying rendering is hardware accelerated,
this API more closely matches what is actually occurring. As well, it
makes things easier comprehend: 'src' rect is the actual surface data,
and 'dst' rect is its final output onscreen (scaling, etc being applied).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2883 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
characters working, so the UI can be used.
SDL Window events are now sent to the EventHandler core. For now, only
the window expose event is handled (redraws window if it's been hidden).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2872 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
break. First thing to do is update the year. Happy new year to anyone
reading these commit logs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2833 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba