Commit Graph

1364 Commits

Author SHA1 Message Date
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
stephena c5bab0e56a Streamlined output for 'rominfo' command.
Fixed bug in FileSnap Dialog where the reload was shown in emulation mode.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1272 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-07 01:26:52 +00:00
stephena 227c357ece Fixed resetting of TIA when changing X/YStart and Width/Height. A full
TIA reset isn't required in this case, and isn't always correct.  Instead,
only the frame parameters should be reset.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1271 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-06 21:13:29 +00:00
stephena 7c5e5af3f4 Fixed issue in last commit with having to specify the framerate before
a console was actually created.  It's now specified as part of the console
initialization, and updated values are seen everywhere.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1270 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-06 16:28:38 +00:00
stephena 40f333129b Changing XStart/YStart/Width/Height values of the Console/TIA are now done
without resetting the whole system.  This means that a game can continue
running while these values are being changed.  Eventually, I'd like all
such options to be configurable in-game, and not have to reload a ROM
for them to take effect.

Updated yet more ROM properties, which were found with the help of the
above feature.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1269 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-06 16:21:31 +00:00
stephena 9c581cb5d5 Some refactoring in the Controller classes, since I was experimenting with
adding TrakBall support (pushed to the 2.4 release).

Final batch of ROM properties updates.  At least 6 or 7 games that didn't
work before now function correctly.

Once the OSX OpenGL crashes are worked out (which looks promising), we'll
be ready for a 2.3.5 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1268 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-05 17:54:23 +00:00
stephena c022f9ab5f Removed 'fastscbios' option, since now it always needs to be enabled
(or at least until I can figure out how to bypass it entirely when
testing whether a ROM is NTSC or PAL).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1267 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-03 17:37:46 +00:00
stephena b679b3e87b Fixed crash in OSX port when opening joysticks. It's very strange, since the
original code compiled and ran on the exact same machine a few weeks ago??

Updated OSX build so it actually compiles again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1266 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-03 12:59:24 +00:00
stephena 7f542092bc A few more ROM property updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1265 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-02 18:22:26 +00:00
stephena 6f6f27160e Fixed issue with GP2X port not defaulting to GP2X UI palette.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1264 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-01 19:55:56 +00:00
stephena 74eb56f148 Updated ROM info for 'SWOOPS!'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1263 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-01 19:18:28 +00:00
stephena 72b771cf33 Removed settings version logic from the last release, since it never
really worked right anyway.

Bumped version number for beta testing.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1262 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-01 18:21:04 +00:00
stephena f059f28c02 Updated some files for impending 2.3.1 release.
Updated copyright info for 2007 (might as well get it taken care of
early in the year).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1261 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-01 18:04:56 +00:00
stephena 0615645757 Updated Win32 build process, and cleaned up the Visual Studio project.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1260 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-01 01:55:26 +00:00
stephena 01b55e5f6c Some minor UI fixes and a bump for copyright. Except for some extra
testing, I think we're ready for a 2.3.1 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1259 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-31 23:42:04 +00:00
stephena e5c3eb0327 Added 'launchersize' commandline argument, which specifies the size of the
ROM launcher window, and takes a value of 1 (320x240), 2 (400x300) and
3 (512x384).  Stella must be restarted for this to take effect.

Added 'uipalette' commandline argument, which selects between the palettes
to use for the UI (1 - classic, 2 - GP2X).  We'll probably add more of these
in the future.

Added UIDialog, accessible from the Options dialog, and populated with the
above items.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1258 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-31 23:20:13 +00:00
stephena 32f8c8ba2f Fixed segfault when a ROM had per-frame cheats enabled. Apparently the
cheats were being evaluated even after the console was deleted.  Also
moved saving of cheats out of the Console d'tor.  I never liked that
required functionality was in a d'tor; it felt sort of hacky.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1257 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-31 17:21:17 +00:00
stephena f0a3700e53 Fixed issue with two F8 cartridges that have to start in the opposite bank.
It wasn't worth adding another bankswitch type for these, since they're
basically an anomoly, and I don't think any others exist like it.

Updated "Air Raid" ROM properties.  This is a PAL ROM, no matter what
the other emulators say.  The only way I'll change it at this point is to
see the real cartridge in action.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1256 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-31 02:16:37 +00:00
stephena fc4e4b7b17 OK, some huge changes across the board, so lets see if I get it all:
After much request, added ability to access the settings menu from the
ROM browser dialog.  This menu now contains almost all items that can
be selected in Stella, and can be accessed in-game as before.

Completely removed pause functionality from the core code.  It made
sense back when Stella was a single-mode program: there were two modes;
emulation and pause.  Now that there are other event modes, the
EventHandler state machine is getting too complicated.  If you want to
pause, you can simply enter one of the in-game menus.  Related to this,
when the app is minimized, Stella enters the menu dialog state.
Previously, minimizing the app caused a pause, but since there was no
onscreen feedback, many people assumed the app locked up.

Added centering to all Dialog boxes, which is done dynamically, as they're
placed on the dialog stack to be drawn to the screen.

Cleaned up the API of Console/FrameBuffer/OSystem classes wrt to palettes
and timing.  Parts of each were being done in different classes; now it
should be more consistent.

Started infrastructure for user-selectable UI palettes.  For now, there's
no way to change it in the GUI, and it defaults to the normal palette.
Eventually, there will be several choices selectable from an in-game
menu.

Removed '-channels' commandline argument, since that feature can be
set from the ROM properties.

Added '128' to the choices for fragment size in AudioDialog.

Tweaked the OpenGL dynamic loading code to test both the given GL
lib, and if that fails to use auto-detection.  It seems in the OSX port,
the first approach works for some people, and not the other (and vice-versa),


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1255 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-30 22:26:29 +00:00
azaballa 16f99140d2 Just because the 2X accepts 128 frags, doesn't mean we should use them. ;)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1254 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-30 20:23:51 +00:00
stephena 6825938310 Fixed bug in GP2X snapshot code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1253 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-29 18:19:50 +00:00
stephena 00c0117c51 OK, now the vertical centering should work. I hope ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1252 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-29 18:01:17 +00:00
stephena a24a4776e9 Another try at the GP2X framebuffer vertical centering. Maybe third times
a charm??


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1251 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-29 16:52:43 +00:00
stephena cf998fb59f Fixed missing define for GL_TEXTURE_RECTANGLE_ARB in OpenGL code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1250 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-29 15:16:47 +00:00
stephena 60af2ffe33 Fixed FrameBuffer crash in GP2X port.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1249 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-29 15:15:18 +00:00
azaballa a7d4658634 The 2X can handle a 128 fragsize which improves sound quality over previous 2X releases.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1248 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-29 02:32:11 +00:00
stephena 627efcb4fa Fixed bug with setting developer properties from the commandline not
having any effect.

Finished removing all TIA tweaks from ROM properties; the defaults should
now me much more authentic.  Related to this, completely removed the
'tiadefaults' argument and all functionality.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1247 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-28 20:40:01 +00:00
stephena 705c97fd4f Some changes across the board. Lets see if I can remember them all:
Fixed annoying timing bug that's bothered me since the 2.0 release.
Exiting a ROM and starting another one was causing the new ROM to not
start playing sound from the beginning.  This was made worse by the new
display format auto-detection logic.  Basically, the main event loop
wasn't being reset from one ROM to another.

Moved OSystem::mainLoop() back into the actual OSystem class, and
removed it from the UNIX/OSX/Win32/GP2X ports.  It's still virtual,
though, just in case a port wants to handle all timing itself.

Started a massive purge of all enhanced XStart/YStart values from
the internal properties.  I'll also be removing the 'tiadefaults'
argument, and leaning towards a more authentic emulation look
and feel.

Second pass at image centering in the GP2X port.  Now we only
do vertical centering, and only on images that won't be scaled
in hardware.

Reworked creating a new Console.  It now takes in the properties and
Cartridge required for operation.

Re-added changeWidth() and changeHeight() console functionality, since
it's proved to be very beneficial.

Cleaned up getting info about a cartridge.  It was sort of hacky before.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1246 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-28 18:31:27 +00:00
stephena 485f9200a4 Added centering of the image to the GP2X port. Note that I haven't
compiled this code yet, so there's no guarantees :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1245 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-26 23:53:27 +00:00
azaballa 0724c20181 Added ifndef for GP2X 16 bit sound.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1244 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-26 22:57:31 +00:00
azaballa 4b5324b98f Fragsize of 256 seems to sound better.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1243 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-26 22:00:46 +00:00
stephena f7b9687d8c Tweaked cart autodetection code wrt '3E' bankswitching. Since a '3E' cart
is almost always a '3F' cart as well, it makes sense to only test for it
when we already know the cart is probably '3F'.  As well, the pattern for
a '3F' cart results in a lot less false-positives than '3E'.

Added '-colorloss' commandline argument and 'Ctrl-l' key shortcut.  This
enables or disables the PAL color-loss effect, and will default to off
(similar to z26 functionality).  Still TODO is add a UI entry for it.

Fixed a bug in the calculation of PAL color-loss values; it wasn't actually
giving grayscale data, but something with a greenish tint.

Updated PAL autodetection code to run for 60 test frames instead of 20,
and ignore the first 30.  This helps when loading SuperCharger games,
since the BIOS code always runs at NTSC rates, even if the ROM really
should be PAL.  For now, this means it only works when 'fastscbios' is
enabled, and the BIOS runs in 30 frames or less (vs. needing 250+ frames
for normal speed!).  I'm strongly leaning to just making 'fastscbios'
a non-editable default.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1242 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-26 17:06:01 +00:00
azaballa 09c3a38a0d Peeled back last change. I vaguely recall a conversation a year ago about not needing accurate timing.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1241 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-26 04:35:36 +00:00
azaballa 5eba721e55 Updated OSystemGP2X class to parallel UNIX target.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1240 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-26 02:20:23 +00:00
stephena 267f8a22a3 Fixed toggling between display formats, and saving them in GameInfoDialog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1239 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-26 02:09:29 +00:00
stephena 5593970b56 Added autodetection of NTSC or PAL display format, based on the number
of scanlines in a 20-frame run of the Console.  This should finally quiet
those idiots that say 'Stella sucks' because it's too slow (when in fact
it just didn't know a ROM was PAL).  This will only detect NTSC and PAL;
PAL60 will be autodetected as NTSC.  AFAIK, there's no way to detect
this, so it will still need to be defined in the properties.

Added autodetection logic for E0 and E7 bankswitching types.

Added '-rominfo' commandline argument, which gives a semi-detailed
description of the given ROM, including cart type and display format.

Yes, I'm a geek; this is what I spend Christmas day doing :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1238 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-26 00:39:44 +00:00
stephena deacea8437 Improved cart auto-detection logic. There's still quite a bit to do,
and I'm not sure if some of the remaining types can even be autodetected.
I only wish I'd had time to include this in the 2.3 release.

Bumped version number to 2.3.01, and starting all over again.  Hopefully
more help will find its way to me this time :(


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1237 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-24 17:13:10 +00:00
stephena 61ef87830e Updated Win32 VC project for debugger expression changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1236 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-23 15:17:11 +00:00
stephena f9811fa0ae Oops, forgot this in the last commit (related to debugger expression
consolidation).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1235 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-23 15:11:19 +00:00
stephena 1344ad67c9 Cleaned up the debugger files a great deal. There was no need to have
each different Expression class in a separate file, especially since they're
mostly only one-line methods.  So now all the classes are placed in
DebuggerExpressions.hxx.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1234 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-23 15:08:46 +00:00
stephena 0f8c5a5046 Fixed segfault when using '-type' and the type wasn't supported by
Stella.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1233 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-22 23:14:39 +00:00
stephena a87433d557 Oops, pressed the wrong key on the last commit. I meant to say:
Tweaked the settings so they're more familiar to the user.  Specifically,
'tiadefaults' is not on by default.

Fixed issue with using "[..]" in Win32 when at the root of a drive.  In
that case, the parent is the listing of all drives.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1232 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-22 22:39:34 +00:00
stephena 1e0edb95e2 Fixed issue with 'tiadefaults' only setting defaults for width and height.
It now uses the defaults for xstart and ystart as well.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1231 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-22 22:32:49 +00:00
stephena 3a9ac632da Fixed issue with softwsre rendering in fullscreen mode in the Win32 port.
Hopefully this won't slow things down too much for other platforms.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1230 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-22 21:47:27 +00:00
stephena 94e6bd66a9 Some last minute fixes for building in Win32.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1228 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-20 20:36:26 +00:00