Commit Graph

38 Commits

Author SHA1 Message Date
Stephen Anthony cd689941b6 Move to C++14, now that all the minimum required compilers support it.
Clang 3.8, gcc 5, Visual Studio 2017 and Xcode 8 are now the minimum
supported compilers, and they all support C++14, so we may as well use it.

 - Change all make_ptr to make_unique
 - Change iterator begin(), end(), etc to const versions where appropriate
 - Remove UniquePtr, since C++14 supports it natively
2017-07-21 21:10:13 -02:30
Stephen Anthony fb6e573263 Update UNIX configure script for gcc7 and above. 2017-04-17 18:52:04 -02:30
Stephen Anthony c80f72b367 Allow configure script to run with clang-5, and fixed a minor
warning when compiling with clang++-5.
2017-02-10 21:32:58 -03:30
Stephen Anthony 49a11e2ce1 Updated PNG and ZLIB libraries to latest released versions.
Since Zlib 1.2.10, it seems that zlib and png need to be paired
together.  The UNIX 'configure' script has been updated to either use
system png and zlib libraries, or both as built-in libraries.  This
shouldn't affect Windows (which uses both built-in anyway), but it
does require changes to OSX (which currently doesn't build at all).
2017-01-15 13:28:41 -03:30
Stephen Anthony 4d0147f3d1 Made new TIA core the default (code now compiles). 2016-12-10 13:38:28 -03:30
Stephen Anthony b9630f5e2a Re-enable compilation with DEBUGGER_SUPPORT. The TIA stuff in the
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.
2016-12-04 16:05:21 -03:30
Christian Speckner 4fd2c71510 Merge remote-tracking branch 'remotes/upstream/git-svn' 2016-11-26 14:48:40 +01:00
Christian Speckner a99a4e1efd Stub implementation of new core. 2016-11-08 01:26:57 +01:00
Christian Speckner 4188d766fb Tabs vs. spaces. 2016-10-30 21:03:52 +01:00
Christian Speckner 2075ff082a Prepare build system for new core. 2016-10-30 21:00:08 +01:00
Christian Speckner 83417e976f Isolate TIA implementation in sub-module, remove all direct references in favor of AbstractTIA. 2016-10-30 00:31:55 +02:00
stephena 431a148011 Detect clang 4.0 in the configure script.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3318 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-10-10 17:43:31 +00:00
stephena be2f6f5b64 Fixed cross-compile bug in configure script, thanks to patch from Vlad Zakharov.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3315 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-24 14:43:30 +00:00
stephena dd480fdb7e Updated configure script for GCC6, and in general cleaned up
some obsolete cruft.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3293 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-29 22:41:18 +00:00
stephena b02059dc5f Updated Linux configure script to work with g++-6.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3289 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-26 19:38:22 +00:00
stephena 8232045971 Make configure script work with gcc 5+.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3158 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-04-22 14:11:11 +00:00
stephena a4023be98b Removed 'SNAPSHOT_SUPPORT' from configure, since building this is
no longer an option that can be disabled.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3103 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-25 19:21:25 +00:00
stephena b646ba5c26 Some cleanup of configure/Makefile scripts.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3089 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-19 12:32:08 +00:00
stephena cf10f4c24f Now that we're using C++11 and cstdint is standard, we no longer need to
worry about inttypes.h and associated defines.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3085 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 20:57:15 +00:00
stephena db5867e345 Updated configure to support newer versions of Hurd, thanks to S. Kitt.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2953 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-02 12:16:16 +00:00
stephena a1ea1b0c96 OK, SDL2 is in the building! This is the first pass at porting the code
to SDL2.  For now, there are many things broken, namely keyboard handling
and fullscreen modes.  But the launcher does show up, allows to start a
game and enter/exit the debugger, etc.

The code will only compile on Linux for now, and sometimes maybe not even
then.  Expect breakage on a regular basis over the next month or so.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2854 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-19 15:34:22 +00:00
stephena 9137b93c80 Some more code pruning. Basically, all classname references to OpenGL
have been changed to 'SDL2'.  From this point on, the OpenGL-specific
code will be removed, and replaced by SDL2-specific hardware-accelerated
code.

Cleaned up (mostly) the API of FrameBuffer vs FrameBufferSDL2.  Since the
FrameBuffer class is an emucore object, it should have no knowledge of SDL,
or any particular rendering toolkit for that matter (just in case we want
to move to SDL3 eventually :) ).

At this point, all checks for OpenGL have been removed, so if you don't
have it on your system, Stella will fail to compile and/or run.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2832 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-28 00:51:10 +00:00
stephena 40f9da7839 The first casualty of code pruning; specific code for window
centering has been removed (SDL2 provides this natively).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2831 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-27 20:59:23 +00:00
stephena 01f7c2c2f3 Renamed 'Win32' in various locations as 'Windows', to be more
in line with the other ports.  Besides, the code now also supports
64-bit Windows, so the name was incorrect anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2830 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-27 20:41:24 +00:00
stephena 8487a60faa Fixed configure script wrt Thumb ARM support; the help message
never actually included info on how to enable/disable it.

StringParser is now width-sensitive, in that it can also split
on a maximum string length.  This is useful for making the various
UI items font-size independent, and to flow the text accordingly.

Increased minimum size of debugger window to 1080x720, which allows
things to be laid out a little nicer, and gives some much needed
extra room.  Sorry guys, the most common resolution now in use
is 1366x768, so it's time to move with the times.

Cleaned up some of the descriptions in the ROM debugger tab(s).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2694 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-17 15:00:32 +00:00
stephena 216f0ab19e The TIA palette is now passed to NTSCFilter, so it can calculate its own
YIQ-format palette.

Removed compile-time option for DISPLAY_TV.  NTSC filtering will always
be compiled into the app, but will only actually be used in OpenGL mode.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2396 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-26 20:11:59 +00:00
stephena cf10e216f4 And so it begins. Added ability to enable/disable TV filtering to the
Linux configure script.  Of course, there's no actual code yet ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2391 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-21 19:19:23 +00:00
stephena 3c94923720 Updated build scripts to Irix when not using gcc. Thanks to
Rainer M. Canavan for the patch.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2338 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-06 22:38:09 +00:00
stephena 8fe6967fbd Added patches provided by Stephen Kitt <steve@sk2.org>.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2277 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-10-27 23:07:07 +00:00
stephena 13c8ee8e95 Thumb ARM support can now be enabled/disabled from the configure script for Linux.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2216 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-04-16 23:39:31 +00:00
stephena 8705a33f18 Added several Debian patches from the Debian maintainer of Stella;
Stephen Kitt.

Bumped version # for next round ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2192 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-15 21:47:07 +00:00
stephena 6a5998c684 Multiple events can now be assigned to combo events from the UI. Still TODO
is update the documentation for this.

Fixed bug reported by Buzbard from AtariAge concerning very large images
in the RomInfoWidget being clipped too small.

Reworked 'center window' functionality.  Using the SDL_VIDEO_CENTERED
environment variable was always a hack, and a bug was introduced in X11
OpenGL mode in version 1.2.14.  However, since SDL is now in maintenance
mode and won't be receiving any further updates, we have to bypass it
entirely.  Added infrastructure for OSystem to center the application
window.  For now, only Linux X11 mode is supported.  Still TODO is add
support for Windows.  OSX was never supported anyway.  This also means
that the center window variable no longer requires the application to
be restarted.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2091 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-11 21:53:19 +00:00
stephena 58452a6f37 Add ability to force use of built-in png and zlib library code, even on
systems where these libraries are available.  This is useful for testing,
and also for release builds (where we don't necessarily know if
zlib and libpng are installed).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2051 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-15 17:57:54 +00:00
stephena ec096dca6f Updated configure script to test for an external PNG library, and if
not found fall back to using the internal version (for Linux, and all
systems that use the configure script).

The debugger can now be resized in between ROM launches (ie, before
a ROM is actually started).  Previously, the entire program had to
be restarted for resizing to take effect.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2045 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-06-11 19:09:20 +00:00
stephena 84f51128e4 First pass at adding built-in zlib support for those systems that
don't normally have it (notably, Windows).  I've only tested in Linux
so far.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1926 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-01-29 23:37:33 +00:00
stephena 8b14e0eef8 On second thought, why do we even need M6502 files in a separate directory?
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1908 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-11-22 02:32:20 +00:00
stephena 3972f0eca5 Reorganization of the M6502 classes; I didn't see the purpose of having
them in under src/emucore/m6502/src, and bspf under that again at
bspf/src.  It just made searching for classes that much harder.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1907 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-11-22 02:07:37 +00:00
stephena 6a74dfb863 Repo reorganization: move main Stella files directly into 'trunk'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1732 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-21 12:53:06 +00:00