- Updated default phosphor blend to '30'.
- Added shortcut keys Alt-i and Alt-o to decrease/increase phosphor
blend mode dynamically, while a ROM is running.
- Made range of blending 0 - 100.
When in TIA emulation mode at 2x zoom level, all dialogs which
are variable in size will now fit in the window. In other cases,
the dialog will take up 80% of the available space.
Rework defaults for ROM launcher and TIA zoom level.
Both of these are basically defined around having only a 640x480
screen, which hasn't been the case on hardware (even phones) for
about 10 years.
instead of textboxes. This allows to eliminate error checking,
since the widget will only allow sane values.
Added YStart/Display min/max variables to FrameManager, and
refactor for other parts of the codebase to use these variables.
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
the mouse or digital input. This will fix those ROMs that don't
use much of the range on a real paddle, and as such have a huge
deadzone in emulation.
For now, only the Paddle class is modified. Still TODO is add the
ability to change this from the UI (per-ROM, obviously).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3247 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Specifically, the stack class now takes a lambda to apply to all elements it
contains, rather than allowing direct access to each element.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3245 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
To anyone reading this, Merry (belated) Christmas and Happy New Year!
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3239 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This allows to remove assert statements (and instead use exceptions),
as well as fix a bug issued by Coverity.
Fix final bug reported by Coverity in ComboDialog class, where array
contents weren't being initialized. This isn't really a bug at all,
since the lambda takes care of initialization, but Coverity doesn't
support lambdas yet.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3238 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
and fix a few warnings that gcc caught and clang missed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3210 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
see what errors are present in the code. This is the first pass
in cleaning up the errors it found.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3203 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
on every call to FrameBuffer::update(). This will the same CPU usage for TIA mode,
and a slight increase CPU usage for launcher and debugger modes. The code to do
this was just too fragile, and not worth the extra effort.
This fixes several rendering issues, such as garbage in fullscreen mode in Linux
when using Intel GPU, triple-buffering issues in Windows, etc.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3148 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
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
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
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
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
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
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
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
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
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
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
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
This hasn't been tested yet, since no ROMs currently exist.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2895 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
and (simulated) fullscreen mode.
Fullscreen mode is now simulated in that it creates a window that matches
what would appear in fullscreen. The next thing to do is actually have
the backend create this fullscreen mode correctly.
Changed 'gl_fsscale' to 'tia.fsfill' to more properly indicate what the
option does.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2894 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
Added fallback to FBSurface::drawSurface() in case certain ports don't
want to implement it natively.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2888 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
to more clearly indicate its intent. It looks like
FBSurface::drawSurface() is essentially the same thing, and will
probably be removed.
Fixed header issue in OSX code, that wasn't detected until moving
to Xcode 5.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2881 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Rearranged some of the desktop size code, to be more consistent with the
new API.
Beginning to remove the old assumptions that a smaller screen than 640x480
could be used. In the 4.0 release, the smallest (internal) screen
supported will actually be 640x480, and if the real desktop can't display
it, then it will be scaled down. This is one of the nice benefits of
killing pure software rendering support, and letting the hardware just
draw the screen as it likes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2877 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
conversion.
There are changes all over the FrameBuffer classes. Still TODO is
TIA resizing in windowed mode, and all fullscreen modes. The infrastructure
is close to completion, and it should be pretty easy to get the framebuffer
stuff done in the next week or so.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2876 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
renderer backends (in SDL). This allows to select software mode (not
recommended) or Direct3D/OpenGL in Windows.
The app icon is now loaded in Windows.
Cleaned up the VideoDialog UI, removing references to double-buffering
and OpenGL-specific settings.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2867 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
options have changed names. In particular, all tia-related options
now start with 'tia.'. This includes most of the old options that
started with 'gl_'.
Changed the names of all tv-effects options from starting with 'tv_'
to 'tv.', to match the name changes elsewhere.
Some work on the documentation to reflect the latest changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2858 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to SDL2. For now, there are many things broken, namely keyboard handling
and fullscreen modes. But the launcher does show up, allows to start a
game and enter/exit the debugger, etc.
The code will only compile on Linux for now, and sometimes maybe not even
then. Expect breakage on a regular basis over the next month or so.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2854 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
SDL-specific code into its own EventHandlerSDL2 class. This is part
of a larger reorganization of the codebase, to completely remove
SDL-specific code from src/emucore, and make it easier to port to SDL2.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2850 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
have been changed to 'SDL2'. From this point on, the OpenGL-specific
code will be removed, and replaced by SDL2-specific hardware-accelerated
code.
Cleaned up (mostly) the API of FrameBuffer vs FrameBufferSDL2. Since the
FrameBuffer class is an emucore object, it should have no knowledge of SDL,
or any particular rendering toolkit for that matter (just in case we want
to move to SDL3 eventually :) ).
At this point, all checks for OpenGL have been removed, so if you don't
have it on your system, Stella will fail to compile and/or run.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2832 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
centering has been removed (SDL2 provides this natively).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2831 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
in line with the other ports. Besides, the code now also supports
64-bit Windows, so the name was incorrect anyway.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2830 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
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
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
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
since it was getting too unwieldy for 'Config Paths', and didn't properly
belong there anyway.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2751 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
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
Fixed bug after pressing Enter/Return in EditTextWidgets; it was exiting
from edit mode, which locked out certain key handling (these widgets
are always editable, and should not be exited in such a way).
Also, I just noticed the changelog file is exactly 2600 lines long :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2742 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
file isn't found; it should go to the parent of the requested file instead.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2731 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the Settings class to use Variant. Still TODO is modify various UI elements
that currently accept StringMap to use Variant instead.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2726 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
stuff into a new FileListWidget class (which will eventually be extended
to LauncherDialog as well).
The BrowserDialog now accepts different modes (file load and save, and
directories), and will be used in all places in the code where the
user currently has to type in filenames, etc.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2719 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Some cleanup of the various enum's in the UI classes.
Fixed issues with ordering when adding dialog boxes; this fixes a
bug when adding a dialog from another dialogs ::loadConfig(), in
which case the first one is placed below the second and can't be
seen (mostly applies to MessageBoxes).
Fixed bug in handling OSystem::setBaseDir(); if the directory didn't
exist, then the newly created one wouldn't have a slash appended at the
end. This causes all further (sub)directories to be created/named
incorrectly.
Started work on extending BrowerDialog to load files as well as
directories, and to allow editing of the items from within the dialog
itself.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2713 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
how one thing leads to another. This started when I noticed that exiting
the debugger with a context menu still onscreen locked that widget, and
it couldn't be selected again ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2708 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
virtual keyboard added to the UI at some point).
Cleaned up the CheckBoxWidget API, and introduced new checkbox
'contents' that will hopefully more clearly indicate what is going
on (fully drawn square means selected, square with empty circle means
selected by not editable, etc).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2706 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
extended into yet another tab, since there's still the need to
show the display bank, frequency bank and DPC Harmony RAM. Or
maybe there isn't a need to see this extra stuff??
Some more cleanups of the graphics/UI API.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2703 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The remainder of this commit is basically some cleanup of the
Widget API, and infrastructure fixes to allow CartDebugWidgets to
have change tracking.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2702 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
never actually included info on how to enable/disable it.
StringParser is now width-sensitive, in that it can also split
on a maximum string length. This is useful for making the various
UI items font-size independent, and to flow the text accordingly.
Increased minimum size of debugger window to 1080x720, which allows
things to be laid out a little nicer, and gives some much needed
extra room. Sorry guys, the most common resolution now in use
is 1366x768, so it's time to move with the times.
Cleaned up some of the descriptions in the ROM debugger tab(s).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2694 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Improved keyboard and mouse navigation for PopupWidget and associated
ContextMenu dialogs.
Tweaked bankswitch autodetection for 29K ROMs; the only possibilities
are ARM (FA2) or DPC+.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2692 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
For now, only 4K is shown. Eventually this will be included for all
bankswitch types, whereby the UI will be tailored to the specifics
of each scheme, so that ROM/RAM banks will be able to viewed and
changed more easily.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2680 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
(for now, only the debugger, but might as well deal with the problem
in a general way once and for all). The Shift-Left/Right keys now
work as they did before, and switch between tabs in a tabset.
For dialogs with multiple tabs, it now selects among those tabs
where the focused object is. Clicking on another tabset then changes
the focus, and allows the same keys to switch among *that* tabset.
Now I can finally start the cart-specific bankswitch UI items.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2679 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
debugger. In the process, I had to spend several days extending
the UI/dialog class to actually contain multiple tabs. This was
harder than expected, and it still isn't quite finished. In many
ways, we're beginning to reach the limits of the current code; it
was never designed for a full-fledged, graphically rich UI.
For now the tab is empty, but eventually it will contain general
info about the ROM bankswitch type (size, virtual layout, etc),
but also cart-specific info, including the ability to change
banks, which can be vary greatly among the different schemes.
Eventually, it may even allow to see/modify very cart-specific
info (like display RAM in DPC, etc).
Better handle errors in opening the serial port (AtariVox support)
for Windows and OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2678 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
'BASEDIR'/nvram. Previously it defaulted to BASEDIR, which was getting
filled with many such files.
Unfortunely, all files will have to moved manually, but it's an easy
one-time operation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2613 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
That is, it has all the functionality of past versions, as well
as improvements to launching from the commandline (an archive
containing multiple ROMs will now open the virtual directory
in the ROM launcher.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2610 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
is add support for from the commandline, as well as optimizations
(automatically loading the first ROM when only one exists, or when
the name of the ZIP file itself is used).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2608 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
it's still partially broken).
Converted many methods to take FSNode objects instead of raw string
filenames. This is necessary since file reading will eventually
be abstracted into the FSNode class directly.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2605 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
opening ROMs, but at least the ROM launcher now properly descends into
ZIP 'folders'.
Removed obsolete unzip.h|c code, which hasn't been updated since 1998
and fails to compile on some systems. Replaced it with ZipHandler class,
which is a much nicer interface (and about half the code too).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2603 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Eventually, this will have to be done for all GUI elements.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2601 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
code. This is just a preliminary check-in; ZIP handling is actually
broken ATM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2600 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
and making them part of the object itself. This is in preparation for a
'ZipFilesystemNode' class, whereby ZIP archives and their contents are supported
natively by Stella.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2596 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the sound is now much more accurate in "Space Rocks", and there aren't
any regressions that I'm aware of.
Removed 'clipvol' setting, since the sound is now 16-bit and clipping
is no longer required.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2578 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba