Commit Graph

83 Commits

Author SHA1 Message Date
stephena 3e4d82472b Added 'FA2' bankswitch support (from cdw) for upcoming Star Castle ROM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2361 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-21 13:11:08 +00:00
stephena 16ad78f468 Fixed bug in cheatcode handling; disabled cheats weren't actually being
correctly disabled.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2360 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-20 23:56:49 +00:00
stephena 08ae1c3fe8 Updated how the debugger is created, and protected against using the
debugger before it has been initialized.

Tweaked the format auto-detection by also looking at the TIA scanline
at which drawing first occurs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2359 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-17 22:20:20 +00:00
stephena 6f5f0c3558 Updated the changelog for patches from R. Canavan.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2347 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-08 20:14:18 +00:00
stephena 5f0bfc2a9f A few documentation updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2345 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-08 19:06:42 +00:00
stephena 293a8a69b4 Added TIA INPTx and VBLANK D6/D7 items to the debugger I/O tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2343 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-08 16:55:10 +00:00
stephena 76e3ba8ec0 Updated documentation for SWCHB debugger changes, and updated
the changelog.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2330 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-02 22:09:54 +00:00
stephena af9e1075d4 Final updates for the 3.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2314 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-29 21:38:40 +00:00
stephena a99e0d7499 Updated changelog for DonationWare status.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2309 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-29 00:59:02 +00:00
stephena aeb8d27746 Added 'mcontrol' commandline argument, which allows to map mouse axes
separately to different paddles.

Updated documentation for impending 3.5 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2296 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-26 21:40:28 +00:00
stephena b6cab4e626 Removed redundant 'audiofirst' commandline argument, and fixed displaying
of RAM addresses in debugger RamWidget.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2295 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-23 00:04:58 +00:00
stephena 56694b5934 The sound system is now opened once per program invocation, and paused
when it isn't needed.  According to SDL this shouldn't be necessary, but
some combinations of video modes and audio hardware cause sound to stop
working if it's repeatedly opened and closed.  So we have to keep it open.

Always attempt to use 2 channels (aka stereo) when opening the SDL audio
device.  This is now required, since ROMs can request mono or stereo mode,
and the sound system can no longer be closed and re-opened with the
desired settings.  So we need to always use 2 channels to accommodate
when it might be needed.  This actually more closely emulates the 2600,
which does have two audio channels.  The 'mono' vs 'stereo' ROM property
basically controls whether these channels are exposed (ie, does the
virtual console have two-channel audio hardware installed).  In that sense,
these settings control how the channels are mixed.

Updated some settings to have more reasonable defaults.

Added acknowledgement for people that have donated hardware to help with
development.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2291 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-21 17:18:53 +00:00
stephena d35c220953 Huge restructuring of the joystick handling code. Event mapping is now
saved per device, so that unplugging and replugging a joystick won't cause
the previous mappings to be lost.

All attributes of a joystick (ie, number of sticks, number of axes, buttons,
hats on each stick) are dynamic, meaning that hardcoded values are no
longer used, making the handling more robust.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2285 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-11-29 22:12:13 +00:00
stephena e8776a79d6 The default snapshot dir is much saner, defaulting to the users'
desktop on OSX and Windows, and the home directory in Linux.
The associated commandline has been changed to 'snapdir'.

Added 'GL VBO' toggle button to the Video Settings UI, and in
general cleaned up its interface.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2282 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-11-25 14:17:05 +00:00
stephena faa0789727 Updated some code comments and the documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2280 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-11-19 18:28:17 +00:00
stephena 377765f565 Removed all traces of the OpenGL TV filters. This is due to be replaced by
Blargg NTSC filtering, but we need to revert to base functionality first.

Cleaned up the debugger API wrt converting values from integers to strings
(and vice-versa).  There is now only one method for each of these functions,
rather than several ways to do so.  In the process, convert from unsafe
sprintf functions into snprintf (eliminate potential buffer overflows).

The debugger 'print' command now indicates if any assigned label represents
a read-only location (R), a write-only location (W), or a read/write location
(R/W).

Fixed bug in DataGridWidgets (used in debugger ROM and CPU registers), where
scrolling the mouse-wheel would cause a segfault.  Scrolling the mousewheel
now changes these items as expected.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2260 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-07-03 17:08:42 +00:00
stephena dbdfb2f320 Final changes for 3.4.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2256 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-06-11 23:55:53 +00:00
stephena 2d9d487300 Fixed bug with autoexec.stella debugger file not actually executing its
contents.  The file was being accessed and read, but the commands it contained
weren't being executed!  This bug appeared in April 2010, so it looks like
not many people are using this feature (or at least they're not reporting it).

Cleaned up a few compiler warnings in DebuggerParser class.

Bumped version # for beta release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2254 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-06-11 22:45:50 +00:00
stephena cb3f0e96ba Zero-byte ROMs are now rejected, instead of being loaded as Supercharger ROMs.
Fixed bug in handling analog axes with jitter; they were overriding events from
digital, hat and keyboard input.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2251 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-06-09 20:50:19 +00:00
stephena df71aa03d1 Cleaned up the FilesystemNode API a little, removing some redundant code.
The debugger 'saverom' command now uses absolute filenames, and by default
will save data in the users home directory if a proper path isn't included
in the filename.  This fixes a major bug where ROMs were being saved to
the current or application directory, which in some cases were invalid
locations.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2250 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-06-09 14:00:30 +00:00
stephena 4c59d810f1 Grabmouse now has a hotkey (again). Fixed mouse motion handling in
several cases (fixes problems when moving the mouse too fast or
when changing between video modes).  Added extra signature to the
bankswitch autodetection for the 4A50 scheme.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2249 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-06-07 13:40:59 +00:00
stephena 2b9f625f76 Re-enabled 'grabmouse' functionality with a few changes:
- it doesn't have a hotkey any more
  - it is changed in the "Input Settings' UI, not in 'Video Settings'
  - it only has meaning while in emulation mode
  - it is enabled by default


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2245 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-06-02 20:53:01 +00:00
stephena 0eff1696a0 Final updates for the impending 3.4 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2237 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-27 15:48:35 +00:00
stephena 4e6d4cb1c6 Cleaned up some inlines that weren't needed.
Updated documentation with info about 2600-daptor, including
usage and its creator.  Also included more in-depth explanation
for the various controller types.

Errors from the Thumb ARM emulation code are now caught as exceptions,
and thrown to the parent class instead of calling exit() and simply
crashing Stella.  For now, the messages are simply printed and
emulation continues.  This will be expanded to show a detailed crash
log in the debugger, and offer the option to exit the ROM.

Removed most of the menus from the OSX port.  They weren't being
maintained anyway, and most of them didn't work.  I've modelled this
on the way other cross-platform OSX programs work (notably, ScummVM).
Basically, there are menus for exit and help, but otherwise you
should use the menuing system in the application itself.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2231 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-10 15:04:19 +00:00
stephena 2da201c4a2 Added controller types 'Paddles_IAxis', 'Paddles_IDir' and 'Paddles_IAxDr',
which are specialized paddles classes that invert the axis, direction,
and axis+direction, respectively.  Updated all applicable ROMs in the
properties database.

Cleaned up the menus in the OSX port; some of them weren't even tied
to anything.  I'm seriously considering removing them all, except for
the Help and Quit items. 


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2230 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-06 19:58:56 +00:00
stephena 264145a939 Huge improvements to paddle and mouse handling:
- mouse can now emulate joystick, booster-grip and driving controllers
 - digital and mouse sensitivity for paddles can now be tweaked
   separately, and have a greater range
 - the mouse now correctly honours its controller setting, and only
   controls a device on one one port (not both at the same time)

Added support for 2600-daptor device.  Credit for creator of device
is forthcoming.  This device is basically an updated Stelladaptor,
with improved handling for paddle data.

Grabmouse functionality is no longer user-definable; the mouse is
always grabbed while playing a game, and released otherwise.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2228 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-06 14:29:39 +00:00
stephena 26e5f0157f Oops, forgot to mention the main point of this test release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2211 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-30 13:43:17 +00:00
stephena fc44b175b2 Updated some dates to 2011. Hopefully I'll find some time over the
next week or so to get back to Stella development.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2209 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-28 16:18:35 +00:00
stephena 5d4de8291e Added mouse-as-joystick code from z26. This basically allows the mouse to
act as a controller in joystick-only games.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2200 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-01 19:25:27 +00:00
stephena 3339dc276d Updated copyright info for 2011. Happy New Year to anybody reading
these logs :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2199 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-01 16:04:32 +00:00
stephena 6478176abb Upon opening the ROM audit dialog, the current directory from the ROM
launcher is selected, not the actual ROM directory.  This speeds up
access, because generally you'll want to audit the directory you're
actually looking at.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2196 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-12-21 18:42:53 +00:00
stephena f1bb09d8ac Updated internal ROM database with info from RomHunter 6 set.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2195 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-12-19 23:51:16 +00:00
stephena af181e925a Updated built-in PNG lib to version 1.4.5 (current latest release).
Hopefully this marks a return to Stella development, as I haven't had
much free time over the past month or so.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2194 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-12-14 20:29:05 +00:00
stephena 267d379c99 Final changes for 3.3 release, and moving up release date to today.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2186 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-12 13:35:09 +00:00
stephena 603793a6c5 Updated changelog now that all bankswitch schemes support the new emulation
core address tracking.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2185 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-11 22:28:27 +00:00
stephena fca261c4e3 Updated debugger documentation for recent disassembly changes.
Removed reference to disassembly 'SKIP' command, since it isn't implemented
yet.

Decided on Nov. 15 for the 3.3 release date, and updated all relevant files.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2181 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-10 22:38:16 +00:00
stephena 192ab931f2 Updated 'type' command to show information from all sources (directive list,
emulation core, and distella).  This allows to better see exactly how an
address is marked in the disassembly.

Updated Changelog with changes I forgot that I made (you know it's time
for a new release when you forget what's been added since the last one).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2170 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-07 18:10:58 +00:00
stephena 0f63b49bd6 Started documentation updates for the next release. All the changes
haven't been made yet, but they will be soon enough.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2167 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-01 20:58:51 +00:00
stephena f3483ca8b1 When in 'small' window mode and attempting to open PAL ROMs larger than the
screen size (vertically), the window will open in partially truncated mode,
where the top of the PAL image is cut off.  This normally won't be a problem,
as it's mostly blank space anyway.

App window centering is now honoured when changing video zoom levels, not
just when changing eventhandler states.

Bumped version # for another test release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2135 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-09-21 19:39:30 +00:00
stephena b81bb187b7 Final commits for the 3.2.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2111 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-23 11:09:04 +00:00
stephena 2f9ee65822 Updated various files for upcoming 3.2.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2110 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-21 23:20:42 +00:00
stephena 26b1654aa2 Some minor UI improvements to the InputSettings dialog; renamed the
'Virtual Devs' tab to 'Devices & Ports'.  Updated documentation and
snapshots for this change.

Added Halo 2600 ROM info to internal properties database.

Increased default setting for 'joydeadzone' from 0 to 13.  This means
the default deadzone is somewhere around half the axis range (~16500).

Fixed behaviour of hat events; events weren't actually being turned off
until the stick was centered.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2108 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-21 23:08:44 +00:00
stephena 1b4cea5cdc I forgot to update the changelog with the very last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2106 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-20 14:13:25 +00:00
stephena b2ed949082 Some final changes for the 3.2 release, including documentation updates.
Added 'ramrandom' commmandline argument, used to toggle randomizing or
zeroing or all RAM in the system (both zero-page and SARA).

Disassembler now properly supports all test cases, including rewinding
within the debugger.

Added preliminary support for disassembling from zero-page RAM.

Bumped version # for final release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2100 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-19 21:48:28 +00:00
stephena 0a7726cb9f Fixed bug in handling illegal TIA reads; the value returned should always
'clipped' to the unused TIA bits.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2099 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-16 19:49:32 +00:00
stephena d007c3502f Several big improvements to the debugger:
The disassembler now accepts a range of start addresses and remembers
old entry points, so the disassembly becomes more complete each time
the debugger is used.

Changes to address offsets within the same bank are now supported
(ie, changing from $fxxx to $dxxx within the same bank properly
updates the display).

Re-added ability to manually change banks from the debugger prompt
and the disassembly UI.  This now works correctly with the Distella
code.

Cleanup of the Cartridge::bank(...) API: if a bank cannot be changed,
the calling code will now know about it.  This fixes confusion with
some ROMs, whereby changing a bank in the debugger prompt would print
a success message even if the operation failed.

Note that these changes have broken rewind in the debugger.  Actually,
it only exposes problems that the rewind functionality already had :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2098 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-16 16:41:24 +00:00
stephena 764e598536 Fixed debugger 'runto' command; it was case sensitive, so it never
matched anything most of the time.  Also, as this operation can take
a somewhat long time on slower systems, a progress bar is now shown.

Fixed handling of bit 6 in VBLANK TIA register, which is related to
how INPT4 and INPT5 are handled.  This fixes at least one ROM that
should have failed in Stella, but didn't.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2096 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-12 16:55:47 +00:00
stephena 259e3091f0 Updated changelog for recent additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2095 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-11 23:00:53 +00:00
stephena 6a5998c684 Multiple events can now be assigned to combo events from the UI. Still TODO
is update the documentation for this.

Fixed bug reported by Buzbard from AtariAge concerning very large images
in the RomInfoWidget being clipped too small.

Reworked 'center window' functionality.  Using the SDL_VIDEO_CENTERED
environment variable was always a hack, and a bug was introduced in X11
OpenGL mode in version 1.2.14.  However, since SDL is now in maintenance
mode and won't be receiving any further updates, we have to bypass it
entirely.  Added infrastructure for OSystem to center the application
window.  For now, only Linux X11 mode is supported.  Still TODO is add
support for Windows.  OSX was never supported anyway.  This also means
that the center window variable no longer requires the application to
be restarted.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2091 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-11 21:53:19 +00:00
stephena 9089351412 Updated changelog for most recent changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2086 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-08 12:45:19 +00:00