Commit Graph

1650 Commits

Author SHA1 Message Date
stephena deb60882a5 The beginning of the 'Great Properties Update'. The stella.pro entries
have been out of date for years, as is the GoodTools package that
originally created them.  Thanks to Rom Hunter of AtariAge, I now have
a much more up to date database to work with.

Viewing ROM properties from the ROM launcher is currently borked.  I know
what the problem is (I caused it), and it will be fixed once the database
is converted.

Added very rudimentary copy and paste support between EditTextWidgets.
Currently, it can only copy internally, within Stella.  This will be
expanded on to actually support the OS clipboard before the next release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1367 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-06 21:00:58 +00:00
stephena f60fe600c9 Added ability to edit ROM properties info directly from the ROM launcher,
without having to actually start the ROM.  There's no real error checking
in place yet; I just quickly added this to make mass updating of
properties easier.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1366 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-06 02:15:00 +00:00
stephena 80e3626288 Snapshot previews in software mode are now scaled to the current zoom
level (but still only in 16-bit mode).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1365 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-04 00:47:00 +00:00
stephena 16956287ed Rearranged some code and restructured some classes, cleaning up the
interfaces and hopefully shortening recompile times (a lot of headers are
no longer unnecessarily pulled in).

Added an abstraction around SDL_Surfaces (GUI::Surface class) to reduce
dependencies on SDL to the core code.

Software mode now has some support for showing snapshots in RomInfoWidget.
Currently, it's restricted to 16-bit mode, and doesn't yet scale the images
vertically.  Have I ever mentioned how much I hate software rendering :(


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1364 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-03 18:37:24 +00:00
stephena 352954e633 First pass at the new RomInfoWidget. This widget shows a snapshot
and some game properties for the currently selected ROM in the ROM
launcher.  There's still much work to do, but so far it's working
quite well.  Software mode support isn't completed yet.

Beginnings of new filename semantics.  For the next release, snapshot
files (PNG) and state files (stx) will be named 'Cart_Name.Cart_MD5.ext'.
However, for backward compatibility, the filenames 'Cart_Name.ext' and
'Cart_MD5.ext' will also be used, if present.

Added 'romviewer' commandline argument, which activates the new ROM info
viewer.  Stella will have to be restarted for this to take effect.  Still
TODO is add ability to toggle this from the UI.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1363 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-01 23:31:18 +00:00
stephena 3dbe104c3f More stuff for the 2.4.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1361 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-27 14:03:30 +00:00
stephena 2f5e6d53d2 Updates for the 2.4.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1360 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-27 13:58:42 +00:00
stephena bd09057d69 Make the 'gl_vsync' argument work with Nvidia cards under Linux. Stella
will have to be restarted for this to take effect, so it still isn't the
ideal solution.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1359 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-25 23:57:35 +00:00
stephena 9e8d75fff5 Added Debian build scripts.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1358 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-24 14:52:41 +00:00
stephena 4f9b1fdf61 Re-added ROM browser mode ('rombrowse' commandline argument).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1357 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-22 13:55:40 +00:00
stephena 88e76cfd6e Re-added OpenGL aspect ratio setting; it ended up being much easier to do
than I thought.

Bumped version number to 2.4.1_cvs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1356 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-21 17:58:26 +00:00
stephena 664c6de88c Final commits before OSX build and 2.4 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1354 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-20 13:14:06 +00:00
stephena a8def47429 Final doc updates before the 2.4 release. I plan to spend the next day or two
doing some final testing, with the release coming on Monday, Aug. 20.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1353 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-17 17:11:43 +00:00
stephena 363b75c50d Some last minute updates and doc changes for 2.4 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1352 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-17 16:12:50 +00:00
stephena a15c118233 Updated Win32 files for impending 2.4 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1351 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-16 20:06:09 +00:00
stephena b6ce7cfd6e Updated OSX project files for coming 2.4 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1350 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-16 19:41:02 +00:00
stephena 16de3d6b3c Fixed bug where switching from fullscreen to windowed mode while in the
debugger would reset the UI zoom level.

Fixed issue with 'make install' not completing.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1349 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-16 16:42:46 +00:00
stephena 3b628e534d Moved the Scrollbar init stuff to EventHandler, since it makes more sense
to have it there.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1348 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-15 19:14:49 +00:00
stephena 037d675f60 More palette fixes for the debugger (PromptWidget & DataGridWidget).
Fixed DebuggerParser::red() method so it always uses the same color,
regardless of NTSC/PAL/SECAM format.

Added Home/End/PgUp/PgDn navigation to TiaZoomWidget.

Added a 'Defaults' button to FileSnapDialog.

Made configurable the number of lines a mouse scrollwheel will move the
scrollbar.  This can be set by the '-mwheel' commandline argument, as well
as in UIDialog.

Removed some dead code in several debugger classes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1347 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-15 17:43:51 +00:00
stephena aceb1d1513 Fixed bug in debugger 'run' and 'reload' commands; there's no longer a
segfault.

Fixed segfault with debugger 'runto' command.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1346 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-14 20:36:18 +00:00
stephena d73b834a61 Fixed bug where debugger 'loadlist' command caused a segfault, and
improved its error handling message.

Made TiaZoomWidget take extra debugger dialog real-estate into account.

Beginning work on fixing debugger 'run' and 'reload' commands, which
currently cause a segfault.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1345 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-14 19:49:21 +00:00
stephena 7ebe5185c0 Fixed issue with number of lines that are scrolled when using a scroll-
button on a mouse.  I could never figure out why it was moving 4 lines
when I only specified 2.  Still TODO is make this configurable from
UIDialog.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1344 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-13 19:45:42 +00:00
stephena 3993576dfc More UI cleanups for the recent palette changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1343 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-12 23:05:12 +00:00
stephena afc12e4977 Added 'debuggerres' commandline argument, which can specify the width &
height of the debugger dialog (similar to 'launcherres' argument).  Since
this provides the functionality of 'debugheight', that setting has been
removed.

Added configuration of debugger width/height to UIDialog.  Still TODO is
make the debugger 'resize' its widgets properly.

Changed 'height' debugger command to 'resolution', which will eventually
set the 'debuggerres' argument.

Made UI palette changes from UIDialog dynamic (Stella doesn't have to
be restarted for it to take effect.  Also renamed palette choices to
'Standard' and 'Classic'.

Changed default size of the Launcher to 400x300.

Some cleanups to Widget and CheckboxWidget for recent palette updates.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1342 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-10 18:27:12 +00:00
stephena f49eb18079 A few more tweaks to the new UI stuff.
Removed older browsing mode where the listing is scanned by md5sum,
since it wasn't really useful any more.  Basically, the default is
to now use 'rombrowse' mode, where the listing acts like an actual
filesystem.  Related to this, removed 'rombrowse', 'modtime' and
'lastrom' settings.

Reworked the FileSnapDialog wrt the previous point.  The rombrowse
toggle button and 'Reload' button were no longer relevant.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1341 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-07 14:38:52 +00:00
stephena eb02480491 A few more UI palette tweaks.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1340 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-06 21:32:10 +00:00
stephena 2c21d4b0de First pass at making the UI look a little nicer. For now, the colours
are hard-coded, but the infrastructure is there to make this modifiable
from the UI (at some point after the next release).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1339 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-06 20:16:51 +00:00
stephena f6105adeec Updated properties for final version of 'Mediaval Mayhem'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1338 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-06 13:23:46 +00:00
stephena d42ad61ddb Fixed bug wrt 'fullres' argument; it wasn't actually being used.
Removed references to 'original' palette from VideoDialog, since it's no
longer present in the codebase.

Added dummy files for Direct3D framebuffer.  It looks like Windows Vista
has finally screwed up OpenGL enough that I have to write Windows-specific
code.  Damn, have I ever mentioned how much I hate Microsoft?  They've
been trying to kill OpenGL for years, and now they might actually
succeed.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1337 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-05 15:34:26 +00:00
stephena 42757f85ca Updated Win32 project for Visual Studio 2005. I don't know if it will
still work with VC.net 2003, but since SDL 1.2.12 needs VS 2005, we're
kind of stuck with it.

Activated console build mode by default, since it's nice to see cout/cerr
debugging info on the command line (and is better than compiling under
MinGW anyway).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1336 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-04 20:32:54 +00:00
stephena ea790eda33 Some rearrangement/naming of utility functions due to name clashes in
Visual Studio 2005.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1335 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-31 15:46:21 +00:00
stephena 06ebb24bb6 OSystem changes so Win32 port compiles again.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1334 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-31 00:45:28 +00:00
stephena 618d2b3ba0 Add 'SECAM' to the list of display formats in GameInfoDialog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1333 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-27 14:12:36 +00:00
stephena 821dcf9bc0 Added SECAM support internally and to the user-defined palette.
Added '-channels' commandline argument, which allows setting the 'Cartridge.Sound'
property (the property was already present; this just adds a way to set it
from the commandline).

Added ability to change the locations for state saves, cheatfile, palette file
and properties file.  These are now changable from within the application
(Options -> Files & Snapshots -> Config Files.  They're also changable from the
commandline with '-statedir', '-cheatfile', '-palettefile', and '-propsfile'.

Fixed issues in commandline handling; maybe I should just use GNU getopts.

Updated the documentation.  I guess that means a new release is close ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1332 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-27 13:49:16 +00:00
stephena c399392dfe Added PNG file, which is the standard icon format defined by
freedesktop.org.  The XPM is still present, and is used for compiling
directly into the application.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1331 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-25 13:07:15 +00:00
stephena 2ff9f25576 Added support for gzip'ed ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1330 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-24 12:43:14 +00:00
stephena 9f2a046e11 Config files for cheats, palette and properties can now be properly
selected from the UI.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1329 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-20 13:31:11 +00:00
stephena 55e01a57ce Updated OSX port with latest config file changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1328 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-19 17:15:54 +00:00
stephena b5782deae1 Made config settings for state dir, palette file, cheatfile, and properties
file configurable from the commandline and in the UI.  Because of this,
removed support for BASEDIR functionality added in the last release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1327 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-19 16:21:39 +00:00
stephena 80296e2bed Fixed crash in software mode when switching the ROM launcher to a
fullscreen mode smaller than it was initially created for.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1326 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-11 15:08:13 +00:00
stephena 7e5d519234 Oops, forgot to add UI objects to change fullscreen resolution.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1325 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-06-21 12:27:00 +00:00
stephena 66eff3b9d8 Fixes to the Win32 port for the latest video mode revamping.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1324 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-06-20 20:36:28 +00:00
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