Commit Graph

2167 Commits

Author SHA1 Message Date
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 9cbd6fe94b It seems that the NIB format for the OSX project files has changed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2229 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-06 14:46:07 +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 329f553f09 Retired the GP2X and WinCE ports. This code has been updated in years,
and doesn't currently compile.  I don't have the hardware to develop
it any further, and no longer have the time in any event.  If someone
steps up to continue support, it can be added back into the codebase.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2227 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-22 18:57:20 +00:00
stephena 9cbc1384f4 Updated VS 2010 project files for recent Event class changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2226 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-22 18:50:53 +00:00
stephena 9796fa5384 Updated VS 2005 project file for recent Event class changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2225 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-22 18:47:56 +00:00
stephena a028e5327d Minor cleanup of Event class, removing redundant variable.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2224 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-22 18:45:13 +00:00
stephena a0dcc9b459 Test for SVN not working correctly in Linux.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2223 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-22 18:36:06 +00:00
stephena f8a2e1c47a Updated Linux build script for recent Event class changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2222 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-22 18:26:08 +00:00
stephena e85d810032 Updated OSX project files for recent PNG changes.
Speed up the Event class by making all members inline.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2221 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-22 18:21:46 +00:00
stephena 15fa2a846c Updated VS 2005 project file for recent PNG changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2220 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-22 12:42:58 +00:00
stephena e41ecc9ef5 Updated VS 2010 project file for recent PNG changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2219 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-22 12:36:25 +00:00
stephena 94c34ddb72 Updated internal PNG library code to latest released version (1.5.2).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2218 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-22 00:04:04 +00:00
stephena 138c03090f Updated Win32 project files for Thumb ARM support (it is always enabled,
but can be disabled by removing the 'THUMB_SUPPORT' directive from the
Visual Studio project file).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2217 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-16 23:54:06 +00:00
stephena 13c8ee8e95 Thumb ARM support can now be enabled/disabled from the configure script for Linux.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2216 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-16 23:39:31 +00:00
stephena 72185d0848 Cleaned up formatting in Thumb ARM emulation code.
Wrapped THUMB ARM emulation in a define, so that it can be excluded
from builds.  To enable it, the 'THUMB_SUPPORT' directive must be
included in the build process.  This has been added to the OSX
project files, but is still TODO for Linux and Windows.

Removed some obsolete include paths from the OSX project files,
dating back about 5 years or so.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2215 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-16 16:53:41 +00:00
stephena bcb8dfbc2b First pass at fixing formatting issues in the ARM emulation code.
Also fixed warnings when compiling on 64-bit compilers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2214 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-03-09 14:21:32 +00:00
stephena 4d16be1049 Some last minute ARM-emulation changes for the 3.3.01 test release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2212 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-31 03:07:52 +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 7a59e89765 Final changes for 3.3.01 test release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2210 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-30 13:32:21 +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 a71158e1ce Some more changes to the DPC+ ARM emulation code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2208 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-23 14:16:02 +00:00
stephena ec9c865ec9 Updated VS 2010 project files for Thumbulator class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2207 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-16 21:57:46 +00:00
stephena 9dad6caf6e Added Thumbulator class to OSX project files.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2206 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-16 21:52:49 +00:00
stephena 5ad94ac605 Updated VS2005 project with recent ARM Thumb emulation classes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2205 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-16 21:39:06 +00:00
stephena 935fd4df3f Added initial implementation of ARM emulation to the DPC+ bankswitching
scheme.  However, it doesn't seem to be working yet ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2204 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-16 21:23:03 +00:00
stephena f2427a6cbc Applied more DPC+ fixes from Batari, and added properties info
for Grandmas Revenge ROM.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2203 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-09 15:21:23 +00:00
stephena fcb12065ce Applied some updates to the DPC+ scheme, provided by Batari.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2202 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-08 16:02:00 +00:00
stephena c50a7efdd1 Added 'Toyshop Trouble' ROM info to the properties database, with
permission from the game author.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2201 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-01-01 22:26:34 +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 8705a33f18 Added several Debian patches from the Debian maintainer of Stella;
Stephen Kitt.

Bumped version # for next round ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2192 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-15 21:47:07 +00:00
stephena 595e7dc41f Some last minute final changes before the 3.3 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2188 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-12 18:54:08 +00:00
stephena 96c1f96ed8 Fixed a few typos in the documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2187 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-12 13:46:28 +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 ba1019a308 Updated documentation for missing commandline arguments.
Added infrastructure to System and Device classes to deal with CodeAccessBase
even when the bankswitching scheme bypasses the normal System::PageAccess
way of reading ROM space.  This allows bankswitching schemes 2E, AR, FE and
4A50 to support emulation core 'hints' for more accurate disassembly.  The
only scheme not supported now is MC, which isn't really working anyway (I've
never actually had a test ROM for this scheme).

It's getting close, folks ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2184 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-11 22:24:51 +00:00
stephena c9ab109524 Converted several 'toString' methods to use stringstreams instead of
multiple concatentation of strings.  This should be faster, or at least
lead to less string constructor calls.

Output of 'ROW' directives in the disassembly now shows only 8 items per
line, instead of 16.  This allows to see all the bytes without having a
'...' in between.  A future release may customize this to the size of the
output area.

Fixed output from debugger 'disasm' command to properly align different
directive types and show GFX and PGFX output.

Bumped state file version to 3.3 final, since there are no further
changes to the code that will break the file format.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2183 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-11 16:46:41 +00:00
stephena 747164b4c5 If both PGFX and GFX are set for an address, PGFX should take priority.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2182 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-11 02:38:53 +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 7a368c4bbb All directives other than ROW now have an associated address in the
disassembly.  This allows the debugger 'jump' command to be more accurate.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2180 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-10 14:50:38 +00:00
stephena 7558f87adb And apparently, it's not the last time the file will change. Arrgh :(
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2179 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-10 14:37:44 +00:00
stephena 9adafb67ae Hopefully, this is the last time this file changes because of a commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2178 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-10 14:35:50 +00:00
stephena 277f034e89 Added register tracking for ORA, TSX and TXS. More testing is required
for these opcodes.

The 'data source' in the debugger CPU area now also shows the SP register,
since it's used for TSX and TXS.

Bumped version # for another test release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2177 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-10 14:01:41 +00:00
stephena de67cc34fe Fixed M6502.ins file so that every change in revision # doesn't require
a new commit.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2176 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-09 01:17:27 +00:00
stephena c319e2ba82 Added CPU register tracking for illegal opcodes LAX, TAX, TAY, TXA, and TYA.
Still TODO is add support for PHA, PHP, PLA and PLP, and to somehow track
accesses that are stored in zero-page RAM first.  These latter items may
end up being pushed after the 3.3 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2175 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-08 22:25:19 +00:00