Commit Graph

1538 Commits

Author SHA1 Message Date
stephena a50ca91245 Oops, forgot this last item to get Tac-Scan working.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1201 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-11 00:23:48 +00:00
stephena 992b641a6b Fixed bug with paddle games that didn't default to paddle 0. They actually
didn't work at all with the GP2X or the Stelladaptor, because of a related
bug in swapping virtual console ports.

Added about() method to FrameBufferXXX classes, which all FrameBuffer
derived objects are required to implement.  This is so framebuffer info
is only printed as necessary.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1200 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-11 00:15:34 +00:00
azaballa a4c4a1348b Set tiadefaults to true to give consistent resolutions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1199 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-10 22:11:48 +00:00
stephena 32c41b1d58 Added missing code for 24-bit mode software zooming without dirty rects,
which I left out in the previous commit.

Added properties entry for "Conquest of Mars".


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1198 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-10 18:07:39 +00:00
stephena 6608b99d8c Added new rendering modes to FrameBufferSoft, which don't use dirty
rectangle merging.  This makes the 'dirtyrects' option more relevant,
since now if it's turned off, dirty rectangles are not merged, and
the screen is updated with SDL_Flip() instead of SDL_UpdateRects().
This new functionality is very similar to how z26 works, but
experiments on my Linux system show it to be twice as fast on
average :)  Dirty rectangle merging now defaults to off.  I'm
leaving it in, since it benefits people in some cases.  Basically,
non-dirty-rect support is optimal when many things are changing
onscreen at once, at the cost of more constant and generally slightly
higher CPU usage.  Dirty-rect support is optimal at larger resolutions,
where it's usually at least twice as fast as without, but is suboptimal
at larger resolutions when lots of stuff is changing.  At some point in
the future, maybe Stella itself can automatically switch modes depending
on which is faster at any point in time.

Added "[..]" previous directory functionality to BrowserWidget, the same
as already in the LauncherDialog.  Thanks for Alex and Lou for the
reminder.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1197 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-10 17:04:34 +00:00
azaballa de4ee80062 Forgot to mention [..] item for navigation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1196 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-10 07:43:45 +00:00
azaballa f0f71af07d Made the README a little more concise.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1195 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-10 00:03:04 +00:00
stephena 935e0bd6a8 Added error checking around all calls to FSNode.listDir(), to actually
check and see if we're dealing with a directory.

Fixed off-by-one error in count for files in LauncherDialog.  While in
ROM browse mode, the previous dir " [..]" entry should not be counted.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1194 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-09 04:02:40 +00:00
azaballa 9c8572124f Updated paddle speeds, still fast, but controllable.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1193 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-09 00:34:18 +00:00
stephena e230be7fed Reworked default paddle mode handling. Removed ROM property
'Controller.PaddleNo', replacing it with 'Controller.SwapPaddles' (Yes/No
type argument).  The reasoning being that in combination with
'Console.SwapPorts', paddle 0 can be the default for any ROM as follows:

  ROM uses paddle 0 as default:
    Console.SwapPorts -> No
    Controller.SwapPaddles -> No

  ROM uses paddle 1 as default:
    Console.SwapPorts -> No
    Controller.SwapPaddles -> Yes

  ROM uses paddle 2 as default:
    Console.SwapPorts -> Yes
    Controller.SwapPaddles -> No

  ROM uses paddle 0 as default:
    Console.SwapPorts -> Yes
    Controller.SwapPaddles -> Yes

Updated all ROMs that don't default to paddle 0.  This works for all
paddle input, both analog from mouse and/or joystick and digital from
keyboard, joystick, etc.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1192 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-09 00:25:20 +00:00
azaballa 5527e47678 Fixed a couple of typos.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1191 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-08 20:51:58 +00:00
azaballa bd3113b2aa Updated the README to reflect version changes and clarify a few things.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1190 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-08 20:48:00 +00:00
stephena 2c9b0d1ecb OK, this is absolutely the last commit related to UI key events :)
Allowed modifier keys (Ctrl, Alt, Shift, etc) to be treated as normal
keys, and mapped to some action.  In those modes, the modifier keys are
just like any other key on the keyboard.  However, they also have
a special purpose when combined with other keys (text editing), and
this now works as well.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1189 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-08 20:19:58 +00:00
stephena 8c47a3f155 Hopefully fixed Dialog key handling bug in OSX.
Updated copyright dates on all headers (the reason for this huge update).

First pass at updating the user manual for all the new changes in the codebase.

Bumped version number to 2.3_alpha.  It's getting close folks.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1188 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-08 16:49:42 +00:00
azaballa c9448e9c3a Minor resolution change. In game GUI popups (ie: volume level) look better at 400x300.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1187 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-08 09:03:27 +00:00
azaballa 15004ccb94 Updated documentation to reflect code changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1186 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-06 07:37:29 +00:00
azaballa 7a69637a40 Updated some button mapping per playtester request.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1185 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-06 07:02:50 +00:00
stephena 0a970a97d5 One final optimization in FrameBufferGP2X. The only calls to SDL_FillRect
are now in hLine() and vLine(), and it's probably optimal to leave them
there.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1184 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-05 23:49:43 +00:00
stephena 3c93be914a First pass at making the debugger be asynchronous from the debugger parser,
meaning that if a command is running, it can be interrupted, and Stella
doesn't lock up in the process.  It all feels like sort of a hack, but
for now it's the best we can do.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1183 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-05 22:05:35 +00:00
stephena dcb74722ad Second pass at optimizing the GP2X framebuffer rendering. There's still
at least one more optimization to make after this :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1182 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-05 21:55:15 +00:00
stephena 84781e064a A few more optimizations for the GP2X rendering code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1181 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-05 14:53:26 +00:00
stephena 2a8956ebae Oops, another copy/paste typo.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1180 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-05 03:04:14 +00:00
stephena 918d55ab5a Fixed a typo from copy & paste.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1179 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-05 03:01:49 +00:00
stephena 718e54c706 Fixed bug in OSX OpenGL handling. Now OpenGL mode works again!
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1178 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-04 20:14:06 +00:00
stephena 0bf5e843bc First pass at optimizing the FrameBufferGP2X rendering code. Since the
hardware in this device is a known quantity and is using a hardware surface,
perhaps we can take advantage of that.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1177 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-04 19:43:26 +00:00
stephena c973c3d968 This code is a little more compact and readable.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1176 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-04 19:01:39 +00:00
stephena dddbbfdfdf Added some OpenGL options to FrameBufferGL that only exist on SDL 1.2.10
or greater.  I'm hoping that one older systems, the code will still run
and just ignore these new options.

Added commandline argument '-gl_vsync', which enables v-sync'ed updates
for OpenGL, if it's available (see above).  Also added a setting for
this in the VideoDialog.

Fixed OSX OpenGL handling so that it doesn't specify an OpenGL library name,
and updated FrameBufferGL to use the default name in that case.  OSX users
will probably need to reset their settings file for this to take effect.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1175 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-04 18:54:51 +00:00
stephena 1cbef3f8f9 I finally got my hands on an Intel Mac, so this is the first time StellaOSX
has been compiled for at least 4 months.  At least it now compiles again
(but OpenGL mode doesn't seem to be working).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1174 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-04 16:15:42 +00:00
azaballa d65125fedd GP2X doesn't require zoom. Thanx Steve.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1173 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-03 22:49:25 +00:00
azaballa 80b76fec6c GP2X can finally handle zoom2x.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1172 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-03 20:26:11 +00:00
azaballa 0eff44fa5c Changed a few things to accomodate the new SDL libs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1171 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-03 19:19:35 +00:00
stephena 67f631e697 Separated out RectList from FrameBufferSoft, since FrameBufferGP2X also
needs it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1170 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-03 17:57:54 +00:00
stephena b4531c331a Crap, a segfault bug crept in with the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1169 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-03 01:24:34 +00:00
stephena f48ea59ca6 OK, second pass at FrameBufferGP2X class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1168 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-03 01:13:45 +00:00
stephena 8ef6d7032e Cleaned up the DebuggerParser class in preparation for user-interrupible
commands.  It's not quite working right now.

Added preliminary GP2X framebuffer class, so the GP2X can optimize
for that system.  It's based on FrameBufferSoft, and doesn't really
do much differently right now.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1167 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-02 23:25:55 +00:00
stephena 78f33efe78 Made changes in EventHandler state not re-create the FrameBuffer object.
The only time the FrameBuffer is (re)created is when one doesn't exist
(at the start of program), or when toggling between software and OpenGL
mode.  Hopefully this will fix the problems in the GP2X port wrt the
new SDL libs.  But even if it doesn't, I think it's a cleaner way of
doing things ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1166 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-02 00:43:50 +00:00
stephena 4c8743b04e Some fairly major changes to the Properties handling. Added a 'Default'
button to GameInfoDialog, which basically resets ROM properties to
built-in (compiled) defaults, and removes the entry from an external
stella.pro file (if it exists).  A ROM reload is still necessary
for these settings to take effect.

Removed 'Alt-s' properties merging shortcut, since it does the same
as clicking OK in GameInfoDialog, and there should be only one way of
doing that.

Fixed bug in UI where pressing state-change keys (Ctrl, Shift, etc)
would be interpreted as characters.

Added ROM properties for "Strat-O-Gems Deluxe".


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1165 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-01 18:30:21 +00:00
azaballa e3c0ee39ff Disabled SDL Cursor by default for the GP2X.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1164 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-29 20:01:56 +00:00
stephena 7ac52b8609 Adding missing OK and Cancel events to CheatCodeDialog.
Tied 'OK' and 'Cancel' events to closing the About and Help dialog boxes.

Fixed bug where menu event mappings weren't being reset on default.

Fixed bug where some characters could be mapped to an event, but didn't
actually do anything.  This is related to Unicode issues, and may fix
problems that non-ASCII users have been experiencing.

Fixed issue with joystick buttons/axis events not being processed in
PopUpWidgets.  This fixes the problems experienced by GP2X users, where
selecting a popup menu seemed to lock Stella (in actual fact, it was
still running, waiting for input).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1163 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-29 18:22:56 +00:00
azaballa 018e02d7e6 Fixed some tabbing(cosmetic) issues.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1162 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-29 01:29:28 +00:00
azaballa 36f4122d7d Updated button mapping to incorporate the new UI events. Updated configure to fix a linking issue.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1161 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-29 00:24:57 +00:00
stephena cc5afaba11 Added 'UIOK' and 'UICancel' menu events to the core, and made them
remappable in the InputDialog.  These are a shortcut for the OK and
Cancel buttons in certain Dialog boxes, instead of having to tab to
the respective buttons.  By default, 'UICancel' is mapped to Escape,
and 'UIOK' is not mapped to anything.

Hopefully fixed the issue with the GP2X window not being cleared
when switching between emulation modes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1160 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-28 21:48:56 +00:00
stephena 08863d0ba9 Fixed palette not being loaded when entering the debugger.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1159 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-27 22:57:09 +00:00
stephena c833852131 Fixed bug where screen wasn't being cleared after changing emulation modes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1158 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-27 21:02:45 +00:00
stephena b7e6bed91b Make sure the first item in the list is always selected in ROM browse
mode.  It was actually always supposed to do this, but a one-line
bug prevented it (thanks to Alex and TelcoLou for this).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1157 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-27 14:52:51 +00:00
stephena 9fa5ea44ab Changed to standard C++ getenv/putenv calls instead of SDL-specific
ones (reported to not compile by Alex, the GP2X maintainer).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1156 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-27 02:18:47 +00:00
stephena 563ba6b24b Added writing of text tags to PNG snapshots. For now, it only saves
the version of Stella used, as well as some ROM info (name, md5, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1155 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-26 16:58:21 +00:00
stephena d536cb06ea Major update to the palette support. Internally, all palette info
now belongs to the Console class.  A single user definable palette
can now be automatically loaded.  This new palette file must be
named 'stella.pal', and located in the app base directory
($HOME/.stella for Linux, installation dir for Win32).

The new palette file must be at least 768 bytes (only the first 768
bytes are used).  The first 384 bytes are 128 red-green-blue 8-bit
values, or 24-bits per pixel for NTSC.  The next 384 bytes/128 colours
are the same, except for PAL.  The PAL colour-loss palette is automatically
calculated from these, so it's not necessary to do so in the palette file.

Added 'user' to the list of options that can be specified for '-palette',
and also added the option to the VideoDialog.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1154 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-25 01:34:35 +00:00
stephena d5ecdd6f66 In the process of adding external palette support (and with the help of
Brad), I realized that the PAL 'colour-loss' effect wasn't being done
with the 'original' and 'z26' palettes.  This is now fixed.

Changed a few ROMs from PAL to PAL60.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1153 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-22 02:39:31 +00:00
stephena e1076ea369 Added "PAL60" support, which AFAIK is simply a PAL screenmode with a 60Hz
refresh rate.

Updated properties for AStar and Ladybug ROMs which have PAL60 versions.
Still TODO (now that the infrastructure is in place) is update all other
ROMs that might be PAL60.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1152 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-11-19 20:59:30 +00:00