compiling (or running) Stella with no sound support whatsoever.
Added ability to compile multiple sound backends into the X11 and SDL
versions, and to dynamically select from among them at run-time. For
now, the X11 version can't use the SDL sound core. This is in
preparation for the ALSA sound backend, which may or may not make it
into Stella 1.3.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@144 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
a little more room for error. Also added a call to SDL_Delay in the
blocking section of the updateSound method so that it doesn't hog the CPU.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@143 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
switched to a new set of low-level Sound Blaster routines which appear
to provide better Sound Blaster support and the ability to auto-detect
sound card settings.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@142 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
of stderr).
Fixed the X11 version wrt to merging changes into the main properties file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@141 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the X11 sound code is more mature.
Changed all occurrences of ::close() to ::closeDevice().
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@138 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
class. Couldn't use close(), since that is a C-style function called in
the SoundX11 code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@137 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
SoundSDL classes are drop-in replacements for each other.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
As of now, the OSS sound code is a bit more mature than the SDL code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@135 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
we want to merge any properties changes into the PropertiesSet.
In the X11 and SDL versions, this option also tells the Properties::load()
method to load the properties into memory, since we can't do a merge
unless the properties are stored in memory.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@132 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
into the current PropertiesSet. This method also accepts a filename specifying
where to save this PropertiesSet to, and a boolean representing whether we want
to actually save the properties on exit.
Cleaned up some variable names, and set some bas initializers in the constructor.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@131 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
that when a Properties object is saved to a properties file, that file
looks more like the default stella.pro.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@130 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
be compiled into the core. It's up to the GUI's to call (or not call) the
DEVELOPER methods.
Changed the behaviour of Console::saveProperties() in that it now accepts a
boolean variable 'merge', which if true, will make a call to
PropertiesSet::merge() and indicate that these properties are to be saved
into a stella.pro file.
If merge is false, it simply saves the properties to the specified file
(as before).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@129 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
stay synchronized with each other. Also added code to disable the audio
if the driver doesn't support "real time" audio (under linux this usually
means a sound server is running). This code appears to be working almost
as well as the X11 sound code under the 1.2.5 release of SDL.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@128 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
stuff. These are availble only if DEVELOPER_SUPPORT as been defined.
The keys are as follows:
Alt+s: Save the current properties to your home directory named as
"Cartridge.Name".pro, with all spaces in the filename
converted to underscore.
Alt+f: Toggle between NTSC and PAL modes, and update the palette
accordingly.
PageUp / PageDown: Increase / decrease the "Display.YStart" variable.
Alt+PageUp / Alt+PageDown: Increase / decrease the "Display.Height" variable.
Home / End: Increase / decrease the "Display.XStart" variable.
Alt+Home / Alt+End: Increase / decrease the "Display.Width" variable.
Also, cleaned up the code a bit wrt C functions. Got rid of all sprintf
C-style functions, and used C++ style sstream instead.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@125 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
both from the commandline (by passing in a user-defined properties
object to the Console constructor) and at runtime (by calling various
methods in the Console class).
Methods are defined as follows:
Console::changeXStart() & Console::changeYStart()
- Changes the "Display.XStart" and "Display.YStart" variables.
Console::changeWidth() & Console::changeHeight()
- Changes the "Display.Width" and "Display.Height" variables.
Console::toggleFormat()
- Changes the "Display.Format" variable, switching between NTSC and PAL
modes.
Console::saveProperties()
- Saves the current properties (including changes made in the current
session) to the given filename.
Some notes on the new methods:
- The GUI's will need to be adapted to see the updated information
and act accordingly.
- This new code is only activated by '#define DEVELOPER_SUPPORT'.
You are encouraged to wrap calls to these new methods (in the GUI)
in an appropriate #ifdef. Publicly released binaries probably
SHOULD NOT have this stuff activated.
- All change methods (except for NTSC/PAL switching) currently do a full
system reset after making a change, so that the whole system will see the
changes. This means that if you are playing a game and call one of these
methods, the game will be reset. In the future, the core may be enhanced
so that changes are detected without a full reset.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@121 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the contents of the TIA sound registers are saved/loaded with the state,
resulting in a much more consistent state file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@118 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
code, and there are still some audio/video sync'ing problems.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@115 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
new sound mechanism for Stella. The TIASound library is now part of the
emulation core and each time a frame is created a corresponding set of
audio samples is added to a bounded queue. The GUIs are responsible for
getting the samples from the MediaSource object after each update and
sending them to a sound driver as needed. Currently, only the X11 port
has been updated to use the new API. The new APIs are not backwards
compatible so the other GUIs will not compile until they are updated.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@114 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
and SDL ports.
Added 'Shift-F10' key combo to X11 port to cycle downwards through state
slots.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@113 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
commandline options that were previously booleans now take either a 0 or
1 after them, specifying false or true, respectively. For example, one
can now specify window centering be on with "-center 1" and off with
"-center 0".
The option previously named "-nohog" has been renamed "-accurate", which
more accurately describes its function.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@111 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
saving/loading states, etc). Makes the message much easier to see.
Implemented in the core code, so DOS, X11 and SDL will take advantage
of it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@109 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
with eight 4K banks. Marble Craze (a new homebrew game) should work now.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@107 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
now always compiled into the SDL and X11 versions.
Default is to use the CPU-intensive (normal) timing code. The less CPU-
intensive timing can be selected with the commandline argument '-nohog', or
by setting 'nohog = 1' in the rc file.
Note that the nohog setting works much better in SDL vs. X11, since SDL_Delay()
seems to have a finer granularity than usleep().
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@105 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
- Completely removed the built-in games
- Renamed "Readme.txt" into "CyberstellaTodo.txt" and moved it into the root of the stella project.
- Added a few initilal Cyberstella informations to changes.txt. The WIN32 version now joins this log.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@103 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
- Completely removed the built-in games
- Renamed "Readme.txt" into "CyberstellaTodo.txt" and moved it into the root of the stella project.
- Added a few initilal Cyberstella informations to changes.txt. The WIN32 version now joins this log.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@102 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Appropriate error messages are printed to the screen.
Changed location for rc and state files for X11 and SDL versions.
When Stella starts, it will create the directories '.stella' and
'.stella/state' under $HOME, if they don't already exist.
All state files will be placed in '$HOME/.stella/state'. The locations
for the rc and properties file have also changed. They are now
found in '$HOME/.stella/stellarc' and '$HOME/.stella/stella.pro'.
Changed shading of the screen when pause is pressed. Now the colors
are set to 75% of normal, not 50% (as before). I think this looks
better. Also, shading is no longer performed in 8-bit modes, since
there weren't enough colors to do it anyway.
Made joystick code optional again in the X11 and SDL versions. This
is in preparation for a code merge (in the SDL version) for the
Zaurus PDA.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@101 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
saving.
For now, CartE0 is still being tested, and CartMC has not been implemented at
all. This is a problem right now, since I don't have access to an MC
cartridge image.
Other than that, all the other Cartridge types are working fine with every
ROM I've thrown at the current code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@100 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Changes I had to do where:
Adding #include "bspf.hxx" to the headers of the new classes.
Fixing a myriad of (in VC++ 6.0 illegal) uInt32 redefinitions
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@99 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
- Updated Todos in Cyberstella/ReadMe.txt
Woah! 137 lines of ToDos! The fastest growing branch in the whole project! :-)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@98 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
We're working on a GPL conform solution though, so check back soon.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@97 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
For now, state support is present only in the SDL port. The following
keys are used to access state stuff:
F9: save state to current slot
F10: change current slot (cycles from 0 through 9)
F11: load state from current slot
Messages will appear onscreen indicating success or failure.
State files are saved named as the md5sum of the current ROM, with an
extension of .stx appended, where x is the current slot (from 0 through 9).
For now, these state files are saved in the current working directory.
I plan on moving them to a $HOME/.stella/state directory for both the X11
and SDL ports. The Windows and DOS versions can choose other, more relevant
locations.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@96 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Not all cartridges have been implemented. Some are working perfectly,
such as those without RAM. Others are hopefully working, but require
further testing (like bank switching). A few are not working at all,
most notably CartAR and CartMC.
Please test extensively.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@95 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba