to use the emulator without hogging the CPU. Usage on most machines I've
tested is around 1% - 2%, versus the 100% that was used before.
SDL version seems to like this new code better. I think that usleep is
causing some problems in the X11 version. I'd appreciate some feedback
on this. Maybe I'll change to select or something.
There is a slight skip in framerate that can't be avoided unfortunately.
You may not even notice it. Sound may be slightly different as well. In
my opinion, this is a good tradeoff for basically reducing CPU usage to nil.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@50 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
versions for now, but can easily be used in other ports. Press the PAUSE button
to activate and deactivate.
It is started by calling Console.mediaSource().pause(bool state), where state
is either true or false and will enable/disable the pause, respectively.
When pause is enabled, a mute is sent to the Sound device, so other ports must
have coded this Sound::mute method. While pause is on, all calls to
Console.mediaSource().update() will do nothing. Only by calling pause() again
can the emulator proceed.
Other ports will probably require a minor rewrite of their main loop, since
the calculation of frames per second will now have to be done differently.
Previously, FPS was based on the time entering the main loop and the time
leaving. This difference was the total time used in calculating FPS.
Now, since pause can be on for an indefinite amount of time, the total time must
be incremented *per frame* instead of over the whole loop. Similarly, the total
number of frames drawn is no longer how many times you pass through the loop, but
how many times you pass through the loop *while not paused*.
See ui/sdl/mainSDL.cxx or ui/x11/mainX11.cxx for more info.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@47 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
deleted.
Barring any major bugs or memory leaks, this will be my last release for
the next major version (Stella 1.2).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@46 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
now be used in the X11 and SDL versions, and in the DOS and Win32
versions if someone wants to add support for it. The only requirement
is the PNG library. This is because the snapshot is now taken from the
'MediaSource' framebuffer, which is common to all versions.
Changed SDL to take advantage of the common snapshot code.
The X11 version no longer requires Imlib for snapshot support, as it now
uses the common snapshot code.
Removed (and buried) the SnapSDL code for good :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@45 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
screen to only those parts that changed.
Switched back to using native bpp mode in SDL, since emulating 8-bit
display was causing a performance hit.
Because of previous modifications, snapshot support in SDL in broken in
both windowed and fullscreen mode again. Its on my TODO list :)
SDL snapshot support now configurable in the makefile. Now you can use
the SDL version without needing libpng (and without snapshot support).
Fixed a bug in SDL version when no joysticks were present on system.
Changed commandline argument from '-winsize' to '-zoom' since it more
accurately describes whats happening (X11 and SDL versions).
Removed F11 key (fullscreeen mode) in X11 version since that code hasn't
actually been written yet.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@44 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
If specified, this will save single snapshots instead of generating multiple
snapshots saved as 'filename_x.png'.
Updated stellarc file to select 'sssingle' command.
Fixed some problems in the SDL snapshot code.
Fixed long-standing bug in the X11 version where closing the window did not
properly exit the emulator. Now exits are done correctly. No more
zombie stella-sound processes :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@43 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
for SDL version, just the PNG library. Fullscreen snapshot support is
working again.
Removed choice of adding snapshot to SDL version; now it is always added.
As a result, the 'libpng' library is needed to compile SDL version.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@42 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to the X11 and SDL versions.
This is only a commandline option and can't be specified in the stellarc
file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@41 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Changed the key for entering fullscreen mode on the SDL version
from F11 to Alt-Enter. Will make the same change in the X11
version when I figure out how :)
Changed '-showfps' to '-showinfo' since it was showing more than the
fps anyway. Added printing of the romname and md5sum to this option.
Temporarily removed support for fullscreen snapshot support in the
SDL version. Windowed snapshot mode is still available in X and SDL.
Changed the requirements for snapshot support. Now requires regular
Imlib instead of Imlib2. More users have Imlib than Imlib2.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@40 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
-ssdir <path> : Path which specifies where snapshots are saved.
-ssname <name> : Can be either "romname" or "md5sum". Will name the snapshot
file according to the specified option (from stella.pro file).
Some cleanups of the snapshot code.
Fixed bug where segmentation fault occurred if there was no stella.pro
present. Now an error is printed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@39 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
correctly. The emulator would start fullscreen, but if switched to
windowed mode, it wouldn't be centered.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@37 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
There is no longer a builtin stella.pro file. You must supply one with
the program.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@30 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
properties in memory or always reading from the .pro file. Removal of the
.pro file from the executable (now it MUST be included with the executable).
Typical improvements are 38% less memory usage and 46% reduction in
executable size.
Changes to all 4 frontends to accomodate changes made to the
PropertiesSet class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@29 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
has been adjusted to make the colors look a bit stronger (more saturated).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@28 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Eckhard Stolberg obtained from a real 2600 showing that the TIA always
defines bits 6 & 7 and lets bits 0 to 5 float.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@26 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Console.cxx : changed lookup of current rom to be always based on md5sum
Console.hxx : changed lookup of current rom to be always based on md5sum
Props.cxx : added method to get rom info based on md5sum
Props.hxx : added method to get rom info based on md5sum
PropsSet.cxx : changed storage of properties to a BST based on md5sum
PropsSet.hxx : changed storage of properties to a BST based on md5sum
OSS.c : added volume command-line argument and mixer functions
SndUnix.cxx : added code to pass volume to stella-sound process
mainX11.cxx : major enhancements, see Changelog
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@17 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
which included commits to RCS files with non-trunk default branches.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@7 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba