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
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
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
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
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
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
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
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
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
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
(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
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
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
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
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
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
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
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
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
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
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
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
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