Commit Graph

1437 Commits

Author SHA1 Message Date
stephena 70f24de25d Fixed compile warning concerning C vs. C++ strings.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1456 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-02 21:22:16 +00:00
stephena cfe52adc62 Fixed bug in ROM disassembler in the debugger. Apparently, mixing C strings and C++ strings causes issues in the Visual Studio compiler, but not for Linux. The ROM listing no longer shows squares (which represented null/out of bounds pointers to strings.
Updated Visual Studio files with latest AtariVox class.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1455 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-02 01:54:31 +00:00
stephena 27dc5a60e2 Moved AtariVox support from experimental to full-fledged controller.
Made SpeakJet emulation be optional, because it's still a WIP and we'll
soon be able to have AVox support without it.

Added SerialPort infrastructure, which will implement serial port access
in a general way.  Those ports which don't wish to do so can simply not
implement a SerialPortXXX class; in that case a null SerialPort is used.

Still TODO is actually implement the serial port functionality for UNIX,
and add similar classes for OSX and Win32.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1454 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-31 00:59:30 +00:00
stephena 5a50164c9c Re-added 'lastrom' functionality, where the last ROM successfully loaded
is remembered from a previous run, and autoselected the next time Stella
starts.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1453 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-30 15:47:10 +00:00
stephena c90e67d398 Made the error message clearer when a snapshot file couldn't be created.
Made the default snapshot folder be $BASEDIR/snapshots, and got rid
of the previous default './'.  I suspect this relative pathname was
causing a problem.  The user is still free to choose another
snapshot dir, but the one in $BASEDIR is always created anyway.

Removed the logic that entering Stella directly from a ROM wouldn't
allow one to enter the ROM launcher afterwords.  You can now always
exit from a ROM back to the launcher, no matter how Stella was
launched.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1452 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-30 15:01:38 +00:00
stephena cd9d21051f Fixed bit-rot with AtariVox stuff, and updated some of its documentation.
It now compiles and runs against the latest controller changes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1451 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-29 19:15:57 +00:00
stephena 1c1d7652e8 Bumped version to 2.5.1_cvs.
Fixed long-standing bug where debugger mode didn't work for E0 carts.
It seems at some point I refactored a section of code, and the debugger
wasn't being locked before entering it.  Hence, bankswitching was
occuring when the debugger attempted to read the emulation state.

Fixed a similar debugger issue for 4A50 support.  This might necessitate
a 2.5.1 release ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1450 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-28 23:29:14 +00:00
stephena 56ab631429 Final commits before the 2.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1448 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-26 23:59:21 +00:00
stephena 7f888242ed Updated OSX project files for 2.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1447 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-26 14:21:09 +00:00
stephena b78f0ac738 Fixed minor UI issue in GameInfoWidget.
Updated docs for impending 2.5 release.  I still have to add documentation
for Rom Info and Rom Audit functionality.  That's the worst thing with
adding new features; I have to document them :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1446 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-26 00:52:05 +00:00
stephena d0d6697e07 Added header to state files, so that older state files are automatically
marked as being incompatible.  With each future release, if the format
changes again, we simply update the header.  Also, the header encodes the
last version that worked with that format, with 2 bytes per number (ie,
version 2.5, or 2.5.0.0, is encoded as 02050000).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1445 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-25 13:52:38 +00:00
stephena e0e0a3648b Fixed minor compile issue in OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1444 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-25 13:11:34 +00:00
stephena c8a3385f45 Something else I forgot in the last release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1443 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-24 22:32:51 +00:00
stephena fd26816763 Added info about last release, which I must have forgotten to commit
last time.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1442 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-24 20:31:31 +00:00
stephena 3bba5a6892 Reverted to the old font handling code. I was trying to find a font
that looks roughly the same as the current default but was bigger.  Then
it occurred to me to simply modify that font to be twice as large :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1441 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-24 00:02:16 +00:00
stephena bb8ebc853e Fixed debugger issue where a sym file loaded from a previous ROM load
was still being used for the next ROM.  It makes me wonder how many
people use this feature, since this problem was never reported before.

Some general cleanup of the Debugger API.  I generally don't like
pointers, and use (const) references whenever possible.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1440 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-23 17:43:22 +00:00
stephena ee08e375b5 Oops, forgot to add the new large font for LauncherDialog. For now,
this is a simple mono-spaced font.  For a future release, I'd like to get
a nicer proportional font something like the current smaller one.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1439 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-23 16:25:12 +00:00
stephena 848bef86f5 Changed my mind again, and decided to reactive the ROM Info stuff; it's
just too cool a feature not to include in the next release ;)

Checked in some updated UI font-aware code.  All of the UI's are not
converted yet, but for the next release the only one that really matters
is LauncherDialog.

Added '-launcherfont' commandline argument and associated UI config
to set the size of the font used in the ROM launcher (for now, small
or large).  This is useful if you activate the ROM Info and can't
zoom the entire UI by 2x.  Previously, this meant the ROM listing font
was very small, but now you can have the launcher in 1x mode with a
larger font *and* the ROM info stuff also visible.  More changes are
coming in a future release, so this will have to do for now.

Reworked UIDialog to contain tabs, since the options were starting to
become unwieldy.

This pretty much ties up the last remaining items for this release,
so after a little testing and updating the manual, it's time for 2.5.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1438 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-23 16:22:46 +00:00
stephena adf9109b36 Some properties updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1437 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-22 21:48:54 +00:00
stephena d373aaeb5e Deactivated ROM Info viewer for the upcoming release. It really isn't
useful until I get the UI fixed wrt font sizing, and fix the issue where
you need to save snapshots in 1x mode.  All that leads to extra work that
can't be released in pieces, and I want to get this release out *now*.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1436 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-22 18:17:59 +00:00
stephena 328d15e83c Reactivated 'mouse is paddle X' functionality by integrating it directly
into the Paddles class.

Removed '-paddles' commandline argument.  You can still change the paddle
that the mouse is emulating from the UI or with Ctrl 0..3, but its no
longer a setting that can be saved.

Added message to LauncherDialog when a ROM is invalid and can't be loaded.

Reworked the GameInfoDialog a little wrt swapping console ports.  Behind
the scenes, the Console.SwapPorts property is still being used, but the
UI is now more consistent (you no longer select the left and right
controller, but the controllers for players 0 and 1, and which port
they'll be plugged into).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1435 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-22 17:35:03 +00:00
stephena 767f29d337 Updated OSX project files for recent ROM audit functionality.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1434 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-20 16:31:29 +00:00
stephena b5d9022c8b Updated Win32 project files for recently added ROM audit functionality.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1433 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-18 20:55:54 +00:00
stephena 7f3a2781d7 Some tweaks to the RomInfoWidget snapshot size, and upped maximum size of
the launcher to 1920x1200.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1432 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-15 19:11:02 +00:00
stephena 7e0314a9c2 Finalized 'ROM audit' functionality. Still TODO is test in Windows and OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1431 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-14 23:52:17 +00:00
stephena ea4305760b More work on the ROM audit functionality.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1430 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-14 19:34:57 +00:00
stephena bea44bafff Initial UI code for the new 'ROM Audit' functionality. Basically, one
will be able to select a ROM directory to scan, and have all files
identified as a ROM (by extension) renamed according to their properties
name.  This will create ROMs with 'pretty names', and takes the place
of the previously removed 'non-browse' mode.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1429 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-14 15:23:24 +00:00
stephena b6598c1d9b Fixed 'rom info viewer' mode, and added a checkbox to 'UI Settings' to
enable/disable it.  Currently, you have to exit and restart the program
for this to take effect.

Fixed issues with resizing and toggling video renderers and the
image not being updated correctly.  Also, saving a snapshot within
emulation mode and exiting to launcher mode now shows the new
snapshot.

Currently, the rom info viewer only works with PNG images 320x250 or
less (ie, 1x zoom mode in Stella).  If the image is bigger, a message
is displayed stating that fact.  At some point I have to add another
snapshot mode where it always saves in 1x mode (or maybe not; it
depends on how many people will want to save snapshots for viewing in
the rom info viewer).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1428 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-13 22:58:07 +00:00
stephena 90dce82289 Fixed 'Game Info' button in Options Dialog to only be shown when a valid
ROM has been selected in the ROM launcher (or if we're in emulation mode).

BTW, I forgot to mention in the previous commit that Stella now only
recognizes ROMs if they're named with the following extensions: .bin,
.a26, .rom, .zip, .gz (not case sensitive).  Right now, attempting to
select something else prints an error message.  Eventually, a MessageBox
will be shown indicating that the filename isn't valid.

For now, this restriction is only for files started from the built-in
launcher.  I haven't decided if it should apply to the commandline as well.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1427 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-12 22:04:53 +00:00
stephena 3b32d07c1d Removed 'non-browse' mode in the ROM launcher, this time for good. I
actually removed it from 2.4.1, and re-added it in 2.4.2.  But I think
I've figured out a way to get the best of both worlds, and only have
one browsing mode.  This will become clearer once I finish the ROM
auditing feature.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1426 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-12 19:42:36 +00:00
stephena cb0b5ae1ee Upon advice from Eckhard, changed the default location of the Stella
config folder to "My Documents\Stella".  Note that 'My Documents' will
mean different locations in different versions of Windows.  But the
user shouldn't have to worry about that, since the 'Stella' folder will
be in whatever 'My Documents' is on your system :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1425 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-09 20:38:44 +00:00
stephena 1d10a63af6 Made Win32 port use %USERPROFILE%\Stella as the base folder for the various
config files and the state folder.  This is more in line with the Linux and
OSX ports, which have a pre-defined basedir folder ($HOME/.stella).  This
also makes Stella behave better with limited accounts in Windows, since
writes are no longer done to the app folder.

Since the Win32 port didn't work this way before, many people may
require the old behaviour.  In this case, one may create a file named
'disable_profiles.txt' in the app folder to restore the old behaviour.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1424 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-09 17:52:40 +00:00
stephena 8e499bcf59 Oops, forgot to remove some debugging stuff from configure.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1423 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-09 15:32:09 +00:00
stephena 2cc674a0f7 Removed more unused cruft from the UNIX build scripts, and reorganized
things a little (I hope I didn't break the recent GP2X changes).

Removed more PSP stuff, since that port is no longer maintained in this
codebase, but by someone else externally.

Building the 'win32dist' target is now tailored to a Linux environment,
and now properly converts text files and zips up the result
automatically.  So automated building just became that much closer ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1422 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-09 15:30:27 +00:00
stephena 8e76c31e4c Added cross-compile support for Win32 from Linux using MinGW. This is
accessed using a new 'host' type in configure (mingw32-cross).  For
my system, the command would be as follows:

configure --host=mingw32-cross
          --with-sdl-prefix=/home/stephena/.mingw/usr/i386-mingw32msvc

This allows you to compile the Windows version in Linux, which is my
main development platform.  It will also allow me to get the automated
build page working again :)

Removed all NASM checking from the config scripts, since we're never
going to use it (it goes against the philosophy of Stella compiling
everywhere).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1421 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-09 14:17:03 +00:00
stephena 157b723502 Updated Win32 Visual Studio project for recent X07 cart support. Also fixed project files in debug compilation mode for both Win32 and x64 support. These haven't been working in a *long* time. Note that if you're using Visual Studio, the required zlib files are now zlibwapi, which can be downloaded from the main zlib webpage.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1420 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-08 23:34:24 +00:00
stephena bc272789ba Updated Win32 Visual Studio project for x86_64 support.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1419 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-08 13:22:12 +00:00
stephena f1eb370637 Added '-tiafloat' boolean commandline argument, which defaults to 1/true.
This ties into the TIA floating pin on read logic that Eckhard recently added.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1418 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-03 18:54:51 +00:00
estolberg 9e8e2fac6c Started to add support for optionally playing games on 'CMOS EPROM'. When the game is stored on a CMOS EPROM, the six unused bits in TIA reads will not be floating freely. Instead they all will be pulled high. Programmers might use this to help finding the commom problem where they intend to read an immediate value, but are reading from zero-page instead, because they forgot the '#'.
To test this feature set 'myFloatTIAOutputPins' to 'false' in TIA::reset() and play the old version of Reindeer Rescue where you can see how Santa gets stuck in the background.

TODO: add a command line switch to control this feature. Steve can you help?


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1417 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-03 17:51:55 +00:00
estolberg 9e23fa3c72 Fixed a bug that was preventing driving controllers on the Stelladaptor to coexist peacefully with other PC inputs. Also corrected the driving controller movement drection for the Stelladaptor.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1416 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-03 16:27:16 +00:00
stephena 3fde38a1b0 Fixed crash when toggling software and OpenGL mode with a Stelladaptor
plugged in.  It seems SDL sends button events for buttons 2, 3, 4, 5
in this case, which really doesn't make sense; a Stelladaptor can only
have two buttons.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1415 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-03 16:14:50 +00:00
stephena 6f2f1da0f9 Added '-bs' commandline argument, which does the same thing as '-type'
(sets the bankswitch type).  I'm leaving the '-type' there as well,
just in case there are people (or frontends) that depend on it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1414 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-03 14:53:34 +00:00
stephena 0550990c59 Added one setting to change the speed for all digital paddle emulation
movement, named 'pspeed'.  This replaces the 4 'pXspeed' commandline
arguments.  Also removed 'pthresh', since it no longer serves any purpose.

Updated UI to change this setting dynamically from within Stella.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1413 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-02 20:48:51 +00:00
stephena 9dd3582a86 Large number of changes related to controller input and handling.
Moved a lot of the code into the respective Controller classes, in the
process cleaning up the EventHandler (which was starting to get a little
unwieldy).

I've borrowed some code and ideas from z26, but also improved on it as
well:

1)  Stelladaptor devices now send their events directly to a
controller class, allowing for any Stelladaptor device to emulate
a controller (to the limits of the input device, of course).

2)  Hopefully fixed Stelladaptor driving controller support.  Eckhard,
could you test this, since I don't have any of those myself?

3)  Improved interaction with different input devices.  For example,
a Stelladaptor, mouse, joystick (digital and/or analog axis), and
the keyboard can now simulate paddle events at the same time.  So it
shouldn't matter what input devices you have plugged in; things should
'just work'.  In the case of Stelladaptor paddles, you may have to
'zero' them by turning completely left, however.

4)  Related to (3), changed mouse events to use relative motion.  This
should fix the issues with paddle emulation/movement behaving
differently based on the window size.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1412 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-02 19:20:50 +00:00
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