Commit Graph

1522 Commits

Author SHA1 Message Date
stephena c1dbb4468b Fixed OpenGL issues in Windows Vista. I still have to make sure it hasn't
broken support on other platforms.

Updated Visual Studio project to VS 2008 (where parallel compilation
actually works, and uses all cores on a multi-core CPU).

Updated OSX project files.  I'm using Leopard now, and since the 10.2.8
SDK has been removed, it looks like 10.3 is the minimum supported version
(unless someone can suggest a fix).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1390 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-01-20 18:16:42 +00:00
stephena 62860e8b81 Added support for SB "SUPERbanking" 128k-256k bankswitched games. Thanks
to Fred Quimby (aka Batari) for the code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1389 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-10-12 14:45:10 +00:00
stephena 2ad8f1efac Removed specific events for BoosterGrip buttons, and instead made them
generic joystick buttons.

Added complete keyboard/joystick support for all 4 paddles.  Associated
paddle resistance decrease/increase/fire to joystick events in the
'spirit' of z26 (ie, joy0 left/right/fire is paddle 0, joy1 left/right/fire
is paddle 2, etc).  These events can still be remapped independently
of joystick events, of course.

First real attempt at adding 4A50 bankswitch support, which is currently
being modelled on the E0 scheme (they're somewhat similar).  The code
still doesn't work, of course.

Fixed bug in FASC scheme whereby reading from a write port didn't generate
an associated write as a side-effect.  Thanks to Kroko of AtariAge for
the advice and partial code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1388 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-10-09 23:56:57 +00:00
stephena ffbc2a18f8 Fixed some minor warnings under gcc 4.2.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1387 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-10-08 01:59:20 +00:00
stephena 989c21b58a Updated Win32 Visual Studio build files.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1386 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-10-08 00:45:22 +00:00
stephena 714b940ac9 OK, another huge commit. I need to commit this now, because things are
starting to go out of sync on my development machines.  OK, where to
begin ...

Changed state file format, so older state files will no longer work.  The
changes aren't finalized yet, so expect more breakage.

Added getByte() and putByte() methods to serialized data, resulting in
smaller state files (previously, 1-byte values were stored as 4-byte ints).

Totally reworked controller handling code.  Controller state is now
explicitly set with an ::update() method, making it easier to serialize.
Some work is still required on the serialization stuff for more advanced
controllers.

Added a 'Serializable' interface to all carts, device, controllers, etc
that can be (de)serialized.  This fixes a long-standing design issue
which I personally caused many years ago.

Console switches state (SWCHB register) is now saved to state files.

Added beginnings of movie support.  Basically, this saves an initial
state file, and thereafter continuously saves controller and console
switches state.  Support is still somewhat rough and there's no UI for
it, but it does successfully save and later load/play state movies.

Removed specific events for driving controllers, and have them use
joystick events instead.  This has the nice side effect that
joystick direction remapping 'just works' for driving controllers too.

Fixed issues with paddle emulation seen in 'Night Driver' ROM.  Related
to this, removed a hack wrt paddles when grabmouse is enabled.  There's
still some work to do when using the mouse to emulate paddles, but the
Stelladaptor and real paddles work fine.

Added beginnings of TrackBall CX-22 controller emulation.  It doesn't
actually do anything yet, but the class is there :)

Probably some other stuff that I'm forgetting ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1385 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-10-03 21:41:19 +00:00
stephena e444ba6901 Updates so the OSX version can build again.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1384 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-28 18:01:15 +00:00
stephena 2d047f2f6f Reverted FrameBufferGL loadFuncs logic, since it causes problems in OSX,
and doesn't fix Vista issues anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1383 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-28 16:24:44 +00:00
stephena d236bb24f2 I keep forgetting to commit this simple fix.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1382 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-25 13:04:24 +00:00
stephena 938249cd71 Reworked state load and save, placing it in a new StateManager class,
and removing it from EventHandler.  For now, this is just a code
re-arrangment, but eventually state recording and rewinding will be added
to this new class as well.  Since this new class will now do the job of the
(buggy) EventStreamer code, that class has been removed.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1381 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-23 17:04:17 +00:00
stephena 0f386e43b6 Fix for joystick variables when compiling in joystick code. It should
now not generate any errors when compiling without JOYSTICK_SUPPORT as well.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1380 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-20 00:13:35 +00:00
stephena d925758848 Finished off the ROM properties updates for ROM_HUNTER ROMs. Next I have
to compare them to the remaining ROMs and possibly prune the database
a little.

Fixed some warnings when not compiling in JOYSTICK_SUPPORT.

Fixed missing include file in mainSDL.cxx.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1378 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-17 22:41:45 +00:00
stephena 66ce17ea58 ROM properties updates up to the mid 'T's.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1377 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-17 15:23:47 +00:00
stephena 063f763c75 Updated the ROM properties to almost the end of 'S'.
First attempt to get OpenGL working in Vista; I think it's just a matter
of reloading the OpenGL function pointers.  And I don't think it affects
other systems to do that anyway ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1376 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-16 23:18:27 +00:00
stephena 31d75beb84 More ROM properties updates. We're now up to 'M'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1375 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-14 00:31:41 +00:00
stephena bf5dd053b2 Fixed width vs. picth issue in OpenGL vLine code; they're not always the
same.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1374 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-13 15:35:56 +00:00
stephena ae97084908 More properties updates. I'm up to 'J' now.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1373 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-13 00:48:13 +00:00
stephena d055723c6d Added 'Ctrl-left' and 'Ctrl-right' shortcuts to skip to the beginning
and end of words in EditableWidget (ie, text widgets, etc).

Some more properties updates.  I'm up to 'Freeway' now :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1372 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-12 00:57:51 +00:00
stephena 56aaad7156 Updates OSX build scripts with latest class additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1371 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-11 19:46:17 +00:00
stephena 5908674be9 Fixed typo causing a segfault when not compiling in sound support.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1370 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-10 18:06:15 +00:00
stephena f2c377c1ae Added 'gl_texrect' commandline argument, which toggles use of the
GL_TEXTURE_RECTANGLE OpenGL extension.  For now, this will default to
off, since some people are having OpenGL issues that I can't seem to
track down.

Added NTSC50 and SECAM60 modes.  Switching between formats will now
use the current scanline count.  So, if we're on a 60Hz/262 scanline
cart, the switchable formats are NTSC, PAL60, SECAM60.  Otherwise,
the formats are NTSC50, PAL, SECAM.  This makes the switching of cart
format act more like z26, where only the palette is changed.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1369 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-10 15:47:00 +00:00
stephena ae200c9cb7 More ROM properties updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1368 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-09-06 23:25:04 +00:00
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