of OSX. It was partially caused by 'negative time', or successive
calls to SDL_GetTicks() returning smaller values than previous calls.
This obviously totally confused the timing logic, which was never
designed for time to go backwards. Related to this, setting the
framerate to 0 from the VideoDialog UI (indicating that auto-frame
should be used) ended up setting the time-per-frame to approx. 71
minutes, resulting in a delay of 71 minutes to the next frame
(which is what caused the 'lockup').
Changed all references to the Intel OSX build to also mention OSX
Snow Leopard (10.6), since the build won't run on 10.4 or 10.5.
Bumped version number to 3.1 (again). Hopefully this is good to go.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2016 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
1) the interval between snapshots can be configured within the
'File Settings' dialog
2) the commandline option is now named 'ssinterval' instead of 'ssdelay'
3) the action is tied to the 'Alt/Cmd-s' key instead of a function key
There's just one more small issue to take care of in the Windows port,
and the next release should be ready.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2011 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
Control key weren't being passed to the core code.
Yet more tweaks to the documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2008 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the name 'MacOSX' is now used more consistently.
Updated OSX build script and associated DMG template to create
release files in the form of 'Stella-VERSION-macosx.dmg'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2007 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Bumped state file header for 3.1 release, indicating that all older
state files will no longer work.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2000 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to 'resolvedata', since that more accurately describes what it does.
Also, it now accepts arguments as strings (never, always, auto)
instead of 0, 1, 2.
Updated main documentation for changes in OSX port 'basedir'.
Updated debugger documentation for recent command additions, and
provided new snapshots where the UI has changed.
It seems to be getting close to a new release - perhaps this
coming Friday.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1999 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The descriptions for the debugger commands are more streamlined
and better explained, and are neater when output.
Added 'cls' debugger command, which actually isn't for the debugger
at all, but for the prompt. This erases all showing text and history.
Removed 'bank' debugger command, since it was already removed from
the RomWidget UI.
Removed 'listwatches' debugger command, since it wasn't implemented
anyway. Besides, any watches are printed on every command access,
so it was pointless to have another function to do it.
Removed 'poke' debugger command; 'ram' and 'rom' do the same thing.
Fixed bugs in 'function' debugger command; it now correctly adds
functions without crashing. Related to this, added 'listfunctions'
and 'delfunction' debugger commands for user-defined commands.
Fixed bug in completions for functions; it was including user-defined
functions twice.
Some general code cleanups in DebuggerParser (use ostringstream
instead of constantly creating new strings) and Expression
classes (make some methods const, for safety).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1998 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
post-3.0), and reworked how state files are accessed. The cart type
now determines if a state file is valid, meaning developers can use
one state file across multiple builds of their program.
Added 'runtopc' debugger command, and associated UI item in the
RomWidget area. This steps the code until the PC matches the given
value.
Added '16in1' bankswitch scheme, which is useful for ROMs named
'128-in-1' in RomHunter database. Also, all multicart schemes now
show the current ROM onscreen while switching between them.
Fixed bug in Serializer class when accessing files in read-only mode.
Such files would be created and set to zero size, even if only
reading was requested.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1997 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the completion now includes functions (built-in and user-defined).
Cleaned up some more of the debugger documentation, mostly
related to tab completion.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1992 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
release. This won't have everything I'd have liked to include,
but the release time has dragged on enough (the last release
was in Sept 2009!).
Some general code cleanups for the OSX port, as well as fixes
to the menus. The menus contained items that in some cases
weren't actually tied to any event, or showed the wrong
shortcut key. Also removed some of the more esoteric menu
items, sticking with only the most basic ones (fullscreen vs.
window mode, volume control, etc).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1991 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
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
disassembler. Hopefully this will lead to a new release very soon.
Added 'autocode' commandline argument and associated UI item (in the
RomWidget debugger area), which controls how Distella will use the
'automatic code determination' option. If set to 0/never, this is
completely disabled. If set to 1/always, it is always enabled.
The default is 2/automatic, whereby it is first turned on, and then
turned off if the disassembly doesn't contain the current PC address.
RomListWidget has now been completely reworked, so that it informs
RomWidget of its intent to change breakpoints and patch ROM. If
either of these fail, the action won't be performed, and more
importantly, it won't appear onscreen as if the action has succeeded.
This fixes an old bug whereby patching could fail, yet the onscreen
ROM data was actually changed. Related to this, the list has been
made as efficient as possible, and its contents are never un-necessarily
copied. Also, lines in the disassembly that cannot be modified no
longer show an edit area.
Due to the way the new disassembly works, you can no longer switch between
banks in the RomWidget (Distella would probably fail to disassemble in
such as case).
EditTextWidget can now indicate its contents have changed when adding
text to it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1966 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
handling to C++ stringstreams instead of C-style character arrays,
which fixed some segfaults (sprintf is evil).
First pass at tying the number of banks to the disassembly. The idea
is that the startup bank (which is now identified by the cart) always
starts at address at 0xfffc, while the other banks are defined by the
PC at the first time we enter the debugger. This is still a WIP,
since there's no actual checking done yet to see if the current PC
is in the current disassembly.
Added 'ctrlcombo' commandline argument, which completely disables
checking for Control-x key combos. This is useful when playing
2-player games where the 'f', 'r' and 'Control' keys are supposed
to be treated separately. Previously, pressing Control and 'r' or
'f' processed some other action (change framerate, reload rom, etc).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1964 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
simply as 'Stella', just as it is on other platforms (instead
of StellaOSX). This indicates that the OSX port is now a
first-class citizen, with the same importance as Linux and Windows.
Also cleaned up various text files for spelling mistakes and
formatting issues in OSX.
Added credits for Richard Kennehan, who donated a 2600 console
and various controllers to help with Stella development.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1916 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
is related to the currently running ROM. If enabled (the default and current
behaviour), state files that do not match the currently loaded ROM will not
be loaded. Otherwise, the state file will attempt to load. Note that in the
latter case, this will probably cause 'bad things' to happen. It's mostly
for developers who are constantly recompiling a ROM, and wish to use a
previously created state file even when the ROM MD5 changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1915 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
get nearly enough attention. This is about to change, since I'm moving
to using it full time at work (still Linux at home though!).
The 'Control' key modifier for OSX is now the actual Control key, just like
on every other platform (instead of Command). The 'Alt' key modifier for
OSX is now the Command key (instead of Shift-Cmd). Maybe in the past it
made sense for this, when keyboards weren't the same between platforms, but
that's no longer the case. And since Stella requires at least OSX 10.4,
everyone using it from this point on probably has newer hardware.
Still TODO is consider a few special keys for OSX (minimize, hide, etc).
Updated documentation for new key combos, as well as the recent build
and debugger improvements.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1906 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
objects. These actions are tied to the same keys as for toggling the
objects themselves, with the addition of the 'Shift' key. For example,
toggling the P0 object is 'Alt z', and toggling P0 collisions is
'Shift-Alt z'. Note that disabling an object will obviously disable
its collisions as well. Still TODO is work out how these keys map on
OSX; the Shift key is already being used for something else.
Reverted Cosmic Ark 'starfield effect' to match the descriptions
given in the 'Stella 3.0 released' thread on AtariAge. It seems the
system I tested this on has an Svideo mod board that changes the
output from a normal console.
Bumped state file format header, since the TIA internals have changed
again. As well, bumped version # to 3.1_svn.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1884 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Updated the documentation for build info for Windows. Still TODO is add more detailed info for Linux and OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1876 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
no$26K emulator. Basically, when this is enabled, the COLUP0, COLUP1,
COLUPF and COLUBK registers are locked to hardcoded values. This can
be used to clearly show which registers are drawing which part of the
TIA display. For now, the colours are locked as they're shared on
a real system (so P0 and M0 are locked to the same colour). Future
versions may separate these shared registers for even more clarity.
This functionality is toggled with the 'Alt-Comma' key combo.
Updated the state handler to reject loading state files older than
this version, since the TIA internals have changed. This will be
done each time the TIA code changes from this point on.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1856 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
of a boolean. It now accepts value '-1' to mean 'completely disable
fullscreen mode switching'. This was added because some systems with
buggy video drivers can't handle fullscreen mode, and accidentally
trying to do so can lock up such a system.
Fixed fullscreen/windowed switching wrt grabbing the mouse. Sometimes
switching from fullscreen to windowed mode had the cursor trapped in
the window, even if grabmouse was disabled.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1852 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
InputDialog/Virtual Devs to allow all 4 directions to be pressed
simultaneously on a virtual joystick. This support was always present
for 'Bumper Bash', but it can now be enabled/disabled for any ROM.
Note that the setting is ignored for 'Bumper Bash', as that ROM
requires it to be always turned on.
Fixed debugger rewind issue from last commit; the rewind list wasn't
being properly reset when entering the debugger or selecting a new ROM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1850 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
of 'FA' and 'F0', respectively, as defined in Kevin Horton sizes.txt
and used in z26. For compatibility, the old names can still be used.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1842 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
mapped to Backspace, and is used in the ROM launcher and various
BrowserWidgets. The event can be remapped if desired. When I'm
testing Stella, I tend to use the keyboard almost exclusively, and
it was getting a little tiring to reach for the mouse each time I
wanted to change directories.
Bumped version number.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1836 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
shown within the UI use the '~' symbol whenever possible. This means
that paths from the settings file are now truly relative; change your
home directory, and the settings file will still work (it no longer
contains absolute path names).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1776 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
more sense, as it isn't a double-negative any more).
Made PropSet::getMD5() more explicitly return a boolean indicating if the
properties were found, vs. having a CartName of 'Untitled' indicating that
it wasn't found.
The file being used by Stella in multi-file ZIP archive is now shown in
the window title, vs. showing the name of the ZIP file itself. Related
to this, a file with an extension of 'rom' is now valid inside ZIP
archives.
Updated documentation for bankswitch types, more clearly indicating which
ones support autodetection and the debugger.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1775 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Randomized value placed in accumulator after exiting the SC BIOS for
SuperCharger ROMs. This should fix issues in Dragonstomper, where it
seems the randomization of its items depending on a random accumulator
value.
Re-added '-fastscbios', and when enabled, it completely skips
the emulation of SC BIOS progress bars (previously, the bars were
simply sped up). This defaults to off, for more authentic emulation.
Related to this, added a UI item in VideoDialog to enable/disable it.
Thanks to Eckhard Stolberg for advice on the SCROM, and how to
modify it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1763 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Add Shift-PageUp/PageDn for scrolling with the keyboard in DataGridWidgets
(most useful with the new RAM UI having multiple banks of RAM).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1755 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
General updates to the documentation for people I forgot to include in
previous releases. Also added websites where applicable.
Update AboutDialog to be more current, showing only those members
currently active in the Stella project and the other teams that have
contributed code. For more specifics, you should now see the manual.
Basically consolidated all contribution info into one document, so it
has to be kept up-to-date in only one place.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1750 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
schemes that have multiples areas of RAM. Converted F4SC, F6SC, F8SC,
FASC to this new functionality.
Added ability to modify extended RAM in 3E, CV, E7 and EFSC ROMs.
Note that these ROMs can swap RAM in and out dynamically, so what
you see in the RAM area won't always be RAM.
Updated debugger CpuWidget; decimal and binary values for SP/A/X/Y
are now all shown at the same time (previously the registers had to
share a decimal/binary view).
Updated debugger documentation for recent additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1748 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba