Commit Graph

1236 Commits

Author SHA1 Message Date
markgrebe cf8b71bb25 Made theOSystem global so that the Mac OS specific object can call the createConsole method to open a cartridge from the user droping a file on the running icon.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@445 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-28 01:23:54 +00:00
stephena 8a0432af80 And so it begins ... Very rudimentary support for the integrated debugger
has started.  The debugger can only be launched when in emulation mode, and
is toggled by the ` (backquote) key.  Right now, I'm still fine-tuning the
infrastructure.  When you press `, the SDL window resizes itself to 510x382
pixels (large enough at single zoom for 800x600 and under, and at double
zoom for 1024x768 and above).  The emulation is moved to the upper left
corner, and the remaining space will be filled with debugger widgets (making
extensive use of the TabWidget to squeeze as much as possible into the
limited screen real-estate).  It's my intention for at least _minimal_
debugger functionality to be included in the next release.

Removed 10% gap around framebuffer in fullscreen OpenGL mode.  I'm moving
Stella towards a totally unified codebase, so if a feature can't be added
to both types of framebuffers, it won't be added at all.  The one exception
is gl_aspect; I still want to keep that one around.  And I eventually may
add aspect correction to the software mode as well, ala ScummVM.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@444 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-27 18:00:49 +00:00
markgrebe ec27cb2b1c Initial checkin of Mac project for working with new version of Stella
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@443 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-27 17:13:23 +00:00
markgrebe 6dc0465d35 Added required MAC OSX specific code for interface between objective-c and c++
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@442 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-27 17:09:26 +00:00
markgrebe dbfda0f59b Fixed type in MacOSX specific code
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@441 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-27 17:05:44 +00:00
stephena 1017bd3222 Changed some FIXME's to TODO's, since they probably won't be done for the
next release.

Added support for inspecting the modification time of the rom directory,
and forcing a reload if that directory has been changed.  So, if you add
or delete a ROM from the romdir, the next time you start Stella, it will
automatically reload the rom listing for you.  Pretty cool I think :)

Added support for each derived OSystem to set its video drivers, and support
to the VideoDialog to show them in a dropdown menu.  That means that Win32
users will be able to select between 'windib' and 'directx' in the VideoDialog
(when I update the Win32 code to do so).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@440 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-26 18:56:58 +00:00
stephena 9722d7f554 Added continuous key event support to the DialogContainer. That means
one can hold down a key, and after a small delay, the key event will be
repeated.  This is much better than having to push the 'down arrow' 100
times in a large scroll box.  Still TODO is handle mouse clicks in the same
way.  The code is there, but it's commented out.  This will be much harder,
since the GUI code from ScummVM wasn't designed to work that way.

Removed x,y items when sending joystick events, since that information
isn't available in SDL joystick motion.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@439 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-26 15:43:44 +00:00
stephena 46f3e463d9 Re-added joystick support.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@438 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-25 23:22:11 +00:00
stephena 6d53a85e58 Removed the filesystem-related methods (fileExists and mkdir) from OSystem
class into the FSNode class, since that's where all the other filesystem
stuff is.

Add OSX modifiers for event loop.  So Control in Linux/Win32 becomes
Command, and Alt becomes Shift-Command.  No doubt this will cause some
problems with weird key combinations in OSX, but we'll have to work around
them.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@437 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-25 17:17:38 +00:00
stephena fe67d725df A slight reworking of the INTTYPES stuff. If Stella is built using the
makefile, it's obviously using a UNIX/Posix build environment.  And since
inttypes.h is always available under Posix, the #define for HAVE_INTTYPES
can always be used.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@436 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-21 19:55:17 +00:00
stephena 2df00cd64b Fixed inttypes support so that Stella compiles in Visual C+ .Net (which
is currently the lowest supported version of Visual Studio that Stella
can be compiled in).  It seems that VS.Net already knows about the
inttypes, so an explicit 'include <inttypes.h>' isn't required.  However,
when compiling under MingW, the include *is* required.

MingW is still the preferred environment for compiling Stella though, as
VS.Net doesn't read the SDL environment variables.  So if you're working
on Stella, feel free to use VS.Net (as long as you don't use anything
specific to that environment).  But all binary releases of Stella will use
MingW, and code that doesn't work in MingW will be reworked/removed.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@435 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-21 19:35:59 +00:00
stephena 0572e86e9e My first attempt at compiling Stella under an x86_64 system with gcc 4.0.
System is Fedore Core 4 test 3.  There were surprisingly few issues,
considering I've never used 64bit mode before.  Thanks to Brian Watson
for initially pointing out potential problems.

Fixed some 32/64 bit pointer to int problems.  Fixed some C++ warnings,
since gcc 4.0 is much stricter about that type of thing.

Made the GUI scrollbar move two lines at a time when using the mouse
scrollwheel.

Now I have to see if this broke anything in 32bit mode.  Note that sound
is a bit scratchy under this distro, and seeing how it's on the same
hardware (as the 32bit development box) I don't know what could be happening.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@434 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-21 16:12:13 +00:00
stephena 628a1e53ab Fixed problem with OpenGL in 24/32-bit color modes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@433 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-19 19:43:38 +00:00
stephena 0a7a36bede Finally got Win32 port working again. Still TODO is contact the OSX
maintainer and see how hard it will be to update that port.

I just found some problems in the OpenGL code in Win32; the colors are
off.  I don't know if it's a Win32 thing, or it affects all ports.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@432 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-19 18:42:39 +00:00
stephena 891ad6f7fe Forgot to add FSNode for Win32.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@431 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-19 13:52:55 +00:00
stephena 6f68c3b20e Second pass at getting Windows version to compile.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@430 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-18 22:54:02 +00:00
stephena 69c0767fa2 Some minor code refactoring, and first pass at getting Windows version to
compile.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@429 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-18 22:35:37 +00:00
stephena fa9786253d Scratch another most-requested feature of the list.
Just added support for zipped ROMs.  Right now, it assumes that the
first file in a zipped archive is the ROM (if it's a multi-file archive).
I thinks that's the way I'll leave it, since otherwise I need another way
to determine which one is the ROM, and that means looking at extensions
or something (which is something I *don't* want to do).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@428 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-18 16:02:53 +00:00
stephena 61d3922e70 Added a ProgressDialog class, which shows a sliderwidget that represents the
progress of some activity.

Some additions to the LauncherDialog.  When populating the ROM list by
directly examining the ROM files, it now uses a ProgressDialog to show
the current status (since this operation sometimes take a long time).

The last selected ROM is now re-selected when starting Stella.

Some minor code refactoring to take into account zipped ROM support
(yes, its coming soon).

Re-added paddle support.  Still TODO is tweak the sensitivity of mouse
movements.  Also still TODO is re-add joystick support.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@427 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-17 18:42:23 +00:00
stephena e12d010c45 Added a Dialog::reset() method, which basically makes sure that any
dialog boxes are in a known, closed state.  Simply calling Dialog::close()
on those dialog boxes *should* have done the trick, but it occasionally
results in a segfault.  My code doesn't ;)  It's probably a hack, but
it's a small and necessary one at this point.  When I eventually run Stella
through Valgrind, I'll probably find the segfault is caused by a dangling
pointer or something ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@426 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-16 15:37:30 +00:00
stephena 9c557fb016 Decided not to add a MiscDialog box, since there weren't really any options
to add to it.

Reworked the EventMappingDialog to take up less screen real-estate, and added
the "Mouse is paddle x" option there (since technically it's also a mapping).

Added an 'emphasized' text color to the list of available GUI colors, and
made some text in the EventMappingDialog use that color.

Added AboutDialog, which lists info such as version of Stella, supported
features, list of developers and contributors, and thanks to certain groups.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@425 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-16 00:02:32 +00:00
stephena addac558c1 Fixed ordering of OK/Cancel buttons for OSX vs. Linux/Windows.
Added better sanity checks to file browser dialog through FSNode.  It now
checks if a user-specified directory name is correct, and if not, it uses
a valid default. Still TODO is add similar checks to the Win32 FSNode.

Totally finished the LauncherOptionsDialog.  You can now change Snapshot
settings there as well.

Fixed potential memory leak in PopUpWidget.  It was needlessly creating
and destroying PopUpDialog objects, and under certain circumstances the
objects were never deleted.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@424 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-14 03:26:29 +00:00
stephena 8bed0dfc75 Added TabWidget and modified LauncherDialog to use it.
Changed many conflicting instances (in overloaded methods) of uInt32, uInt16,
Int32 and Int16 to just plain 'int'.  After spending two hours trying to find
out why a method wasn't being called, only to see it was because of conflicting
definitions of 'int', I said to hell with it and removed all instances of
those portability functions from the GUI stuff (thank Brian for the advice).

Eventually, they'll be removed from the whole codebase.  Already we're running
into problems with them on 64-bit machines.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@423 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-13 18:28:06 +00:00
stephena fc8240239a Beginning work on the options dialog box for the launcher dialog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@422 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-13 01:03:27 +00:00
stephena 0567bb6d94 Fixed some 32->64 bit bugs; many more fixes are coming (thanks to B. Watson).
Added commandline options to change almost all properties of a ROM.  Very
useful for developers who constantly change these features but don't want
to re-generate a new stella.pro entry each time.  Thanks again to B. Watson
for original idea and partial implementation.

Fixed problem with events getting 'stuck' when changing states.  For
example, one could be playing a game and, while pressing "Left", exit
the game.  Then, when another game is started, the left direction would
still be selected.  This is a side-effect of Stella initially being a
"one game per launch" application.

For similar reasons as the previous step, fixed problem whereby a
messagebox seen just before ending one game was showing up in the next
game as well.  Still TODO is make sure the sound buffer is cleared
before each new game (sometimes you can hear some sounds from a
previous game).

Further tweaked the '-framerate' commandline argument to override the
defaults when used, but never be saved to the settings file.

Renamed '-altpro' commandline argument back to '-pro', and moved it into
the DEVELOPER_SUPPORT area.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@421 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-12 18:45:21 +00:00
stephena bc40ce9ad4 Fixed huge memory leak in when contructing the gamelist.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@420 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-11 23:06:52 +00:00
stephena 468f680725 Made LauncherDialog look for a system-specific gamelist cache file.
Modified the framerate argument, in that it can only be changed from the
integrated GUI, and only for the current game.  The framerate is now
properly set when starting a new game, or when switching between NTSC/PAL
mode, and is based on the ROM format.  The ability to change the framerate
may disappear entirely before the next release (I see no real need for it
anymore).

Some minor code cleanups.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@419 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-11 19:36:00 +00:00
stephena ee742cb0a3 Made the game listview show the actual game names (from the stella.pro file).
Added ability to cache the reading of ROM info, since it can take up to
30 seconds on slower systems.  If such a cache file exists, the display
of ROM info normally takes a few seconds or less.  I plan to add a progress
dialog box for the first case, since even on an Athlon64 3200+, it can still
take almost 10 seconds.  Fortunately, this won't happen very often (only
when you change ROM directories, or do a reload to detect a new game).

Still TODO is add support to FSNode to determine last access time of a
directory.  Then, if the ROM dir has been changed since we last ran Stella,
the program will 'see' that and automatically do a full reload (just like
KStella).  Neat, eh? :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@418 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-11 01:44:39 +00:00
stephena 781f8b8d2e Implemented BrowserDialog functionality. That means we can now browse
for the correct ROM folder, and the folders contents will be shown in the
listview.

Still TODO is modify GameList so that it contains all relevant info for
a ROM.  Then, the listview will contain the actual names of the ROMS
(as specified in stella.pro) instead of their on-disk filenames.  And at
that point, we can actually start a game directly from that listview.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@417 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-10 19:20:45 +00:00
stephena 011588bbb1 Added 'Note' textwidget to the launcher window. It's not yet active, but
eventually it will show any associated notes for the currently selected
ROM (like StellaX frontend).

Resized the launcher window to a more reasonable size of 320x240, instead
of 400x300.  All the extra space was just wasted.  Maybe sometime in the
future I'll make the window look more 'Atari like', with graphics, etc.
For now, just a list of game names will do.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@416 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-10 01:12:59 +00:00
stephena 7deea3a6a6 Added first pass of filesystem handling. We can now see a listing in the
launcher window, and double-clicking on a listed file will start that ROM.

Some optimizations WRT launcher stuff.  Specifically, it was not necessary
to delete and re-create the launcher dialog all the time.

It's all starting to come together ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@415 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-09 18:58:19 +00:00
stephena 16ee1f8e7f Fixed some uninitialized pointers that were causing segfaults at strange
times.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@414 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-08 17:38:23 +00:00
stephena cf08dc29cd Cleaned up the LauncherDialog a little.
Removed the saving of TIAbit on/off into the state files.  These
are debugging tools, and aren't really part of a state file (and hence
shouldn't be saved with a state file).  Now, whenever a state is
(re)loaded, the TIABits are all turned back on.  That means the state
files are still compatible with Stella 1.4.2.

Added "Enter/exit menu mode" and "Enter launcher mode" to the remappable
events.  They default to 'Tab' and 'Escape', respectively.  While you
can add new mappings for these events, those defaults can't be removed
(otherwise, it would be possible for a user to disable menu mode, and
never be able to get back into the menu to fix the problem).

Fixed some problems with the overall state machine.  Sometimes the cursor
was hidden when it shouldn't have been, and vice versa.

Fixed crash when toggling between software and OpenGL while in ROM
launcher mode.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@413 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-06 22:50:15 +00:00
stephena b27b595a78 Added first pass of the ROM launcher. When you press 'Start' in the ROM
launcher, it launches Frostbite.  Then pressing 'Escape' goes back to the
launcher, and you're able to then launch Frostbite again!  Success !!!
Still TODO is actually get a ROM listing and use the selected game, but
the fact that it works multiple times for some game means that the
infrastructure is working correctly :)

Changed behaviour of the 'Escape' key.  Specifically, it now only acts
as a key to enter ROM launcher mode.  In the case where the emulation
was started without the launcher, the key will now do nothing.  From now
on, the only way to quit Stella is Ctrl-Q (or equivalent for OSX),
close the window, or from the 'Quit' button.

Also, the 'Enter launcher mode' event will eventually be made remappable,
as will the 'Enter menu mode' event (currently the 'Tab' key).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@412 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-06 18:39:00 +00:00
stephena 4bd9ef8b3d Removed the concept of a 'romlauncher' argument. The default behaviour is
if you specify a valid ROM on the commandline, it will automatically used,
and when you exit that ROM, the emulator will exit as well.  If you don't
specify any ROM, the internal ROM browser will be used.  So it was
pointless to have a separate argument, when Stella can figure out what
to do.

Cleaned up the handling of OSystem::createConsole() a little.  Now, if
it's called without a ROM, it will simply reload the last one specified.

Fixed some missing settings that were always in the code, but never listed
in the Settings::usage() method.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@411 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-05 19:00:48 +00:00
stephena e5df395075 Moved the main processing loop out of mainSDL and into OSystem::mainLoop().
Also, moved creation of new console into OSystem::createConsole.

Added hooks for browser mode (coming soon).

Added Ctrl-r to reload the currently loaded ROM.  It has the nice side
effect of testing whether another ROM can be reloaded while the emulation
is running.  Since this was successful, adding the ROM browser mode will
be very easy.

Added ability to actually change the framerate from the VideoDialog.

Reworked FrameBuffer::setPalette to be called only when a new console
is created (and we know that MediaSource::palette() is defined).

When toggling between NTSC/PAL mode, the video framerate is now toggled
between 50 and 60 (still TODO is change the audio framerate).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@410 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-05 00:10:49 +00:00
stephena 79f738b93e Oops, forget to include the DialogContainer class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@409 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-04 21:32:25 +00:00
stephena 97081a75ee Added a new DialogContainer class, which contains code common to the Menu
and Browser classes.

Abstracted Menu class into a DialogContainer.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@408 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-04 19:04:47 +00:00
stephena 58e906998a Updated ListWidget class to automatically select an item based on
keypresses.  For example, if you enter 'co', it will automatically
select and move to the "Color/BW TV" item.  This will become very
useful in the ROM launcher, to move very quickly to desired game.

Changed the keys to (de)activate the TIA registers to Alt (z,x,c,v,b,n),
to match their definitions in z26.

Added 'Alt .' to disable all TIA registers, and 'Alt /' to enable all
registers.  Eventually, I'll add the ability to select PF0, PF1, and PF2
separately (instead of treating them all the same, as it's done now).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@407 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-04 00:43:22 +00:00
stephena 2173b7701b Re-added double-click support to the list widget. This will be needed when I
add the ROM launcher, as double-clicking on a game will start it.

More cleanups/re-additions for the ListWidget class.  It now supports more
complete navigation with the keyboard (as opposed to just using the mouse).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@406 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-03 19:11:27 +00:00
stephena 6bc6dedf39 Made sure that any changes made to the game properties dynamically
is actually shown in the game info dialog.

Removed redundant call to some methods.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@405 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-02 22:18:14 +00:00
stephena eb8254d133 Moved game loop into OSystem. Eventually, the only responsibility of the
main function will be to instantiate the initial objects, and clean up
when we're done.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@404 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-02 19:36:05 +00:00
stephena f5684caa4a Cleaned up the FrameBuffer::resize and FrameBuffer::xxxFullscreen API's.
Functionality is exactly the same; but it just uses cleaner code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@403 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-01 20:11:07 +00:00
stephena e768e6f7dd Removed all responsibility of creation and deletion for the FrameBuffer
and Sound classes into OSystem.  This makes the main function a lot smaller.

Re-added developer keys used to change XStart, YStart, Width and Height
properties of the ROM.  I must have done something better this time,
since these keys now work correctly in OpenGL mode as well (they didn't
previous to this).

Cleaned up some code wrt conditional compilation of sound code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@402 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-05-01 18:57:21 +00:00
stephena b026a1e247 Added ability to dynamically switch between software and OpenGL rendering
modes while still in the emulation (without restarting the currently
running ROM).  Added the 'Alt g' key to do this, but it can also be
activated from the VideoDialog menu.

Except for the 'framerate' option, all video related changes can now be
done dynamically from within Stella.  They can still be specified on the
commandline, but that's no longer required (the framerate option will
be fixed shortly).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@401 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-04-29 19:05:06 +00:00
stephena 56c69d428a Forgot to include these new files in the last commit. The SoundNull
class is used when compiling Stella without any sound support whatsoever.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@400 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-04-28 19:30:27 +00:00
stephena c8fd06bc69 Cleaned up the Video and Audio dialog boxes a little, making them waste
as little space as possible.

Added ability to enable/disable sound from within the emulation.  So you
no longer *have* to specify it on the commandline (but you still can, if
you want to).

Changed makefile to conditionally compile sound support.  It makes the app
approx 15KB smaller, if anyone really wants to do that ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@399 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-04-28 19:28:33 +00:00
stephena db67ba4bb4 Yet more tweaks to the vLine, hLine and Scrollbar stuff. It now looks
(and works) as intended.

Converted many of the OpenGL functions back to similar code in the
corresponding software methods.  So OpenGL mode can now draw text
and bitmaps in GUI mode.  It just wasn't worth the effort to separate
the rendering so much, and all we lose by going back is accelerated
alpha-blending.  Since it's just eye candy anyway, I don't really care.

This is in anticipation of merging the software and OpenGL modes.  Once
that's complete, both FrameBuffer classes will be much smaller, and
we'll be able to switch between software and OpenGL modes while the
program is running.  This is one of the last 'features' that is
currently only accessible from the commandline.  My goal is that one
*shouldn't* have to use the commandline to change options, but the
ability will still be there if they want to.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@398 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-04-24 20:36:36 +00:00
stephena 44bdcdeaf9 Some more tweaks to the GUI hLine and vLine methods.
Integrated some changes from the ScummVM 0.7,1 codebase wrt the
scrollbar widget.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@397 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-04-24 01:57:47 +00:00
stephena 5e88a64305 Added key bindings to enable/disable some registers in the TIA. These
key binding may change; I just wanted to see how it would work.  You can
do some funky stuff by changing those registers :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@396 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-04-21 21:18:37 +00:00