Commit Graph

1393 Commits

Author SHA1 Message Date
stephena c51a8368da After long delay, finally added 0840 ECONObanking support. Still TODO
is add autodetection for this type.

Changed number of carts defined in GameInfoDialog to a constant, so we
only have to update it in one place.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1411 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-27 20:13:55 +00:00
stephena 897e05d58a Made the SUPERbank bankswitching code a little easier to follow, and
fixed a bug in the startup bank.  According to the documentation, it
should always start in the last bank.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1410 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-27 17:02:06 +00:00
stephena 6baa7c8311 Updated Xcode project for recently added X07 bankswitching support.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1409 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-27 15:20:43 +00:00
estolberg 6b7419f2d1 Added support for X07 bankswitching, which is used by Stella's Stocking, the 2007 AtariAge Holiday Cart. TODO: Find a way to autodetect this bankswitching type.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1408 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-27 14:16:52 +00:00
estolberg 7112444714 Added support for X07 bankswitching, which is used for the 2007 AtariAge Holiday Cart. TODO: Find a way to autodetect this bankswitching type.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1407 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-27 14:14:38 +00:00
estolberg 3882e8e841 UA Ltd and SUPERbanking couldn't be selected as bankswitching types in the game properties dialog, because some counter variables hadn't been updated from 21 to 23. Maybe we should use a constant instead?
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1406 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-24 20:02:09 +00:00
stephena 4d9cdbc56a Partially fixed issue with RAM labels (and also PC labels) not being
displayed in the debugger GUI.  I say 'partially', since it's not really
distinguishing between different types of labels with the same address, so
in some cases what you see in the debugger GUI won't be correct (but at
least you'll see *something*).  I need to determine how the DASM sym file
is generated to fix this final issue.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1405 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-24 16:51:52 +00:00
stephena 360a5711ed Fixed bug with SBC opcode in decimal/BCD mode, similar to the previously
fixed ADC issue.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1404 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-23 20:06:37 +00:00
stephena 0c15f5daeb Fixed bug in emulation of ADC opcode while in decimal/BCD mode. Thanks
to Thomas Jentzsch for advice on this.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1403 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-23 16:26:29 +00:00
stephena e3ee622633 Removed some debugging code from 4A50 handler (thanks again to Eckhard).
The 4A50 scheme now works on all test ROMs I have, whether or not display
autodetection is activated.

I noticed there's some graphical glitches in the various 'Ruby Runner'
demos below the lowest wall of the maze.  I'm not sure if this is a
bankswitching issue or TIA emulation problem, but I'm leaning towards the
latter.  More testing is required ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1402 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-22 16:27:07 +00:00
stephena f3c1b6308a Added 4A50 bankswitch autodetection. Currently, it only works with one
ROM that follows the specs.  Also, it seems the final ROM that wasn't
working with this scheme actually *does* work; it just doesn't work
when display format autodetection is turned on.  So that's what I'll
work on next.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1401 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-22 15:29:52 +00:00
stephena c1f887f731 Second pass at 4A50 bankswitch support. This time it actually works
on all but one of the test ROMs I have :)  Thanks must go to Eckhard
Stolberg, who did about 95% of the work on this scheme.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1400 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-21 23:58:09 +00:00
stephena 03cd7ea291 Fix comments in zero-page bankswitching code in 4A50 cart format.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1399 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-21 16:11:15 +00:00
stephena e5d3ddb467 Updated GP2X to latest code changes, and added overscan compensation
when displaying output on a TV.  Thanks to D. MacCormack for this code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1398 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-20 00:17:49 +00:00
stephena 266f02e9d0 More updates for 4A50 bankswitching support; I think it's very close now.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1397 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-19 12:33:07 +00:00
stephena 242c3b940d Updated codebase copyright info for 2008.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1396 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-02-06 13:45:24 +00:00
stephena f0c75eb1ff Finished changes to 4A50 class so it compiles again. It's still not
working though.  I think there still needs to be TIA/RIOT chained from
the peek/poke methods.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1395 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-01-24 23:43:24 +00:00
stephena 41ad0de1fb Oops, that wasn't supposed to be committed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1394 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-01-24 20:45:05 +00:00
stephena 34665d7f40 First real pass at 4A50 support. It still doesn't compile yet, and may
not even work when it does :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1393 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-01-24 20:43:41 +00:00
stephena 5da06ccdca Now that OpenGL support seems to be working in Windows, I'm removing these dead D3D files. I *really* don't want to add yet another renderer to Stella.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1392 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-01-20 22:36:12 +00:00
stephena 09ff92d46c Added missing file for Visual Studio build.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1391 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-01-20 22:31:19 +00:00
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