Commit Graph

1970 Commits

Author SHA1 Message Date
stephena 113d7af8c2 Updated internal Zlib to latest version (1.2.5).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2067 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-10 20:53:22 +00:00
stephena 3e7662c478 Fixed bug in loading RGBA PNG images; Stella can only handle RGB data.
Also, fixed a potential future bug where Stella can't handle paletted
images.  Basically, the error handling is now more robust.

Minor rework of the CartF8 class; it now looks the ROM MD5 directly and
decides if it's a 'special' ROM.

Several updates to the built-in properties database, including better
support for each game in the 8-in-1 ROM image.

Fixed crash in TIA handling of the playfield mask; it could cause a 
segfault under certain circumstances.

Fixed bug in prune_snapshots script; it now properly handles directory
names containing spaces in both Linux and OSX (and probably Windows as
well, but this hasn't been tested).

Updated built-in PNG library to the latest version (1.4.3).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2066 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-10 17:12:45 +00:00
stephena 8bf546ce1d Always clear any current events when changing emulation states.
This fixes a bug in exiting pause mode, and 'remembering' the
events that were set previously.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2065 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-09 14:52:03 +00:00
stephena c0cc5b489e Bumped version number for beta tester release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2064 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-08 16:33:42 +00:00
stephena b59672542d Further improvements to accessing the UI with joystick axes and hats.
The event mapping for such events is now done on the release of the
axis/hat, and not on the first press.  This should fix the remaining
problems with sensitivity, as the user must explicit press and then
release the axis/hat, with all other events occurring the meantime
being ignored.

Fixed bug in continuous events for axes/hats; event that represent
'off' should not be continuously sent.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2063 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-08 16:32:32 +00:00
stephena e0376c85d2 Tweaked navigating the UI with a joystick, particularly with analog
axes.  It shouldn't be nearly as sensitive now.

Cleaned up handling of joystick hats, and fixed continuous events
(so that holding down a hat now sends continuous events until the
hat is centered again).

Fixed bug in prune_snapshots script; it didn't work with a snapshot
directory name containing a space.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2062 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-07 14:19:45 +00:00
stephena d217b49f88 Some more documentation updates and snapshots.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2061 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-06 19:47:50 +00:00
stephena fa6f02579c Of course, I forgot a manual update in the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2060 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-06 15:12:00 +00:00
stephena c3f5aa2810 When starting Stella for the first time (ie, when the ROM directory hasn't
been chosen), a dialog box now appears, asking the user to enter the
default directory.  This directory will appear each time the ROM launcher
is entered, until the user selects a directory.  This will hopefully
eliminate bug reports from users that don't know what to do when first
starting Stella.

Big changes to the manual, separating the necessary, up-front information
from the advanced stuff that can be considered later (or not at all).
Also added more links to ease navigation.  This should make the manual more
readable for those that have complained it's too long.

The setting for TV color type is now 'Color' and 'BW', instead of
'BlackAndWhite', as before.  The old one will continue to work, though.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2059 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-06 15:08:35 +00:00
stephena 78fd3c0c7d Modified joystick axis event handling, so that digital output is always used
when sending axis events to the DialogContainer (ie, all UI-related stuff).
The UI code was originally written with this in mind, and wasn't designed for
analog input.  For normal digital sticks, nothing changes.  For analog sticks,
values are clamped to 3 points (max, min, off), and repeated consecutive
events are ignored.  This (partially) fixes bugs in the UI, where pressing
an analog stick would cause the current selector to move very fast.

Added repeat mode for joystick hats, similar to joystick axes (so holding
down a hat will cause continuous events to occur.  More testing is
required for this, as I don't actually have access to hats right now.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2058 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-02 19:17:57 +00:00
stephena 88e6b69195 Attempt to prune as much of libpng as possible, and only keep what
Stella actually needs.  I suspect more stuff will be excluded as
I look through the options.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2057 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-17 16:27:45 +00:00
stephena 99e7f6c5d0 The getTicks() method is updated to work similar to gettimeofday, for
systems where gettimeofday doesn't exist.  Basically, the functionality
for OSystem::getTicks() has changed to always output an increasing
value each time it's called, even between program runs (needed for
timestamps for continuous snapshots, but also for similar things in
the future).  It does this by refering to some set time in the past,
which is currently the UNIX epoch.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2056 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-16 15:40:57 +00:00
stephena 9b6ed83d7e Snapshots in continuous snapshot mode are now tagged with a timestamp,
so they don't overwrite previously created files.  This timestamp is
related to the millisecond that the snapshot was taken, so there's no
chance of overlap (snapshots can only be taken every 1 second / 1000
milliseconds at most).  The appended value is an 8-character hex
representation of this 32-bit value.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2055 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-16 13:45:32 +00:00
stephena 5099e2d9fc Some minor cleanups in the PNGLibrary class.
The UNIX builds for Debian and Redhat/RPM now default to using the
builtin PNG and zlib libraries.  This will ease issues at release
time, since we don't need to worry about those libraries being
present on the destination systems.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2054 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-15 19:08:05 +00:00
stephena ad83d21a69 Fixed issue in Windows; PNG messages thrown from the exception handler weren't being handled correctly.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2053 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-15 18:49:25 +00:00
stephena 4409e55894 Fixes for libpng compilation in Linux.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2052 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-15 18:14:37 +00:00
stephena 58452a6f37 Add ability to force use of built-in png and zlib library code, even on
systems where these libraries are available.  This is useful for testing,
and also for release builds (where we don't necessarily know if
zlib and libpng are installed).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2051 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-15 17:57:54 +00:00
stephena ad3a22b9e5 RomInfoWidget now uses PNGLibrary to load PNG images. This allows
interlaced or row-filtered images to be correctly processed.

Updated the non-Intel XCode project to include libpng support.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2050 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-15 15:40:11 +00:00
stephena 86b2eddc2e Bugfix to usage of BSPF_equalsIgnoreCase; it was actually using reversed
logic.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2049 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-14 13:11:39 +00:00
stephena 91f22e4ddc Added makefile stuff to compile libpng for Linux/UNIX when a system-wide
version isn't available.  Of course, because of compiler errors it doesn't
actually compile yet :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2048 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-13 22:52:18 +00:00
stephena a9f91c0e44 Updated the case-insensitive string comparison functions to be more
efficient, and use macros that have already been defined.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2047 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-12 14:13:03 +00:00
stephena 1cdd4c9508 Updated Win32 project files for recent addition of libpng files.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2046 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-11 19:34:13 +00:00
stephena ec096dca6f Updated configure script to test for an external PNG library, and if
not found fall back to using the internal version (for Linux, and all
systems that use the configure script).

The debugger can now be resized in between ROM launches (ie, before
a ROM is actually started).  Previously, the entire program had to
be restarted for resizing to take effect.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2045 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-11 19:09:20 +00:00
stephena ec1d3c6e10 First pass at adding libpng functionality directly into Stella,
similar to the recent Zlib addition.  This is required for the
RomListWidget, which currently doesn't parse valid PNG files
that are generated outside Stella (in particular, those that
have been optimized and use row filtering).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2044 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-11 15:38:17 +00:00
stephena cd34147f5e Oops, the disassembly output should align based on the length of the
entire disassembled text, not just the label length.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2043 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-05 01:23:39 +00:00
stephena ffae9a0d56 Size hints are now passed to the disassembly output, so that the cycle
counts are aligned after the disassembly text with as little space as
necessary.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2042 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-05 01:17:03 +00:00
stephena 4735feda13 Mostly completed support for showing .sym label information in the
disassembly output.  Still TODO is add some visual improvements
(ie, align the cycle counts to not take too much space, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2041 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-04 16:33:56 +00:00
stephena befafd5d62 Second pass at integrating .sym labels into disassembly output.
There's currently a problem in the internal code I have, so I need
to submit in pieces until it's tracked down.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2040 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-03 12:54:45 +00:00
stephena 88f7f656e6 First pass at integrating dasm '.sym' labels into the disassembly output.
For now, only the infrastructure is being modified.

Make disassembly output a little nicer by drawing a vertical line
separating disassembly text from the actual raw bytes.

Some changes to the SDL sound code initialization, which will (hopefully)
eventually lead to a fix for those users with ATI video drivers, and
not having sound after the first game has been played.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2039 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-03 12:41:49 +00:00
stephena 0c1029076c First pass at making Distella aware of labels defined in a .sym file
or from the user.  Before this is done, the parser needs to recognize
variable-length labels (right now, it used fixed spacing and assumes
the largest label is 8 characters).

Fixed bug in Distella; a label was being printed with an incorrect
quote symbol, which would break parsing of that line.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2038 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-05-12 00:04:14 +00:00
stephena dfd4d0cb22 Updated DPC+ bankswitching to match behaviour of Harmony cart.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2037 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-05-12 00:01:06 +00:00
stephena 03c6e2c4f0 Improved 'E7' autodetection; several ROMs that were detected as F6 are
now properly detected as E7.

Some minor cleanups to the Cart classes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2036 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-05-10 00:50:26 +00:00
stephena 2468585c3e Added 'Stay Frosty' PAL60 ROM to internal database.
Bumped version number so development can start on the next
release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2035 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-05-05 16:38:38 +00:00
stephena 5ca6d8c49d Removed 'uselauncher' from the UI, as it really shouldn't be there
(ie, disabling from the UI kills the UI on future runs, so you can't
enable it again).  This should fix problems where users go
'click-happy' in the UI, turning options on and off just to see what
happens.

Added 'showinfo' to the UI, so you don't have to drop to the
commandline to use it.

Updated all release files and bumped version number for 3.1.2
release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2031 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-05-03 12:01:43 +00:00
stephena f5dd4e6ce7 Updated DPC+ scheme to autodetect and use DPC+ carts in 32KB format.
These have ARM code appended to the beginning of the ROM, which is
(for now) ignored by Stella.

Improved memory usage for DPC and DPC+ schemes, so that an extra
copy of the ROM image is no longer required.  This also fixes a bug
in the getImage methods, which wouldn't have actually returned any
changes made by patching the ROM (it always returned the original,
non-modified copy).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2030 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-05-02 22:52:59 +00:00
stephena 5de12952ec Added OSystem::logMessage(), which abstracts the logging of messages to
an outputstream.  For now, the output simply goes to stdout or stderr,
just like before, but the possibility is now there to redirect to a
file if desired.

Changed 'showinfo' commandline option to accept 'levels' of output
instead of simply being a boolean.  The new default is level 1,
in which normal messages are output during a run.  Level 2 will
show more detailed info, and may be useful in debugging end-user
problems.  There's still more work to do wrt level 2.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2029 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-29 12:46:07 +00:00
stephena f8adf5c314 Final changes for the 3.1.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2027 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-25 23:33:49 +00:00
stephena 3c01d9f72e Getting ready for the 3.1.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2025 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-24 18:03:57 +00:00
stephena a8ef629270 Changed version number to a test release of 3.1.1, which is going
to be released early next week.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2024 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-23 22:36:24 +00:00
stephena dd832f2ef4 Only return a label for IO registers if one has been defined.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2023 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-23 22:05:57 +00:00
stephena 66690033c4 Fixed segfault when accessing RIOT IO registers, any of its mirrors,
and associated labels in the debugger prompt.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2022 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-23 19:25:11 +00:00
stephena f67c3b7690 Updated properties for several Dragster ROMs.
Bumped version number for next release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2021 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-23 12:09:14 +00:00
stephena 2011042d8f And yet more things I forgot in the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2018 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-21 16:10:39 +00:00
stephena f80cc2a00b And it never fails; there's always something left to commit
after I say it's the last commit :)  Maybe for the next
release I'll create some scripts to handle this ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2017 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-21 15:57:45 +00:00
stephena 31d3233dc0 Fixed timing bug reported on AtariAge, also noticed on several versions
of OSX.  It was partially caused by 'negative time', or successive
calls to SDL_GetTicks() returning smaller values than previous calls.
This obviously totally confused the timing logic, which was never
designed for time to go backwards.  Related to this, setting the
framerate to 0 from the VideoDialog UI (indicating that auto-frame
should be used) ended up setting the time-per-frame to approx. 71
minutes, resulting in a delay of 71 minutes to the next frame
(which is what caused the 'lockup').

Changed all references to the Intel OSX build to also mention OSX
Snow Leopard (10.6), since the build won't run on 10.4 or 10.5.

Bumped version number to 3.1 (again).  Hopefully this is good to go.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2016 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-21 15:45:44 +00:00
stephena 10022676e9 Updated DPC+ code to latest version from Spiceware. Hopefully we can get
final support for this completed before the 3.1 release next week.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2015 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-18 15:01:38 +00:00
stephena 6dc6d959b5 Of course, we're still not ready for the 3.1 release, so I have
to bump it again.

Rant mode : each release of Stella seems to get harder and harder.
I have to fight to force myself to get ready for release time,
and when it comes, there always seems to be something popping
up at the last minute.  This time, it's crashes on various
iMacs that I just got access to (while everything is working
perfectly on my Macbook Pro).  I sometimes think it's time
to throw in the towel, and move on to other things ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2014 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-15 15:18:03 +00:00
stephena 506f5357b1 OK, hopefully this is the final commit for 3.1 (yeah right!).
Updated all remaining issues with the documentation and
changelog, and bumped the version # to 3.1.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2013 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-14 23:49:02 +00:00
stephena 32aa9d3186 Fixed a *REALLY* annoying bug in Windows with the latest code. It seems that System::PAGE_xxx enumerations were already defined elsewhere in a Windows header file. This was very irritating to track down. As a result, they're now named System::PA_xxx (for 'PageAccess').
The file selector in Windows now ignores all items starting with '.', not just the directories '.' and '..'.  This is most apparent when using the Windows port and browing Linux shares, which shows many dot files.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2012 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-14 22:35:46 +00:00
stephena f94ebed340 Some improvements to continuous snapshot mode:
1) the interval between snapshots can be configured within the
'File Settings' dialog

2) the commandline option is now named 'ssinterval' instead of 'ssdelay'

3) the action is tied to the 'Alt/Cmd-s' key instead of a function key

There's just one more small issue to take care of in the Windows port,
and the next release should be ready.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2011 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-14 20:27:59 +00:00