Commit Graph

1308 Commits

Author SHA1 Message Date
stephena 6abcac4597 Added 'WINDOWED_SUPPORT' compile-time argument, which can be used for
those systems which don't actually have a windowing environment.  When
this is set, toggling from fullscreen will not be possible, and certain
window-related UI functions will not be accessible.

Completely revamped video subsystem.  Windowed and fullscreen modes are
now dealt with separately.  Windows can be zoomed using the 'zoom_ui'
and 'zoom_tia' arguments.  Fullscreen modes are now set by resolution,
not zoom, so you can specify to always use a certain fullscreen
resolution, and the images will be scaled appropriately.  This also
fixes the fullscreen issues on widescreen monitors; just select a
widescreen video mode, and the aspect ratio will always be correct.

Removed dirty-rect support for software rendering of the TIA image,
as it ended up being slower than just updating the entire image.
For those resolutions where it will start to slow down (1024x768 or
higher), one should be using OpenGL.

Fixed issue in Windows when returning from fullscreen mode made the
window constantly 'shrink' in size.  It was related to auto-detecting
the desktop resolution, which is really the job of SDL.  As such, all
further releases of Stella will require SDL 1.2.10, which includes
this auto-detection code internally.

Made ROM launcher resizable, configurable in sizes from 320x240
to 800x600.  Updated the UIDialog to change these quantities from the
UI (Stella will need to be restarted for it to take effect).

Removed aspect ratio support, since it was causing problems, and the
new fullscreen mode work has made it obsolete.  i *may* consider it
again in the future, if there's sufficient demand.

Added 'fullres' commandline argument, used to set the fullscreen
resolution.

Added 'launcherres' commandline argument, used to set the ROM
launcher resolution.  This replaces 'launchersize' argument, which
has been removed.

Changed 'scale_ui' and 'scale_tia' to 'zoom_ui' and 'zoom_tia',
respectively.  Their function remains the same.

Changed meaning of 'gl_fsmax' argument to specify what modes to use
fullscreen OpenGL scaling (previously, this was a boolean, and
didn't consider different modes).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1323 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-06-20 16:33:23 +00:00
stephena 317648f37d Improvements to E0 autodetection; now Swordquest Waterworld isn't
misdetected any more.

Optimizations in autodetect logic, thanks to suggestions from
Thomas Jentzsch.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1322 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-06-14 13:47:50 +00:00
stephena c4fa58b38f Further improvements to '3E' bankswitch autodetection. We're now down
to requiring only 4 entries out of 2722 ROMs where auto-detection fails.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1321 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-06-09 23:20:19 +00:00
stephena 03c533e0b9 Added bankswitch autodetection for UA Limited (UA), CommaVid (CV)
and Activision (FE) carts.

Removed most of the pre-defined bankswitching types from the internal
database, since auto-detection is now quite accurate.  There are only
6 entries out of 2722 where the type needs to be overridden; not bad,
I think :)  Testing is welcome, because I may have introduced some minor
regressions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1320 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-06-08 12:36:52 +00:00
stephena 28345a3a43 In attempting to fix weird functionality with the built-in database,
I realized it didn't need to be implemented as a binary tree at all.  So
now it's a simple array in sorted order, and it's searched with a simple
binary search algorithm.  Fixes the bug I was running into, and saves over
115KB in executable size :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1319 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-04-09 18:12:40 +00:00
stephena 8874d38323 Added infrastructure for 'smart' controllers, which need access to the
System object.  Eventually, this will lead to more accurate emulation
for Driving controllers, and hopefully support TrakBall/Amiga/ST mouse
as well.

Fixed snapshot bug where a snapshot included the CommandDialog UI when
launched from that mode.

Bumped version number to 2.3.6.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1318 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-02-22 02:15:46 +00:00
knakos 0d7ee2f4d6 added support for square qvga (240x240) devices
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1317 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-02-12 11:16:59 +00:00
stephena e1c09992ec Completely removed 'Display.XStart' and 'Display.Width' functionality,
and all associated settings/UI elements.  It wasn't actually used anywhere
in the current properties database, and would definitely disappear in the
next version of the TIA class anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1316 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-02-06 23:34:35 +00:00
stephena 89804951aa Fixed error with PAL60 ROMs. It seems that these ROMs don't actually use
all of the vertical lines on a real TV, so I've scaled back the window
size to the same as NTSC mode.

Updated a few PAL60 ROMs that really are larger than NTSC mode, as well
as updated ROM properties for newly found ROMs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1315 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-31 22:37:03 +00:00
stephena cea15a420a By popular demand (or at least 3 people :), re-added pause functionality.
It's now another state in the eventhandler, logically making more sense
than the way it was implemented before.  An onscreen 'Paused' message
now appears every 5 seconds or so, just to make sure everyone knows the
app hasn't locked up.

Still TODO is handle this event in GUI of the OSX port, by disabling
certain menu options.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1314 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-30 17:13:10 +00:00
knakos c191db315e ready for 2.3.5
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1313 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-29 21:08:31 +00:00
knakos b1a5ea2495 re-implemented tap-at-the-corners functionality in stylus devices, under the new event handling scheme
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1312 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-27 10:52:49 +00:00
knakos 4c3a2ee776 remeber last screen orientation
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1311 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-27 10:51:04 +00:00
knakos a5a545fcbf all devices now can display the in-emulation menu, so drop to that always when losing focus (aka pause mode)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1310 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-27 10:50:14 +00:00
knakos 33d4d57a02 fix UI rendering in VGA devices. use last saved screen orientation
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1309 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-27 10:48:57 +00:00
stephena afcaca1c60 Finalized the new 'tabwidget is an object' functionality by removing the
UITabPrev/UITabNext events.  This can now be done in the previously
mentioned functionality, freeing up two extra buttons on input-limited
devices.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1308 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-24 21:36:38 +00:00
stephena 903ce3e1ec Fixed bogus warning for switch/case statement.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1307 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-24 20:48:54 +00:00
stephena 1d44875687 Fixed tab selection order wrt the new tab functionality added by Kostas
(WinCE maintainer).  The objects now cycle from tab widget, to all widgets
in that tab, to buttons at the bottom of the dialog.  Previously, the
ordering was from tab widget to buttons, then jump back to widgets in the
tab.  This would have worked, but cosmetically wasn't very nice.

Added UIOK and UICancel handling to InputDialog; I forgot this in the last
release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1306 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-24 19:17:33 +00:00
knakos 73ce5f5595 adding simpler navigation with directional keys for the Input Settings dialog. Reason: Non stylus (mouse) devices have to bind special keys for changing tabs, which is counter intuitive. I could wrap these changes around a wince define but they don't seem awkward.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1305 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-23 14:57:14 +00:00
knakos 07a76c1921 added key rotation
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1304 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-23 09:44:55 +00:00
knakos 36ab14c1d1 simplified the code due to recent changes in the core and port approaches.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1303 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-23 09:43:38 +00:00
knakos 6155d71dbd greatly improved the UI in low res devices by rendering it natively in 220x176 resolution.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1302 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-23 09:40:57 +00:00
knakos 2bc3a82644 Disable some of the UI controls for the wince port. We don't want the user disoriented with options that are: 1) ignored byt the port, 2) Cannot fit in small screen devices.
As far as the #ifdef badness goes this is not too bad. The conditional compiled code blocks are scarce. In my opinion they do not justify an architectural approach, which would mean adding methods for enabling/disabling widgets.

Also note in OptionsDialog.cpp we were leaking memory by instantiating twice the InputDialog.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1301 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-23 09:37:39 +00:00
knakos 6a75af29d8 converting MAC EOLs (CR,CR) to DOS (CR,LF). The vs2005 wince compiler complains about this.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1300 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-23 09:30:22 +00:00
knakos 83f6670d20 comlpletely rewrote the keyboard input. we can now use the regular event remapping dialog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1299 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-21 20:10:50 +00:00
knakos be548f1e00 cleanup
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1298 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-21 20:08:15 +00:00
knakos 4d9223bea7 added support for qvga landscape smartphones. cleanup.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1297 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-21 20:07:48 +00:00
stephena 494b1cdcdc Made the header ordering for WinCE the default for all ports. Ideally,
we really need to figure out *why* the WinCE compiler doesn't like the old
order, since a compiler shouldn't really care (and it makes it more
difficult on the other ports to have to maintain this inconsistency).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1296 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-19 21:53:27 +00:00
knakos 0930cebb1b windows ce compiler (vs2005) requires different order for the include files, or else it chokes.
If this order does not cause problems with the other ports, we can drop the #ifdef and use this one.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1295 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-18 16:45:22 +00:00
knakos c0636ef528 fix when CHEATCODE_SUPPORT is undefined
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1294 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-18 16:30:32 +00:00
knakos 429c03130d sync with 2.3.5 release
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1293 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-18 16:26:05 +00:00
stephena 27050e2695 Another 'final' WIn32 update. One of these days, I'll figure out how to
set the version in one place, and have all the codebase/ports sync to it :(


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1291 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-17 21:29:46 +00:00
stephena baeaa370fd Updated Win32 files for 2.3.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1290 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-17 21:20:22 +00:00
azaballa c598f3033c Forgot to mention the Color Schemes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1289 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-17 18:34:35 +00:00
azaballa ee4bd47ae9 Updated Readme to reflect release changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1288 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-17 18:30:32 +00:00
stephena 3313a1c335 Some last minute updates to the OSX Xcode project.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1287 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-17 14:06:36 +00:00
stephena 4eaee03f79 Got rid of a few FIXME's that became redundant.
Bumped version # to 2.3.5.  I'll be doing a new release either tonight
or tomorrow.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1286 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-17 13:17:42 +00:00
stephena debd942687 Added ROM properties for 'Boggle'. Hopefully with the new TIA code coming
in 2.4, we can automatically determine YStart and Height; then adding new
properties entries will only be required for controllers and/or ROM names.

Made the SliderWidget increment in intervals of 1.  This will have no
effect when using the mouse, since it isn't precise enough anyway.  But
moving the slider with the keyboard cursor keys (or whatever you've
mapped to them) will now increment by 1, and not 5% (as before).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1285 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-15 13:51:55 +00:00
stephena fe898f0a4d Added properties entries for 'ET Book Cart', thanks to Michael from AtariAge.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1284 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-15 01:10:14 +00:00
stephena a2ec317329 Fixed missing code for 24bpp software rendering of fonts.
Fixed 24bpp rendering of fonts and mediasource; it wasn't endian-clean.

Completely removed advanced scaler stuff, since I don't see that I'll
ever have the time to develop/support it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1283 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-15 00:07:52 +00:00
stephena 7c3377f0fc Oops, missed this one in the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1282 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-14 19:00:06 +00:00
stephena 097e8834d0 Updated docs for impending 2.3.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1281 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-14 18:59:08 +00:00
stephena 3df1eca919 Updated Win32 VC++ project for latest changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1280 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-14 16:42:38 +00:00
stephena 12a55685a1 Some cleanups and code reorganization to the Cart classes, adding comments,
etc.

Added stub for Cart0840 bankswitching.  The code is mostly ready; I'm just
waiting for the go-ahead to release it.

Updated ROM properties for those ROMs affected by the keypad fixes in the
last commit.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1279 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-14 16:17:57 +00:00
bwmott 309fbe2e94 Improved the keyboard controller emulation so that several other games
works (i.e., Alpha Beam with Ernie, Oscar's Trash Race, and Magicard).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1278 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-13 20:39:48 +00:00
stephena e02603ec02 Added joystick logic to enable all 4 directions at once, needed for
Bumper Bash ROM.

Updated ROM properties for some keypad games.  It seems 'Alpha Beam' and
'Oscars Trash Race' still don't work, though.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1277 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-13 15:55:14 +00:00
stephena 8e6d3e4ce6 Fixed OSX OpenGL crashes. Apparently some of the Apple-specific stuff
was a bit too specific (didn't always work on older systems).

Fixed crash in ROM browser when selecting a ROM with the 'Select' button.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1276 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-12 16:03:10 +00:00
stephena 49249ee9da Make sure the LauncherDialog can actually fit into the display device.
Minor bump to version #, for beta testing on AtariAge.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1275 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-10 20:29:10 +00:00
stephena a3743440de Some more properties updates (will this EVER be done?). Once the OSX GL
crashes are fixed, we're ready for the 2.3.5 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1274 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-08 18:21:11 +00:00
stephena ff7595603e Updated 'A-Team' PAL60 ROM properties.
Fixed graphics corruption when toggling phosphor mode in OpenGL.

Made ROM launcher and debugger ignore the 'gl_fsmax' argument in
fullscreen mode, since it only scaled the text and made it hard to read.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1273 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-07 17:59:52 +00:00