it drew in that area was sometimes garbage, and with the new core it
draws nothing at all (which is the correct behaviour). Hence the
feature is obsolete.
debugger is currently broken, but at least the code compiles (needed
for the Windows and OSX test releases, as they aren't set up to be
compiled without the debugger.
defaults have been specified. The reason being, testers will be running old
and new versions of Stella, and with the previous settings, they would have
to continually reset 'tia.core' every time they run a new build. Besides,
the point is for the new core to be the default, so we may as well enforce that
in the code.
the info window in the upper-left of the screen. Still TODO is tie it to the
framerate, so that when the scanline count changes, it also auto-calculates
the framerate.
Some formatting cleanups in various classes.
the priority as well as the colours change from left/right screen.
Made getPixel method from each of the TIA objects inline, since they're called
so often.
Introduced Cartridge::initializeRAM() method, to eliminate duplicate
blocks of code in every bankswitch scheme that uses extra RAM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3316 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
in the debugger wasn't actually resetting the bankswitching, since it was
being locked.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3314 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
improvements in the pipeline waiting to be done, and are being delayed
by the sound stuff.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3310 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
that approach is a bad idea (and using Stella as example code), so it doesn't
make sense to not do something as it's being taught; the correct way.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3308 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
that the register held values up to 255 (when it should only contain 0-159).
Thanks to Omegamatrix for the report and fix.
On another note, I hope to get back to Stella development soon; it's been a
rough time since the last release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3307 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
core to Stella, as outlined in a thread on AtariAge. It's currently
not working 100% due to timing issues with the TIA class.
Expect breakage over the next few months, as this code and the TIA
code in general will be borked from time to time.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3306 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
std:: functions into BSPF namespace at all. So I removed them, and have the
calls map directly to the std:: versions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3304 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
into the parent dialog box (ie, the entire debugger window), since we
don't want to allow backtick to appear anywhere in the debugger, not
just the prompt.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3295 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
"`" key (or equivalent) was being shown in the prompt widget.
Added method stubs for clipboard cut/copy/paste/select. Actually
implementing them will come next.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3287 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
(tv.jitter_recovery). Next, this will be added to the UI.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3276 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
devices under Linux. This is needed since SDL2 doesn't currently allow
to change the deadzone, which is causing problems with the various
'daptor devices, particularly with paddles.
Removed redundant patch for SDL2 in Windows to not 'beep' when an
'Alt' key is pressed; this functionality is now upstream in SDL 2.0.4.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3275 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
scanline count differences can take multiple frames to recover.
Currently the code uses a hard-coded delay; next I'll make it a
variable, changable within the UI (and on the commandline).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3272 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
since when a vector is deleted it automatically calls clear on itself.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3271 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
crashes if started in bank 1 (the default for Stella). So we special-case
this ROM, and have it start in bank 0.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3268 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Updated properties database to RomHunter v11. I would have done this in the
last release, but nobody told me that v11 had been released.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3267 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
is closed (since it's not deleted until the next console is created).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3249 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
if they are already present in the built-in data. This eliminates a 'bug'
where entries were being saved to the external properties file that were
also present in the app itself. The app still worked, but it bloated the
external file for no reason.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3248 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the mouse or digital input. This will fix those ROMs that don't
use much of the range on a real paddle, and as such have a huge
deadzone in emulation.
For now, only the Paddle class is modified. Still TODO is add the
ability to change this from the UI (per-ROM, obviously).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3247 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Specifically, the stack class now takes a lambda to apply to all elements it
contains, rather than allowing direct access to each element.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3245 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
To anyone reading this, Merry (belated) Christmas and Happy New Year!
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3239 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This allows to remove assert statements (and instead use exceptions),
as well as fix a bug issued by Coverity.
Fix final bug reported by Coverity in ComboDialog class, where array
contents weren't being initialized. This isn't really a bug at all,
since the lambda takes care of initialization, but Coverity doesn't
support lambdas yet.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3238 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
rate (0.5 or so is the average for a codebase of this size)!
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3237 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
of these aren't actually bugs per-se, but are to follow good programming
practices.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3234 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Added shortcut key to toggle TV scanline jittering, and have it default
to off. I'd really like to enable it again eventually, or perhaps use some
of the code in the case where scanline jumps are *really* large (since it
seems to emulate the output for every TV I've ever seen).
Bumped version #.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3221 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
code that was used for SDL 1.2, etc. It is now much easier to
understand and modify (but I *still* hate Objective-C).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3217 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
and fix a few warnings that gcc caught and clang missed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3210 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
see what errors are present in the code. This is the first pass
in cleaning up the errors it found.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3203 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
It was referring to Objective-C categories vs. subclasses.
I'm really glad I don't have to know anything further about
Objective-C :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3202 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
counts. Thanks to Spiceware for the idea and implementation.
Tweaked 'MDM' autodetection; the identifying string can be in
either bank 0 or bank 1 (or both).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3199 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Changed next version # to 4.6.5; 4.7 will include improved paddle
emulation, but it's not ready yet.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3196 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
old RamWidget. Class RawWidget is now an abstract base class
to RiotRamWidget and CartRamWidget, allowing to share quite a lot
of code. In the process, both classes now implement input from
the binary and decimal widgets, not just the DataGridWidget.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3195 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Changed valid() method Serializer to an explicit bool() operator,
to function similar to C++ streams.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3185 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
even though their respective compilers don't yet support detecting
errors with inconsistent override usage.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3184 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
version of Xcode doesn't warn about 'override' issues, so adding
override to the codebase doesn't help compilation in OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3183 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
C++11 keyword. This makes developing/maintaining class hierarchies
more manageable.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3182 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
certain other events. A small change to be sure, but the name more
appropriately describes what the event does.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3181 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
a memory leak where the Console was never being deleted.
For FSNode read, change 'uInt8[]' arrays to BytePtr, which is an alias to
a unique_ptr array. Again, this enables automatic deletion when the object
goes out of scope.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3173 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Added updated C++14 make_unique templates, which now allow to also
use unique_ptr for arrays.
Updated SoundSDL class to use unique_ptr, eliminating another new/delete
pair.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3171 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
For those reading these logs, I hope to get back to Stella development soon.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3166 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Introduce namespace to class MD5, so the method call is now MD5::hash()
instead of simply MD5().
Added C++11 '= delete' constructors to most classes, to more clearly
indicate the intent of the class. Note that this isn't absolutely
necessary, but is considered good form. I will be teaching a C++ class
over the summer using Stella for examples, so it makes sense to follow
the standard and the textbook recommendations :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3164 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Now that there are no dirty updates, remove redundant calls to draw();
calling setDirty() is now sufficient to get the changes shown in the
next frame. This is also slightly faster, since redrawing is done
only when necessary.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3156 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
write 'silence' to the sound card until there is available data to use.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3152 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
on every call to FrameBuffer::update(). This will the same CPU usage for TIA mode,
and a slight increase CPU usage for launcher and debugger modes. The code to do
this was just too fragile, and not worth the extra effort.
This fixes several rendering issues, such as garbage in fullscreen mode in Linux
when using Intel GPU, triple-buffering issues in Windows, etc.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3148 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Added a specific closeConsole method, since the test for hasConsole was returning
true in cases where it shouldn't have.
Fixed PERL PropSet saving so that properties are always saved in sorted order
(by MD5). This isn't technically necessary, but it will eliminate huge changelogs
when only a small part of the file has changed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3134 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
bit of data loaded from the file.
Changed Serializer class to unique_ptr, eliminating d'tor.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3130 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
being compressed into one level. In the process, moved all ZIP-related
functionality from OSystem into FSNodeZIP, since it's the only thing
that actually uses it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3129 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
reads from $30 - $3F, whereas it was triggering on *all* TIA reads.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3124 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
only class that uses it. This is in preparation for improvements to ZIP
file handling.
Use emplace_back instead of push_back in several places, as it's faster.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3121 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
it contains; it wasn't being redrawn until clicking the widget.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3116 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
completely remove (currently unplugged) sticks from it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3115 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
it is on all my test systems with 4 different controllers. We still
need bugtesters for this ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3112 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
and joysticks. It's now easier to read/follow, and has less code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3110 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to learn to read the specs more closely). Changed hotspot change to trigger 3 cycles after
initiated instead of 3 address changes.
Added CartWDWidget debugger class, to view/change cart-specific functionality from within
the debugger.
Still TODO is CartWD patching.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3105 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Renamed 'Vlist' to 'VarList', since it's more descriptive.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3092 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
I find the newer syntax more readable, since it acts exactly like
an assignment statement.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3088 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Eventually this may lead to proper movie output. Thanks to SvOlli
for the code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3087 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
in mind that YACC stuff deals strictly in pointers, and can't be changed).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3081 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
I'd hoped to use std::function, but I don't want to dive any further into the
arcane YACC syntax.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3080 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Removed constexpr, since VC++ 2013 doesn't support it yet.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3076 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
it with the debugger (this eliminates more new's and empties another d'tor.
Re-wrote PackedBitArray to use a bitset instead of home-made code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3075 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
I also love lambdas?
Minor cleanups to other parts of the code (missing virtual, cleanup
d'tors, move methods from public to private, etc).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3071 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Decided that the next version will be 4.5, since it requires new compilers
and, in the OSX case, a newer version of the OS.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3069 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
I realized that they didn't need to be stored in a map, since the integer
ID was never actually being used. This must have been part of a proposed
API that I've since deleted??
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3062 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
and bumped version # to 4.5 for the next release (whenever it
may happen).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3057 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the advantages of C++11 (move semantics, list initialization, etc).
I'd hoped to somehow wrap a vector behind Common::Array and not have
to change the codebase to this extent, but it didn't work out. And
I've since read that it's bad form to extend from std::vector anyway.
This is *THE LAST* bit of work I'm doing with arrays; everything is
now a proper vector.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3055 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
lists to the Array class? Completely deleting all that code and
using a std::vector directly :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3054 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Renamed mainSDL.c to main.c, since it is no longer dependent on SDL,
and I'm trying to encapsulate SDL-specific code into as few places
as possible.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3047 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Now that 10.7 is the minimum supported version for OSX, we can
also move to 64bit-only binaries.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3043 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
I've found and fixed a few memory leaks. You will need an up-to-date compiler.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3031 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
all GUI classes. This makes sense, since the underlying classes
were returning them as references anyway.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3019 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
Alt-comboes, as these are easier to remember than function keys.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3009 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
versa (I guess it's useful to test under multiple compilers).
Bumped version # for next test release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3008 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
add 256x256 and 512x512 versions (I'll need help with this one, since it
requires artistic skills which I definitely don't have :) )
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3007 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
keyboard layout. This means that non-US layouts can finally
enter (ASCII-only) text with Alt-Gr key-combos. Because of these
changes, the global debugger keys for rewind/step/trace/scan+1/frame+1
are now the function keys F4 to F8, respectively.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3006 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
implementation, and using virtual d'tor only when absolutely necessary.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3000 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
any-sized PNG can be loaded and then scaled to the available space.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2979 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
on top of the dialog surface. This is useful when the surfaces are using
different resolutions, and we don't want to draw the exact overlaying surface
pixels directly into the the dialog surface.
For now, this is most useful for rendering snapshots in the ROM launcher, and
eventually it will allow arbitrarily-sized images to be scaled (in hardware)
to the picture area of the launcher.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2978 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba