Commit Graph

16 Commits

Author SHA1 Message Date
stephena c4e5360a18 Updated copyright dates to 2013.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2579 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-04 19:49:01 +00:00
stephena f003bd31bd Changed disassemble and debug checks from run-time to compile-time
for Thumb ARM emulation.  On my (quite fast) system, this results in 4%
less CPU usage, so it should be much better on slower systems.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2576 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-12-26 21:16:34 +00:00
stephena 2145c38087 Fixed bugs in DPC+ scheme; reset wasn't actually resetting the
Harmony RAM, and state saving wasn't working at all.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2523 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-03 18:05:14 +00:00
stephena c95d5f804d Updated all files to copyright 2012. Happy New Year to anyone reading
these logs!

Moved TODO and Credits info directly to the webpage, where it will hopefully
be easier to maintain.

Fixed 'crackling' sound when loading a new ROM, introduced with the 3.5
sound restructuring.  It looks like stale data was being loaded by the
sound processing callback.  As well, moved the computation of certain
division variables from the sound callback to the framerate re-calculator
(where it's recomputed 1/5 of the time or less).

Updated AboutDialog with info about Stella DonationWare status, and active
members of Stella development.

Updated OSX in-app HTML documentation about Stella DonationWare status.

Bumped version # to 3.5.1_svn, and the process starts again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2318 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-31 21:56:36 +00:00
stephena bb63ea3dd1 Reverted TIA changes that affect late NUSIZx changes. More work is needed
in this area.

Added commandline argument 'thumb.trapfatal', which causes fatal errors in
the Thumb ARM emulation to really be treated as fatal (ie, the emulation stops
and throws an exception).  This is enabled by default (as it always should be).
When disabled, fatal errors simply log the error and continue with emulation.
This was added because the current HarmonyCart ARM code isn't always exactly
compatible with the emulation in Stella, and there is a lagtime from when
Harmony implements something to when the same functionality is added to Stella.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2279 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-11-07 22:50:23 +00:00
stephena 1d5ea6a9eb Updated DPC+ code to latest changes from Spiceware for the Frantic ROM.
Specifically, the 3-voice audio routines read from ROM instead of RAM, and
the setting the ARM MAM register no longer causes the ARM emulation to crash.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2278 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-11-05 22:31:40 +00:00
stephena f549cf9661 Removed some 'throw(...)' declarations, which are deprecated in the latest version
of the C++ standard.

Fixed bug when using snprintf; we must use BSPF_snprintf, since the function
has different names in different OS's.

Optimized loading of PNG images in the RomInfoWidget so that memory allocations
aren't continuously being done.  Basically, memory is allocated once and then
only re-allocated if a new image is larger than all previous ones.  This can
increase memory use slightly, as the image data stays around between image loads,
and it remembers the largest image loaded.  But if you images are all mostly the
same size, it should hurt memory usage too much.  And it really helps on certain
systems where repeated (re)-allocations can cause problems.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2261 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-07-03 21:52:33 +00:00
stephena bc7daa397e Added ability for the debugger to start up in 'fatal error' mode.
This basically shows a messagebox as soon as the debugger starts,
describing the error and offering the choice to continue debugging
or exiting the ROM entirely.

The DPC+ code now catches fatal errors from the Thumb ARM
emulation code and shows it as a fatal error in the debugger.
This means you no longer need to look at the commandline for
this output, and you immediately know that something has
gone wrong.

Added 'exitrom' debugger parser command, which completely exits
from the debugger *and* the ROM, going back to the ROM launcher.

Cleaned up the API a little, rearranging some classes and
adding references instead of pointers.  More work to be done
in this area.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2234 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-26 16:14:46 +00:00
stephena db46773ea1 Fixed compile error WRT printf statements in Thumbulator, and fixed
a potential segfault in CartDPC+.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2233 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-25 19:14:47 +00:00
stephena 5025a21d92 Updated Thumb ARM emulation to log its output instead of printing to the
console (which doesn't exist on every platform).  Also use proper C++
stringstreams instead of C-style arrays (which are evil).  If an exception
is thrown, start the debugger with a fatal error message.  Currently, this
message is simply printed in the debugger info window.  Still TODO is add
a dialog to show the entire input from within the UI, as well as a way
to exit the ROM when a fatal error occurs.

Cleaned up the API a little, adding explicit declarations for when a method
can throw an exception.  Also merged some empty classes directly into their
header files.

Added functionality to the System class for querying whether it has 
been reset while in 'autodetect' mode.  Autodect mode is defined as
when Stella starts and temporarily runs to autoconfigure itself.
Some classes (such as Thumb ARM emulation) need to know this, and
suppress debugging output/throwing exceptions when not running in
normal emulation mode.

I hope to have a new release done by the end of this week, or the end
of the month at the latest.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2232 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-24 16:04:48 +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 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 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 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