settings will only be saved when they haven't changed from the defaults.
This is probably of limited use on ordinary systems, but is helpful
for smaller systems using flash-RAM as storage (WinCE/GP2X), since
multiple saves wears out the hardware quicker.
This breaks the OSX port; I'll fix it in a day or two. I'm hoping this
will resolve the issues of certain settings not being saved in OSX
as well.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1017 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
improved speed. The main stella.pro properties have been integrated
directly into Stella, so a properties file needn't be distributed with
the application any more. Support still exists for a system-wide
stella.pro and a per-user user.pro; however, Stella will work fine without
them.
Greatly reduced memory usage in properties storage by moving to an
enum-based key system (so string descriptors for keys are no longer
being stored). Eliminated parsing and construction of the internal
properties set by pre-parsing the data with a perl script (included
in the new 'src/tools' directory). This pre-parser constructs
a balanced binary search AVL tree in array format, so in the worst
case, the BST only has to look through 12 entries.
Fixed some string constructor issues, hopefully fixing compile problems
with the WinCE port.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1016 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
actually a deficiency in the GUI core, whereby joystick button events
were being translated to axis events, but the actual button events were
still being processed as well. Now, if a button has been translated by
pollEvent(), it is removed from further processing in the main event
loop.
Also cleaned up the DialogContainer event logic a little. Basically,
the code at that level should never do button to axis translation,
since that's port-specific and will be handled in the OSystemXXX class.
Fixed some errors in Makefile, where spaces were used instead of tabs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1014 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
everything should look exactly the same. This infrastructure will
eventually allow a set of fonts to be included in Stella, and for the user
to select a bigger or smaller font and have the GUI automatically resize
to it.
At some point, the ability to zoom the ROM launcher and debugger
will be removed, and will be replaced by selection of different font
sizes. As well, zooming of the MediaSource will be converted to a
graphics filter (scale2x/3x/4x), and others such as hq2x or mame2x
will also be available.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1009 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
port.
Resurrected the low-compatibility 6502 CPU code, since it's supposed
to be somewhat faster. This is activated internally by GP2X by
settings "cpu" to "low". This can also be set from the commandline,
but I'm not going to document the fact. All systems that can handle
hi-compat mode should be using it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@999 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
corrects the problems with spurious axis events in the GUI. Now,
we only generate an emulated axis event when necessary, just as
if it was implemented in the SDL core.
If this code ends up being too slow, then optimization will have to
be made elsewhere. Everything that this code does is necessary,
and it can't be shortened any further.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@998 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
actually works. This time we try axis events, similar to the code
from gp2xmess project.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@997 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
stella.pro in the current directory instead of the system dir.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@994 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
gamepad, implementing 'case 2' configuration. This hasn't been tested
yet, since I don't have the hardware.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@992 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This is needed particularly for the GP2X joystick direction handling,
where directions are (incorrectly) implemented as button events
instead of more intuitive HAT events. When this is complete, it will
also remove the EventHandler 'kJDirXXX' enums, which I always thought
was dirty code anyway.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@991 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
where the extra code was causing a slowdown at startup. Also removed
some dead JS code.
Disable phosphor effect by default for GP2X, since the FrameBuffer isn't
optimized enough yet to handle it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@981 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to test this, so I'm sure that it's probably slow and doesn't render
correctly. For anyone using this mode; switch to 16-bit software mode,
use OpenGL, or get a better video card :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@976 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
at some point, since this type of work bores me to tears :(
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@975 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
supported input type is joystick axes. It doesn't really make sense to
assign analog events to hats/buttons/keys, since they're not analog in
nature.
Reworked the MediaFactory/FrameBuffer classes so that we always get a
valid FrameBuffer object. So no more crashes because of NULL
FrameBuffer pointers.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@971 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba