Clang 3.8, gcc 5, Visual Studio 2017 and Xcode 8 are now the minimum
supported compilers, and they all support C++14, so we may as well use it.
- Change all make_ptr to make_unique
- Change iterator begin(), end(), etc to const versions where appropriate
- Remove UniquePtr, since C++14 supports it natively
until after an instruction was executed. Also, toggle-able widgets
(pixel and bits) in the debugger can now be toggled with a single
mouse click, not a double-click. These fix issue #15.
This has been in patch form for about a year, and I'm finally
getting around to applying it. Basically, we separate the Cart
class into 3 classes:
- Cart: stuff specific to cartridge emulation
- BSTypes: various bankswitch types, both as enum and strings
- CartDetector: actual bankswitch auto-detection code
Also made more use of smart pointers, and added const in a few
more places.
I promise to get back to the phosphor stuff soon. This is just
to clear my head a little.
the fixed debug colors to user-defined preferences. Note that there
are 6 registers (P0,M0,P1,M1,PF,BL), and the option takes a string
of 6 characters, where each represents a colour for the respective
positional register (ROYGBP are the choices).
I may add a UI item for this, but this is as far as I will go with
allowing user editing.
The Harmony/Melody BUS driver is undergoing a major revision to add support for the new JMP FASTJUMP feature. This update implements the changes, as well as the fast jump feature which isn't yet in the HMdriver. It also implements the load/save state support as well as the BUS debugger widget.
A few minor updates to CDF were also done.
Note that this update breaks compatibility with the previous BUS demos.
* Implemented load/save state.
* Updated the debugger tab, which required the following:
- removal of : from RAM labels (part of the debugger overhaul)
- setCrossed() functionality in the DataGrid
to work like the old 'm' versions, so they work on all mirrors and
also allow one to enter a range of values to trap. Added more
stringent error checking for parameters.
- 'cls' now only clears the screen, and not the command history
- 'help' accepts another command as an argument, to give more info
about the command (ie, help breakif is now valid)
- command completion now works on built-in functions and pseudo-ops
* Add an iterator for interating over delay queue entries
* Dynamically build delay queue widget content from iterator
* Refactor shadow registers to reflect a possible delay
we need just a little more height. There's similar issues for the
smallest font, but I need to think about that one a little more,
since many people are affected if we change the window size at the
smallest setting.
- update some code to the '5.0' way of doing things
- allow compilation in Linux
- whitespace/tab fixes to match main codebase
- add some extra comments
- test compile under gcc 6 and clang 5, and fix some warnings
Preliminary support for new Harmony/Melody drivers BUS and CDF. Work remains for the 3-Voice Audio, Digital Sample playback, and some additional revisions to the debugger widgets.
autocalculated or fixed. This fixes selecting a scanline with the
mouse in TIA output widget in the debugger.
Made various methods inline for issue #7.
below the current electron beam position.
Fix long-standing bug whereby entering the debugger for the first time
and tracing/scanline advancing, the TIA image was blanked, and didn't
work correctly until you exited and re-entered the debugger.
Minor refactoring optimizations, and renaming of methods.
debugger is currently broken, but at least the code compiles (needed
for the Windows and OSX test releases, as they aren't set up to be
compiled without the debugger.
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
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
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
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
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
"`" 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
into FrameBufferSDL2 only. This will make conversion to actual SDL2 code much
easier, since it won't be touching any of the core emulation code in src/emucore.
Next TODO is something similar for EventHandler (which uses SDL heavily and is
too tied to a core class).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2846 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
software rendering support. I've been wanting to do this for years,
and finally the time has come. So for now, you need OpenGL for Stella
to build and run.
Expect major breakage over the next few months, as I port to SDL2.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2829 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
ever want to see the TIA, not the entire debugger area too.
This will be fixed for Stella 4.0, once I remove the @#*%$-ing software
rendering support. That part of the code keeps coming back to haunt me
for years. It will be *SO MUCH EASIER* to deal with these things when
everything is a FBSurface that can be stretched/scaled as necessary.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2828 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
of bold and normal fonts within the debugger UI. Because of the # of changes
this requires, this is as far as I'll willing to go with UI configurability.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2820 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
I wasn't completely sure how the file was structured, but it's starting to
make a lot more sense now. I think in the end, it will be better to use this
file as much as possible.
Bumped version #, and starting all over again.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2815 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
number.name convention (which seem to be pass #'s for DASM). Initially
having this info in Stella was simply visually inconsistent, but now
it also interferes with recompiling when saving the disassembly (IOW,
the data put into the symbol file by DASM can't be fed back into DASM
again in these cases).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2803 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
tab area and RAM area now take advantage of extra space.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2798 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to the screen (inactive pixels are 'transparent' in the UI). In the
case where there is only one possible object below the register, a
'blank' uses the underlying colour (ie, in normal priority, a blank
PF is 'coloured' using COLUBK).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2797 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
COLUBK instead of always using colour 0 (black). This is more
informative, as it displays how the registers actually work when
being drawn to the screen. Thanks to Tjoppen of AtariAge for this.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2796 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
symbol names in the DASM symbol file). This partly fixes a deficiency in
symbol files, whereby two names could have the same address (one has an
address, the other as a constant), and Stella would use whichever one
occurred in the file last.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2795 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
extended abilities (see changelog and docs for more info).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2783 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
previously on my local system, not in the repo), and fixed some minor
UI layout issues.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2778 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
on exit; it attempted to close the debugger dialog instead!
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2775 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
it was confusing which one was being called.
Fixed output in debugger bankstate info; in some cases, hex numbers were shown
when decimal was required.
Fixed regression wrt the last TIA change (incorrect framerate counter); the
PAL autodetection was failing in certain cases.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2774 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This is the beginning of a major cleanup of the bspf.hxx file, which
has gotten unwieldy over the years.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2772 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
bases into a Common::Base class. Previously, this functionality was
spread across several classes, and used different approaches to formatting.
While the code still mixes C++ streams and C-style sprintf's, at least
it will now be easier to modify it all in one place.
Related to the above, added ability to use upper or lower case
characters for HEX output in the debugger. This is toggled by the
new debugger prompt command 'uhex', which is also tied to a new
commandline argument, 'dbg.uhex'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2770 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the CPU registers (A/X/Y/PS) on ROM load.
Added 'INTIM Clks' to the debugger I/O tab, showing the number of clocks
before the current INTIM value decreases by 1.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2768 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
in decimal, not hex.
All DataGridWidgets (ie, most of the inputs in the debugger) have more
strict input filtering, allowing to use $,#,\ specifiers for different
bases, as well as restricting input based on the specifier used (ie, if
you've entered a '\', only '0' and '1' are allowed, etc).
Updated libpng to latest version.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2767 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Cleaned up the class comments wrt ScummVM; the attributions only needed to
be in the base classes, since all the derived stuff was written later.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2763 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Added option to save snapshots using either internal database name
(the default) or actual ROM filename.
Extended FSNode API for parsing filenames and adding/removing extensions,
which was previously being done in different ways throughout the codebase.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2753 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This will eventually grow to include all relevant options in Distella.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2747 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
systems, but seems to improve issues on slower computers.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2745 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
selection widget to a display of current bank state, taking into
account the more esoteric bank schemes. Currently, some functionality
is disabled/removed for now; I'll work on this for the next commit.
The format for displaying disassembler GFX/PGFX (binary or hex) is now
obeyed in the disassembly file output as well.
Changed various comments/enums/etc referring to 'preliminary' code to
'tentative' code, matching the actual intended meaning and the current
documentation.
Small API change for EditTextWidget; changed method name to setText, since
that's what I keep typing for some reason.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2743 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
initial pass of the disassembler. This was required in certain cases,
notably when issuing 'savedis' when the code was currently running from
zero-page.
Fixed missed labels for zero-page RAM when running ZP code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2740 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to an external file.
- RIOT/TIA mirrors are now used whenever possible. This includes *all*
possible mirrors in the entire 64K address space. This was needed to
make the disassembly byte-exact when recompiling the ROM.
- Disassembly to a file now includes all required defined constants
(RIOT/TIA, non-locatable labels, user-defined, etc).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2737 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
listconfig command are now synchronized, and produce the same output.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2736 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
for single-bank ROMs, same as disassembly (since the underlying framework
has been modified). Second, it now actually works :) I can't see how it
worked before, and since I didn't get any complaints/reports, I really have
to question how much use this code actually gets.
Still TODO is fix errors in CODE vs. PCODE (preliminary code) (in
the Distella code, we should clearly mark the difference).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2735 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
For now (and the next release), filenames are hardcoded to sane defaults.
Eventually, the code may be extended to use BrowserDialog to query the names,
but it's taking much too long to get working, and I want to get a new release
done before the end of May.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2734 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
converting StringMap to VariantList. In the process, some of the
code is much cleaner, and the Variant infrastructure allows
work to continue on a more full-featured ContextMenu.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2732 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba