Commit Graph

1522 Commits

Author SHA1 Message Date
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
stephena 9d1a9977c3 Some fixes for the OSX port. Mark, do these work??
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@966 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-15 22:43:21 +00:00
stephena e75b50cab8 Fixed install/uninstall for configurable DATADIR support.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@965 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-15 21:02:22 +00:00
stephena 0ffc5863a7 Fixed long-standing GUI drawing bug whereby items were being redrawn
before a certain state was entered.  For example, launching a game
and bypassing the ROM launcher would attempt to draw elements from
the debugger, with coordinates that were usually larger than the
current screen.

Made system-wide location of stella.pro/stellarc files configurable
at build-time.  They're now stored in DATADIR/stella, where DATADIR
can be changed with "--datadir=..." during configure.  This is only
enabled for UNIX for now.

Added missing 'cheat' and 'break' to commandline description.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@964 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-15 20:46:20 +00:00
stephena d75868d33d Make sure screen is cleared when switching modes; hopefully this will fix
the problem with the GP2X port.

Removed SDL_FillRect() calls in OpenGL GUI drawing, since the extra
function calls are only slowing things down when we can access the
pixels directly.

Made return/enter key activate the currently selected button in the
ROM launcher instead of always starting a ROM.  This was confusing
when the 'Quit' button was highlighted and pressing enter started a
ROM.  Now pressing enter in such a case will actually do 'quit'.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@963 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-15 16:31:01 +00:00
markgrebe d06a92762b Fixed issue with encoding that appeared with OSX 10.4.4
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@962 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-15 02:12:09 +00:00
stephena ea105e6b0f This should fix the disappearing icon when switching video modes in Win32.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@961 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-14 23:55:23 +00:00
stephena ceac36923c Some fixes for 64-bit Linux. I just have to hear back from Mark wrt
the OSX port, and if it goes fine then dynamic OpenGL support will be done.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@960 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-14 23:50:43 +00:00
stephena 05c5225a6b A few minor fixes for Win32 and dynamic OpenGL. It seems the compilers
in Windows are a little more strict than Linux.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@959 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-14 22:29:34 +00:00
stephena 2c2b06226d Oops, forgot some configure stuff.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@958 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-14 21:45:22 +00:00
stephena b88d5ad3f6 First pass at dynamic OpenGL support. This means that OpenGL will no
longer be linked to the binary, but is opened at runtime.  This makes
automatic builds easier, so the nightly builds for Linux and Win32
should now support OpenGL.

Added 'gl_lib' commandline argument to change the OpenGL library to
use, but the defaults should work fine.

Everything works great in Linux; still TODO is test in Windows and OSX.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@957 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-14 21:36:29 +00:00
stephena 851d0356fe Hopefully this will fix the stella nightly automatic build failure.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@956 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-14 00:31:03 +00:00
stephena 53d70797d8 Phosphor effect now working for software render in 16/32 bit color modes;
still TODO for 24 bit mode.

I've benchmarked the CPU usage in Linux under 16/32 bit modes, and they're
within 1% of those for z26.  Not bad for C++ vs. assembly code :)  I still
need to test in Windows, which (ironically enough) tends to be slower than
Linux in graphics performance.

Note that CPU usage ranges from 6% (Linux/1x/software/phosphor/16bit) to
85% (Linux/3x/software/phosphor/32bit).  Using OpenGL, the usage is always
12%, whatever the zoom/color depth/phosphor.  I just love OpenGL ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@955 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-12 16:23:36 +00:00
stephena b4525b5ff7 Starting to convert software mode to use the phosphor effect; it's almost
completely broken right now.  I *really* hate software buffers.  Why
can't everyone have hardware support for zoom and color depth (aka OpenGL)?


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@954 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-11 20:28:07 +00:00
stephena 63275fc581 Remaining updates for phosphor settings for games that need it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@953 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-11 15:17:39 +00:00
stephena d784073016 Added ability to dynamically toggle phosphor effect, bound to the Alt-p key.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@952 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-11 14:13:19 +00:00
stephena a70171b28c Fix for GP2x (hopefully), whereby the screen contents from previous
modes weren't being erased.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@951 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-11 13:25:20 +00:00
stephena 18d42e0b5d Added 'Display.Phosphor' toggleswitch to GameInfoDialog.
Cleaned up stella.pro wrt to 'Keypad' vs. 'Keyboard'.  The manual says
Keyboard, so that's what we use.

Added 'Display.Phosphor' property for many ROMs which require it (thanks
to the z26 database).  This means it will be automatically used for those
ROMs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@950 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-11 01:17:11 +00:00
stephena 3ca571fdd8 More work on the phosphor effect. It's now configurable from the
commandline.  Two new CL arguments have been added (but these might change):
1) -pp <yes|no>: sets the new 'Display.Phoshor' property
2) -ppblend <0-100>: sets the amount to blend in phosphor mode

Note that if 'pp' isn't set, then it won't matter what 'ppblend' is set to,
since phosphor won't be used at all.  Some performance tweaks are still
required, and software mode isn't yet supported.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@949 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-10 20:37:00 +00:00
stephena cd0fe79454 Added hacky define code until I make phosphor more configurable.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@948 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-10 02:22:38 +00:00
stephena a4d5738767 First pass at adding the z26 'phosphor effect', which is used in 30Hz
ROMs to eliminate flicker.  Right now is disabled by default, and when
enabled only works in OpenGL mode.  It's not yet configurable either,
so it's either on or off.  It looks like crap on ROMs that don't need it,
but is really nice for those that do.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@947 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-10 02:09:34 +00:00
stephena 24aa8c782f Second pass at joystick hat support. It seems to be working fine in
emulation mode, but it's somewhat sensitive in GUI navigation (could
be my cheap gamepad).

Remapping is mostly complete, except for assignment of hats to analog
events.  Some more thought is required for this one.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@946 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-09 19:30:04 +00:00
stephena 34e281d1b7 First pass at adding SDL joystick hat support to the EventHandler and
associated classes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@945 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-09 16:50:01 +00:00
stephena b7bd48782c Fixed missing include in Win32. Also, it looks like the removal of
joystick detection type speeds up the Windows port again.  It seems it's
the strangest things that slow down the code ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@944 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-09 01:13:26 +00:00
stephena f8e51876b5 Removed all reference to analog vs. digital joysticks, since we really
don't care what type they are (this is good, since the detection code
was crap anyway).  Events are now designated as being digital or analog.
If an event is analog and the stick also happens to be analog, then it
will get analog values; otherwise it won't.  Hopefully this will speed
up analog processing in Win32 (which I swear is the bane of my existence,
since every time I boot into Windows I feel my blood pressure rising :( )

Fixed typo which caused the joymap to be saved incorrectly.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@943 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-09 00:42:12 +00:00
stephena e545c973c5 Re-added 'joymouse' argument, and made sure that joystick navigation is
completely disabled when it's turned on.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@942 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-08 20:55:54 +00:00
stephena beab75c5b0 Turn off joymouse functionality by default. It still seems to cause
some problems in the OSX port.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@941 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-08 13:55:03 +00:00
stephena 07f320e1f1 Added GP2X port, thanks to Alex Zaballa. This is the first commit,
so I may have broken something.

Improved 'joystick is mouse' code in the GUI.  Also account for devices
where the D-pad sends button events instead of the normal axis events.

Treat joystick events as other types of controllers based on the
virtual port entry in stella.pro.  This means that mappings for a
joystick will emulate other devices when necessary, and should
help on 'small' devices with few inputs.

Added 'sp' developer commandline argument, which sets the
"Console.SwapPorts" property and swaps the arrangement of the
virtual ports.  Useful for games like "Raiders of the Lost Ark",
where the joysticks are normally swapped.  Updated stella.pro
for Raiders to use this property.

Moved ugly #ifdef code for screen dimensions out of FrameBuffer and
directly into the respective OSystemXXX classes.

Added 'freq', 'tiafreq' and 'clipvol' commandline arguments, which
affect the sound subsystem.  Note that none of these add new
functionality; they merely expose what were previously constants
in the code:
 - freq: sets sound sample output frequency
 - tiafreq: sets sound sample generation frequency
 - clipvol: clips volume to eliminate huge cracks when pausing sound


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@940 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-08 02:28:04 +00:00
markgrebe d3fdd90347 Updated Xcode project file for Stella 2.1_cvs changes
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@939 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-06 04:24:10 +00:00
stephena d5981b3b6e Some sound code fixes, adding the following commandline arguments (which
can also be set in the Settings class):

-freq    : sets the sound sample output frequency, defaults to 31400
-tiafreq : sets the sound sample generation frequency, defaults to 31400
-clipvol : boolean which toggles volume clipping, defaults to true

Some fixes to the 'joystick button is an axis' code, so that it actually
works in GUI mode.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@938 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-06 00:31:56 +00:00
optixx 4388d801e5 added -lGL to get psp build working with new sdl release
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@937 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-05 23:39:44 +00:00
stephena 98603c1e6c Extended event infrastructure so that setting default events is determined
by the system-specific OSystemXXX class.  This is accomplished by overriding
certain methods in OSystem, and removes the need for numerous #ifdef's in
EventHandler.  In simpler terms, pressing 'Defaults' in the EventMapper
now uses defaults which are custom-defined to the specific port.

Added ability for joystick buttons to emulate axis events (and therefore
act as mouse events) for the internal GUI.  Some devices such as PSP and
GP2X don't have a directional pad, and send directions as button events
instead of axis events.  By overriding a method in OSystem, one can now
specify which buttons (if any) to treat as directional.

Added ability to remap the 'increase/decrease volume' events.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@936 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-05 18:53:23 +00:00
stephena adc6354943 Added more complete support for in-GUI navigation with a joystick
for those dialogs that don't emulate the mouse (currently the Launcher
and Command dialogs).  Moving a joystick axis in such dialogs now repeats
the event until the axis is released (similar to key repeat).  Also,
the number of events is based on how long the axis is held.  So the
longer the axis is pressed, the faster events will be generated.

The LauncherDialog now handles its own joystick axis events, which
are described as follows:
 - Axis up/down (on any stick) move up and down through the game list.
 - Axis left/right moves between the 4 buttons on the bottom (play,
   options, reload, quit).
 - The buttons are now highlighted to indicate that they're focusable.
   So the cursor keys can also be used to move between them.

Still TODO is deal with analog joystick axis events.  The analog nature
of these types of joysticks should really be ignored by the GUI.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@935 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-01-04 01:24:17 +00:00
stephena 2f16788aaa Fixed errors in state/eventstream loading and saving; it should now
be much more robust.

Updated VC.net project with latest files.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@934 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-12-29 21:16:28 +00:00