rendering code. This is just infrastructure for now. Pressing
Alt-f will toggle the filtering, but there's no output yet.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2430 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
'saport'. This takes the values 'lr' or 'rl', corresponding to left/right
and right/left.
Added ability to dynamically swap the Stelladaptor/2600-daptor ports
with the 'Control-1' key.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2401 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Checking in first pass at revamping the 'mcontrol' functionality. The idea is
that the mouse will be able to emulate different controllers on each of its
axes. For now, the left mouse button is tied to the X-axis, and the right to
the Y-axis. These modes will be saved per-ROM, meaning that the mapping can
be different for each ROM (it is saved as part of the ROM properties). Only
the paddles and driving controllers will allow this, since they're the only
controllers where a single axis makes sense.
Switching between mouse modes will be done with Control-0 (the Control-1..3
keys have been removed). This will allow switching all possible combinations
(left controller, right controller, per-ROM setting, etc).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2366 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
Eventually I'll find a more elegant way to represent this.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2301 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
separately to different paddles.
Updated documentation for impending 3.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2296 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
when it isn't needed. According to SDL this shouldn't be necessary, but
some combinations of video modes and audio hardware cause sound to stop
working if it's repeatedly opened and closed. So we have to keep it open.
Always attempt to use 2 channels (aka stereo) when opening the SDL audio
device. This is now required, since ROMs can request mono or stereo mode,
and the sound system can no longer be closed and re-opened with the
desired settings. So we need to always use 2 channels to accommodate
when it might be needed. This actually more closely emulates the 2600,
which does have two audio channels. The 'mono' vs 'stereo' ROM property
basically controls whether these channels are exposed (ie, does the
virtual console have two-channel audio hardware installed). In that sense,
these settings control how the channels are mixed.
Updated some settings to have more reasonable defaults.
Added acknowledgement for people that have donated hardware to help with
development.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2291 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
They were being saved correctly for all sticks, but only loaded for
the first one.
Removed some redundant settings related to TV effects stuff.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2289 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
ROMs with an odd # of scanlines will display the image in
black & white, just as on a real system.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2287 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
saved per device, so that unplugging and replugging a joystick won't cause
the previous mappings to be lost.
All attributes of a joystick (ie, number of sticks, number of axes, buttons,
hats on each stick) are dynamic, meaning that hardcoded values are no
longer used, making the handling more robust.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2285 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
desktop on OSX and Windows, and the home directory in Linux.
The associated commandline has been changed to 'snapdir'.
Added 'GL VBO' toggle button to the Video Settings UI, and in
general cleaned up its interface.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2282 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
compliant. It actually went smoother than I thought it would.
This show allow Stella to run well on *any* hardware-accelerated
OpenGL machine, not just those with beefy video cards.
Cleaned up the code a little, removing more references to the old
OpenGL TV filtering (which will be replaced by Blargg NTSC
filtering soon enough). Also removed 'gl_texrect' option, which
specified to use the GL_TEXTURE_RECTANGLE_ARB extension (for
non power-of-two textures). It was never enabled by default,
didn't work with ATI cards, and wasn't accessible in the UI,
so I doubt anyone will miss it. Besides, it's not supported in
OpenGL ES 1.x.
Next is to look into VBO/PBO, to see if more optimizations can
be done.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2265 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
don't normally use the commandline (mostly Windows, but in some cases OSX as
well). The 'showinfo' commandline argument has been renamed 'loglevel', but
it has the same purpose. A new option 'logtoconsole' has been added, which
determines whether log output should also be directed to the commandline/
console (previously, it was always printed to the console). All these items
are now accessible from Options -> System Logs.
For anyone reading this (and that cares), now I can finally move on to the
OpenGL rewrite. The plan is that the new code will use OpenGL ES, which
is a subset of OpenGL 1.5. The main advantages are that you won't need
an advanced OpenGL card, and OpenGL ES is supported on most new 'smaller'
systems (iPhone, Android, etc), making ports much easier.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2264 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
- it doesn't have a hotkey any more
- it is changed in the "Input Settings' UI, not in 'Video Settings'
- it only has meaning while in emulation mode
- it is enabled by default
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2245 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
- 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
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
Basically, directories are now guaranteed to always end in the path
separator. Ensuring this makes certain sections of code work faster,
and guaranteeing it allows higher layers of code to not worry about it.
Added 'cfgdir' commandline argument, to specify the default directory
for Distella-like Stella-compatible config files.
Implemented 'loadconfig' debugger prompt command. It's currently
working great with several test config files provided by Omega of
AtariAge.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2125 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
mouse button context menu in the disassembly listing. This is used to
set the default display format for GFX data sections (currently, binary
and hex are supported).
Fixed bug in several debugger input areas to accept the '\' symbol.
This symbol is needed when entering data in binary format (it must
prefix the data if the default base for that field isn't binary).
Added 'jump' debugger prompt command, used to scroll the disassembly
to the given address (or there-abouts, if the address isn't valid).
Editing data in the disassembly now won't cause the display to jump to
the current PC. The display will only move to the PC when it actually
changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2123 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
'Virtual Devs' tab to 'Devices & Ports'. Updated documentation and
snapshots for this change.
Added Halo 2600 ROM info to internal properties database.
Increased default setting for 'joydeadzone' from 0 to 13. This means
the default deadzone is somewhere around half the axis range (~16500).
Fixed behaviour of hat events; events weren't actually being turned off
until the stick was centered.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2108 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
window mode. Using modes smaller that 640x480 should now work in
all cases when using the 'maxres' commandline argument. Also, the
lower limit of 320x240 is now strictly enforced in all cases.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2075 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
are multiple normal events that are called in sequence. The
infrastructure is in place to use these events, and they're
loaded/saved in the 'combomap' commandline argument. Still
TODO is add a UI to edit the events (manually editing the
config file is really tiresome).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2074 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
been chosen), a dialog box now appears, asking the user to enter the
default directory. This directory will appear each time the ROM launcher
is entered, until the user selects a directory. This will hopefully
eliminate bug reports from users that don't know what to do when first
starting Stella.
Big changes to the manual, separating the necessary, up-front information
from the advanced stuff that can be considered later (or not at all).
Also added more links to ease navigation. This should make the manual more
readable for those that have complained it's too long.
The setting for TV color type is now 'Color' and 'BW', instead of
'BlackAndWhite', as before. The old one will continue to work, though.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2059 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
(ie, disabling from the UI kills the UI on future runs, so you can't
enable it again). This should fix problems where users go
'click-happy' in the UI, turning options on and off just to see what
happens.
Added 'showinfo' to the UI, so you don't have to drop to the
commandline to use it.
Updated all release files and bumped version number for 3.1.2
release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2031 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
an outputstream. For now, the output simply goes to stdout or stderr,
just like before, but the possibility is now there to redirect to a
file if desired.
Changed 'showinfo' commandline option to accept 'levels' of output
instead of simply being a boolean. The new default is level 1,
in which normal messages are output during a run. Level 2 will
show more detailed info, and may be useful in debugging end-user
problems. There's still more work to do wrt level 2.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2029 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
'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
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
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
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
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
is now enforced in more areas of the code, specifically, in BrowserDialog,
VideoDialog and InputDialog.
Rearranged some options in InputDialog (for spacing), and removed the
'mouse is paddle ...' option. It was never being saved to the config
file anyway, and is still selectable with Ctrl-0,1,2,3 keys.
Added 'maxres' commandline argument, which overrides the built-in
determination of desktop size normally done by SDL. This is not
documented, and is not meant to be used by anyone other than those
testing Stella on 'small' systems. It's basically a way to set the
desktop size without recompiling Stella each time.
Still TODO is look at all other dialogs, making sure they fit in the
minimum size. PopupDialog in particular needs to be fixed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1942 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
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
controlled by 'tiafloat', which has now been removed. Now, all
undriven pins take on the last value on the databus. This fixes a bug
in those reads where bit 6 or bits 6 & 7 are also undriven (previously,
these bits would always be zero, and only bits 0-5 were from lastdatabus.
Added new commandline argument 'tiadriven', which defaults to false.
In this default case, relevant bits take on values from the databus.
If true, relevant bits still take on databus values, but some are
randomly driven high as well. This helps to expose bugs when
developers assume the values for undriven/floating bits.
Added 'uimessages' commandline argument and associated UI item. When
disabled, messages which are normally shown in-game are disabled.
Certain messages which indicate a serious error are still shown, however.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1900 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
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
start with game 0 (as if it's been unplugged for some time), but reloading
the ROM with Ctrl-r will cycle through each game (emulating a power-cycle).
Fixed crash when specifying a directory on the commandline; only files
are supported as ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1770 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba