break. First thing to do is update the year. Happy new year to anyone
reading these commit logs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2833 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
extended into yet another tab, since there's still the need to
show the display bank, frequency bank and DPC Harmony RAM. Or
maybe there isn't a need to see this extra stuff??
Some more cleanups of the graphics/UI API.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2703 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The remainder of this commit is basically some cleanup of the
Widget API, and infrastructure fixes to allow CartDebugWidgets to
have change tracking.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2702 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
we need to modify what is caught. Ironically enough, this fixes
a bug whereby when certain errors occur, the recovery system
itself would crash, not the issue that actually caused the bug!
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2499 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
now load and play test ROMs, complete with emulation of timing delays
due to slow accesses on real Harmony hardware. Still TODO is the tunes,
DPC+ stuff, which is stubbed out at this point.
Fixed bug in EFSC bankswitching; state files didn't contain extended RAM
information.
Cleaned up the Serializer API, resulting in slightly faster operation
and smaller state files. Because of this, the state file format
has changed for this release (old state files will no longer work).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2487 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
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
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
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
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
disassembly listing) to show/hide opcode/instruction addresses.
The disassembler now includes hints from current PC location *and* 'code
access points' from the emulation core. Testing has shown that some ROMs
don't show completely accurate disassembled output unless both options are
used.
Updated most of the remaining bankswitch schemes to use the new 'code access
points' functionality during disassembly, allowing for very accurate
disassembled output. Note that the more esoteric schemes (AR, 4A50, FE, MC)
are supported for now.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2139 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
addresses used as part of code execution (ie, from the PC) during emulation.
This gives Distella much more information than can be determined from a
static analysis alone, resulting in an extremely accurate disassembly.
This also allows to generate very accurate debugger .cfg files.
Not all carts have been ported to this new scheme yet, particularly ones
having extended RAM that can be mapped out dynamically.
Note that this new scheme doubles the amount of RAM used for storing ROM
images, so up to 128KB extra will be used. There's also a small runtime
check for each instruction executed. Preliminary testing doesn't show
any slowdowns, but we'll see how it goes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2138 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
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
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
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
key. This enables automatically taking snapshots every X seconds
while in emulation mode. The interval (in seconds) can be set
with the 'ssdelay' commandline argument.
Some minor cleanups to the EventHandler methods, making them
const when possible.
Added latest DPC+ changes from Spiceware.
Fixed issue with ROMs that run entirely from ZP RAM; no disassembly
was being generated when entering the debugger. For now, this
special case is detected, and the disassembly is generated for
the code that ran before the PC entered ZP RAM space. Eventually,
this will go away when the Distella fully supports disassembling
below 0x1000.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2009 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
informs the rest of the system about how a page of address
space is to be treated (READ, WRITE, READWRITE). This makes it
much easier to track if a read from the write port has occurred.
As such, the _rwport command should now be somewhat faster.
Eventually, the debugger/disassembler will use this info to
colorize the output.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2004 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
'Stephen Anthony' (aka, me) in addition to Brad Mott as copyright
holders for Stella. I think I've been with the project long
enough now (almost 10 years) to justify being specifically mentioned
above and beyond 'the Stella Team'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2001 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
disassembly instead of re-disassembling again. Still TODO is make the
search case in-sensitive.
Added latest DPC+ code from Spiceware.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1988 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
as 'const', and return types are closer to the actual type of data
returned.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1985 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
really aren't that many ROM banks. This is done so that the RAM banks
always start at number 256.
Added latest DPC+ updates from Spiceware.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1983 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
and E7. DPC and DPC+ currently do not modify the DPC address space
on a patch; more research is required to figure out how to handle this.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1980 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
when their address space has been modified by poke. Any writes done
inadvertently by reading from the write port are also flagged. This flag
is used by CartDebug to determine if cart address space has changed.
For now, it uses this information to do a complete re-disassembly.
Entire bank changes are signaled by setting myBankChanged to true,
which overrides the page dirty flag and short-circuits testing for it.
Still TODO is add support for 'AR' bankswitching, and fix the patch
method for several schemes.
Added latest DPC+ updates from Spiceware and Batari.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1976 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
over onto the opposite side of the screen. Breakpoints set by clicking
in RomListWidget only apply if they've actually been enabled. This
fixes a bug whereby a breakpoint could look like it is enabled when
it really isn't. Related to this, breakpoints cannot be set for
disassembly lines that don't contain a valid address or an empty
bytes area (basically, empty lines and lines containing '.byte' items).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1970 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
AtariAge. Basically, this is an enhanced version of the DPC class used
by Pitfall2.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1967 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba