extended abilities (see changelog and docs for more info).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2783 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
bases into a Common::Base class. Previously, this functionality was
spread across several classes, and used different approaches to formatting.
While the code still mixes C++ streams and C-style sprintf's, at least
it will now be easier to modify it all in one place.
Related to the above, added ability to use upper or lower case
characters for HEX output in the debugger. This is toggled by the
new debugger prompt command 'uhex', which is also tied to a new
commandline argument, 'dbg.uhex'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2770 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the CPU registers (A/X/Y/PS) on ROM load.
Added 'INTIM Clks' to the debugger I/O tab, showing the number of clocks
before the current INTIM value decreases by 1.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2768 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Added option to save snapshots using either internal database name
(the default) or actual ROM filename.
Extended FSNode API for parsing filenames and adding/removing extensions,
which was previously being done in different ways throughout the codebase.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2753 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This will eventually grow to include all relevant options in Distella.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2747 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the Settings class to use Variant. Still TODO is modify various UI elements
that currently accept StringMap to use Variant instead.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2726 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
'BASEDIR'/nvram. Previously it defaulted to BASEDIR, which was getting
filled with many such files.
Unfortunely, all files will have to moved manually, but it's an easy
one-time operation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2613 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the sound is now much more accurate in "Space Rocks", and there aren't
any regressions that I'm aware of.
Removed 'clipvol' setting, since the sound is now 16-bit and clipping
is no longer required.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2578 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
a new line as part of the message.
Updates for impending 3.7.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2572 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Distella '-r' option (Relocate calls out of address range) to
the disassembler core. Also added UI item to dynamically
change the setting.
Renamed 'resolvedata', 'showaddr' and 'gfxformat' commandline
arguments to start with 'dis', indicating that they're part
of the disassembler.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2504 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Settings::loadConfig() and Settings::saveConfig() when required.
This fixes an issue with OSX in particular, or any port where
those methods are overrided.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2471 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the Video Settings UI. Still TODO is add key shortcuts for the various
adjustable TV effects (contrast, brightness, etc).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2468 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
'tv_scaninter' option. Added Alt-8 keypress to toggle this; still
TODO is add a UI item for it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2462 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
left to do, but the basic functionality is now there. Alt 1 - Alt 6
selects among TV modes as follows: off, composite, svideo, rgb, bad and
custom. The latter is just composite at this point; there's no code to
actually change specific adjustables yet. Alt 7/Shift-Alt 7 increases/
decreases scanline blend intensity (20% - 100%).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2456 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
fixing bugs too numerous to mention. The end result is that using
Control-0 to switch between mouse modes is much more understandable.
Updated properties database for Telepathy ROM, which now uses the
MindLink controller. Also updated Astroblast ROMs to use paddles
by default.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2444 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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