a class more generic, but when it's never used, all it does it slow
things down.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3016 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
than the desktop.
Some code cleanups; add const and optimize some methods.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3010 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
*always* pass in 0,0,0 for the various bases, it is redundant to pass that
data in on each invocation. So now the c'tor does it automatically.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2959 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Technically, the magic numbers are still being used, but now they're
no longer exposed outside the System class by default.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2912 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
systems, but seems to improve issues on slower computers.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2745 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
- Removed 'SKIP' directive, since it wasn't implemented anyway, and
I see no way to implement it
- Add 'aflag' setting to diassembly output, matching usage in Distella.
This is needed for diassembly output, otherwise DASM barfs on the code.
- Fixed several long-standing bugs in Distella disassembly wrt ROW
directives and labeling. Previously, the output you see in the debugger
wasn't completely correct, since it wasn't compiling properly in DASM.
- Illegal opcodes are now shown as .byte directives; this allows the code
to compile in DASM.
- Print 16 bytes per line in .byte directive in external disassembly,
same as Distella.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2665 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
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
used as a peek operand). Still TODO is deal with poke areas, which would
be relevant in carts with extended RAM.
The interaction between the internal tracking and Distella is now much
tighter, in that knowledge gained by Distella is used in the core code,
and vice versa. This allows the best of both worlds, where the internal
tracking finds stuff at runtime (that couldn't be found in a static
analysis), and Distella tracks potential paths (that haven't occurred at
runtime yet).
Added 'type' debugger prompt command, which basically queries an address
for its disassembly type (CODE/GFX/DATA, etc).
Added debugger commands to query the last address used in an operation
for various registers, but they're only stubs at the moment.
Updated the bankswitch schemes to deal with accesses in and around the
hotspot areas. Previously, peek accesses in these areas weren't being
recorded as DATA areas.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2145 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
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
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
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
from the write port. Basically, the cartdebug class depended on the
console existing, but it wasn't being created until after it was required.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1979 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
whether the range 0x1000 - 0x1FFF (aka cart space) has been modified, and
if so, it forces a re-disassembly. Still TODO is modify all the cart
classes that manually handle poke operations to set the page as dirty
when a write actually succeeds.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1974 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The idea is that all direct-access pokes will set a flag indicating that
the page containing the poked address is set to be dirty. Devices that
handle their own pokes will have to be updated to set this dirty flag too.
Overall, the point is to enable the debugger to know whether cart space
has been modified, and use that knowledge to selectively do a
re-disassembly.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1973 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The license file is actually named 'License.txt', not 'license'
The 'Stella Team' has a capital T, not lowercase.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1921 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba