Commit Graph

1205 Commits

Author SHA1 Message Date
stephena b4a2268bd1 First pass at conditional saving of the settings file. Basically, the
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
2006-03-06 02:26:16 +00:00
stephena a48670693a Reworked properties handling, resulting in less memory usage and greatly
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
2006-03-05 01:18:42 +00:00
stephena e6b236ef2e Beginning of the properties restructuring.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1015 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-03 19:58:35 +00:00
stephena 6209912e4a Fix for the 'twitch' in the GP2X port when navigating the menus. It was
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
2006-03-02 13:10:53 +00:00
azaballa e1995ea8b3 Added document gathering to gp2x-organize. Updated readme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1013 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-02 04:55:55 +00:00
stephena 8ce3e592c1 Some stella.pro updates, as mentioned on AtariAge.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1012 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-01 14:26:40 +00:00
markgrebe 71336c904e Checkin of project file changes before moving to Xcode 2.2
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1011 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-01 04:10:59 +00:00
markgrebe 70649fff20 Reverted getCString function call which may have been causing preferences problems.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1010 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-28 02:17:26 +00:00
stephena 419c35cf6a First pass at making the GUI font-sensitive. Except for the debugger,
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
2006-02-22 17:38:04 +00:00
azaballa 8962a96dd1 Reverted FrameBufferSoft class to fix a GP2X freeze in Warlords.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1008 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-15 03:22:34 +00:00
azaballa efd1f16353 GP2X exit wrapper script, used to prevent a nasty hang on exit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1007 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-15 03:19:23 +00:00
azaballa c8d00c9810 Added handling of gp2x png path to INCLUDES to save the user a step during compilation. Added gp2x-organize to Makefile to aid in installation/packaging after compilation. Updated gp2x documentation to reflect changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1006 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-15 03:12:12 +00:00
stephena 06c7d0b504 Reverted more post-2.1 changes, in hopes of fixing the GP2X rendering
bug.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1005 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-10 13:14:20 +00:00
stephena fcd424adb4 Backed out some inline definitions in TIA, in hopes of fixing graphics
corruption in the GP2X port.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1004 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-09 15:10:18 +00:00
azaballa 5eae98616a Changed documentation to reflect current revision.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1003 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-06 03:03:08 +00:00
azaballa 8194924907 Enabled phosphor effect and hi-compatibility for the GP2X.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1002 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-06 01:38:50 +00:00
azaballa 3136bf0dc5 Added GP2X specific optimization flags.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1001 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-05 21:36:00 +00:00
stephena 7532bbcd46 Some compilation fixes for GP2X cross-compiled under Linux using
pre-compiled SDL libs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1000 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-05 19:59:22 +00:00
stephena cc07a7e502 Some minor tweaks which will hopefully speed things up for the GP2X
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
2006-02-05 02:49:47 +00:00
stephena 1018a3f349 Third pass at getting joy buttons acting as joy axis events. This
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
2006-02-02 01:04:09 +00:00
stephena ba4a71b5f8 Second pass at converting joy direction buttons to something that
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
2006-02-01 16:58:33 +00:00
stephena a30149355a Added profile support to configure/Makefile (--enable-profile). If you
know what this is, you'll know how to use it :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@996 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-02-01 13:53:25 +00:00
stephena d91443ed89 Second pass at getting GP2X gamepad working. At least the code compiles
now :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@995 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-31 17:26:56 +00:00
urchlay 89b17f8ab0 Nightly builds now have the date in the version number, and look for
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
2006-01-31 14:02:08 +00:00
stephena 04671c03d6 Bumped version number to 2.1.1.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@993 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-30 16:23:01 +00:00
stephena 1c80f5b1c7 Preliminary support for converting buttons to HAT events for the GP2X
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
2006-01-30 16:20:41 +00:00
stephena 801f4a1bf9 First pass at infrastructure for polling platform-specific hardware.
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
2006-01-30 01:01:44 +00:00
markgrebe 31c0d39ecf Set Xcode project back to Deployment mode, so optimization is turned on, as this was accidently left off for the 2.1.0 release. Also, fixed issue with video size menu items.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@990 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-29 23:06:10 +00:00
urchlay 4bdf5dfbf7 Update SlackBuild script for 2.1 release
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@988 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 15:59:35 +00:00
stephena 306a930925 Updated Win32 installer for 2.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@987 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 14:56:39 +00:00
stephena 94cb970ef5 One last update for RPM SPEC file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@986 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 14:37:31 +00:00
stephena c98537e87d Updates RPM SPEC file for 2.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@985 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 14:23:03 +00:00
markgrebe 9554ae1b4b Update copyright dates in about box
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@984 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 04:34:24 +00:00
markgrebe dd7caec1f3 Updated Xcode project file for release version number
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@983 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-28 03:50:34 +00:00
stephena e2e64e71ce Bumped version # for 2.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@982 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-27 20:43:49 +00:00
stephena c440951c4d Conditional compilation of some joystick stuff in EventHandler, for ports
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
2006-01-25 01:42:47 +00:00
knakos bb195d033f add support for raw framebuffer access method. QVGA smartphone support in.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@980 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-24 22:57:55 +00:00
knakos 4b6344d513 keep up with core changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@979 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-24 22:56:27 +00:00
knakos 43400e4477 Creation of the readme file for the wince port.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@978 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-24 22:54:18 +00:00
stephena 970e2d0962 Added info for GP2X port.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@977 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-23 16:07:14 +00:00
stephena ca3e68dc7b Added phosphor effect for 24-bit colour depth in software mode. I'm unable
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
2006-01-20 20:07:25 +00:00
stephena b946072594 Some more documentation updates. Maybe we can recruit a webpage maintainer
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
2006-01-20 15:13:37 +00:00
stephena 500025b5b8 Fixed bug in getScreenDimensions returning incorrect values.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@974 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-20 13:45:45 +00:00
markgrebe d9d639d854 Updated OSX project file
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@973 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-20 05:28:06 +00:00
stephena 714afabf02 Some documentation updates for the forthcoming 2.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@972 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-20 02:38:47 +00:00
stephena 02bc6ed0cf Fixed event mapping of analog events to different input types; the only
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
2006-01-19 00:45:13 +00:00
stephena a245adcc12 Only bind joystick axis events to paddle movement in analog mode, since
that's the only input where it really makes sense.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@970 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-18 20:43:22 +00:00
stephena cff3bf75a4 Fixed potential crash and drawing error when using the directory browser.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@969 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-16 01:56:18 +00:00
stephena da8b6c35f6 Fix for FrameBuffer::cls() crash in OSX. I don't think we really need
the functionality in OpenGL anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@968 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-16 01:23:55 +00:00
markgrebe 5a5151def7 Changed default setting for video to gl, not opengl, as was erroneously in the previous version.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@967 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-15 23:43:40 +00:00