Commit 8188e968 authored by Stephen Kitt's avatar Stephen Kitt

Imported Upstream version 4.5

parent 852d6250
......@@ -9,7 +9,7 @@
SSSS ttt eeeee llll llll aaaaa
===========================================================================
Release 4.2 for Linux, MacOSX and Windows
Release 4.5 for Linux, MacOSX and Windows
===========================================================================
The Atari 2600 Video Computer System (VCS), introduced in 1977, was the
......@@ -21,27 +21,27 @@ all of your favourite Atari 2600 games again! Stella was originally
developed for Linux by Bradford W. Mott, however, it has been ported to a
number of other platforms and is currently maintained by Stephen Anthony.
This is the 4.2 release of Stella for Linux, Mac OSX and Windows. The
This is the 4.5 release of Stella for Linux, Mac OSX and Windows. The
distributions currently available are:
* Binaries for Windows XP_SP3/Vista/7/8 :
Stella-4.2-win32.exe (32-bit EXE installer)
Stella-4.2-x64.exe (64-bit EXE installer)
Stella-4.2-windows.zip (32/64 bit versions)
Stella-4.5-win32.exe (32-bit EXE installer)
Stella-4.5-x64.exe (64-bit EXE installer)
Stella-4.5-windows.zip (32/64 bit versions)
* Binary distribution for MacOS X 10.5 and above :
Stella-4.2-macosx.dmg (32/64-bit Intel Universal Binary)
* Binary distribution for MacOS X 10.7 and above :
Stella-4.5-macosx.dmg (64-bit Intel)
* Binary distribution in 32-bit & 64-bit Ubuntu DEB format :
stella_4.2-1_i386.deb
stella_4.2-1_amd64.deb
stella_4.5-1_i386.deb
stella_4.5-1_amd64.deb
* Binary distribution in 32-bit & 64-bit RPM format :
stella-4.2-2.i386.rpm
stella-4.2-2.x86_64.rpm
stella-4.5-2.i386.rpm
stella-4.5-2.x86_64.rpm
* Source code distribution for all platforms :
stella-4.2-src.tar.gz
stella-4.5-src.tar.gz
Distribution Site
......
......@@ -12,6 +12,56 @@
Release History
===========================================================================
4.2 to 4.5: (January 1, 2015)
* The conversion to C++11 has begun :) From this point on, to build
Stella you will need a C++11 compatible compiler (Visual Studio 2013,
Clang 3.3, gcc 4.9, Xcode 6, etc). Eventually, this will bring more
bug-free and (hopefully) faster code.
* Fixed major bug with joysticks, where mapping was being lost on reset,
the app would crash when plugging/unplugging certain sticks, etc.
* Fixed major (but rare) crash that could occur when state files were
zero'ed or corrupted.
* Added dialog which shows the internal joystick database (all the
joysticks that Stella knows about) and the ability to remove
(currently unplugged) joysticks from this database.
* Added preliminary support for 'WD' (Wickstead Design) bankswitching
scheme, used for a previously unreleased prototype ROM.
* Improved ZIP file handling, so that it now works as a normal
filesystem does (it properly shows nested files and directories).
* The debugger 'reset' command now does a complete system reset,
instead of simply setting the PC to the reset vector address.
* The 'listdelay' command now accepts a value of zero, indicating that
list-skipping (jumping to a line in a list by keypress) is disabled.
* The 'ctrlcombo' command now has a GUI item, allowing it to be changed
from within the application.
* Added 'Shift-Alt/Shift-Cmd s' keyboard shortcut, to enable continuous
snapshot mode for each frame. This is really only useful if you
save snapshots in 1x mode; using it in high-resolution mode is
not recommended. Special thanks to SvOlli for the idea and code.
* The minimum supported version for the OSX port is now OSX 10.7.
Because of this, the 32-bit version is also discontinued, as 10.7
supports 64-bit Intel only apps.
* Updated internal ROM properties database to ROM-Hunter version 10
(thanks go to RomHunter for his tireless research in this area).
Related to this, updated the snapshot collection.
* Updated included PNG library to latest stable version.
-Have fun!
4.1.1 to 4.2: (October 28, 2014)
* Text input from non-US keyboard layouts is now supported. Note that
......@@ -42,8 +92,6 @@
* The Linux port now uses an app-icon; this seems to be needed for
some window managers.
-Have fun!
4.1 to 4.1.1: (September 14, 2014)
......
......@@ -12,7 +12,7 @@
License Information and Copyright Notice
===========================================================================
Copyright (C) 1995-2014 by Bradford W. Mott, Stephen Anthony and the
Copyright (C) 1995-2015 by Bradford W. Mott, Stephen Anthony and the
Stella Team
This program is free software; you can redistribute it and/or modify it
......
......@@ -8,7 +8,7 @@
## SS SS tt ee ll ll aa aa
## SSSS ttt eeeee llll llll aaaaa
##
## Copyright (c) 1995-2014 by Bradford W. Mott, Stephen Anthony
## Copyright (c) 1995-2015 by Bradford W. Mott, Stephen Anthony
## and the Stella Team
##
## See the file "License.txt" for information on usage and redistribution of
......@@ -51,7 +51,7 @@ else
endif
CXXFLAGS+= -Wall
ifdef HAVE_GCC
CXXFLAGS+= -Wno-multichar -Wunused -fno-rtti -Woverloaded-virtual
CXXFLAGS+= -Wno-multichar -Wunused -fno-rtti -Woverloaded-virtual -std=c++11
endif
ifdef PROFILE
......@@ -215,6 +215,6 @@ src/emucore/M6502.ins: src/emucore/M6502.m4
# Special rule for windows icon stuff (there's probably a better way to do this ...)
src/windows/stella_icon.o: src/windows/stella.ico src/windows/stella.rc
$(WINDRES) --include-dir src/windows src/windows/stella.rc src/windows/stella_icon.o
windres --include-dir src/windows src/windows/stella.rc src/windows/stella_icon.o
.PHONY: deb bundle test install uninstall
......@@ -21,7 +21,6 @@ _zlib=auto
_build_windowed=yes
_build_sound=yes
_build_debugger=yes
_build_snapshot=yes
_build_joystick=yes
_build_cheats=yes
_build_thumb=yes
......@@ -41,7 +40,6 @@ _rm_rec="$_rm -r"
_zip="zip -q"
_cp=cp
_windowspath=""
_windres=windres
_sdlconfig=sdl2-config
_sdlpath="$PATH"
_prefix=/usr/local
......@@ -176,11 +174,6 @@ echo "Configure run on" `date` > $TMPLOG
#
# Check any parameters we received
#
# TODO:
# * Change --disable-mad / --enable-mad to the way it's done in autoconf:
# That is, --without-mad / --with-mad=/prefix/to/mad. Useful for people
# who have Mad/Vorbis/ALSA installed in a non-standard locations.
#
for parm in "$@" ; do
if test "$parm" = "--help" || test "$parm" = "-help" || test "$parm" = "-h" ; then
......@@ -485,26 +478,6 @@ fi
if test -n "$_host"; then
# Cross-compiling mode - add your target here if needed
case "$_host" in
# linupy|arm-riscos-aof)
# echo "Cross-compiling to $_host, forcing endianness, alignment and type sizes"
# DEFINES="$DEFINES -DUNIX"
# _def_endianness='#define SCUMM_LITTLE_ENDIAN'
# _def_align='#define SCUMM_NEED_ALIGNMENT'
# _def_linupy="#define DLINUPY"
# type_1_byte='char'
# type_2_byte='short'
# type_4_byte='int'
# ;;
# ppc-amigaos)
# echo "Cross-compiling to $_host, forcing endianness, alignment and type sizes"
# _def_endianness='#define SCUMM_BIG_ENDIAN'
# _def_align='#define SCUMM_NEED_ALIGNMENT'
# type_1_byte='char'
# type_2_byte='short'
# type_4_byte='long'
# CXXFLAGS="$CFLAGS -newlib -mstrict-align -mcpu=750 -mtune=7400"
# LDFLAGS="$LDFLAGS -newlib"
# ;;
mingw32-cross)
echo "Cross-compiling for Windows using MinGW."
DEFINES="$DEFINES -DWIN32"
......@@ -557,7 +530,6 @@ fi
# Cross-compilers use their own commands for the following functions
if test -n "$_host_prefix"; then
_strip="$_host_prefix-$_strip"
_windres="$_host_prefix-$_windres"
fi
#
......@@ -625,14 +597,6 @@ else
echo
fi
if test "$_build_snapshot" = "yes" ; then
echo_n " Snapshot support enabled"
echo
else
echo_n " Snapshot support disabled"
echo
fi
if test "$_build_joystick" = yes ; then
echo_n " Joystick support enabled"
echo
......@@ -714,12 +678,12 @@ LIBS="$LIBS `$_sdlconfig $_sdl_conf_libs`"
LD=$CXX
case $_host_os in
unix)
DEFINES="$DEFINES -DBSPF_UNIX -DHAVE_GETTIMEOFDAY -DHAVE_INTTYPES"
DEFINES="$DEFINES -DBSPF_UNIX -DHAVE_GETTIMEOFDAY"
MODULES="$MODULES $SRC/unix"
INCLUDES="$INCLUDES -I$SRC/unix"
;;
win32)
DEFINES="$DEFINES -DBSPF_WINDOWS -DHAVE_GETTIMEOFDAY -DHAVE_INTTYPES"
DEFINES="$DEFINES -DBSPF_WINDOWS -DHAVE_GETTIMEOFDAY"
MODULES="$MODULES $SRC/windows"
INCLUDES="$INCLUDES -I$SRC/windows"
LIBS="$LIBS -lmingw32 -lwinmm"
......@@ -758,10 +722,6 @@ if test "$_build_debugger" = yes ; then
INCLUDES="$INCLUDES -I$DBG -I$DBGGUI -I$YACC"
fi
if test "$_build_snapshot" = yes ; then
DEFINES="$DEFINES -DSNAPSHOT_SUPPORT"
fi
if test "$_build_joystick" = yes ; then
DEFINES="$DEFINES -DJOYSTICK_SUPPORT"
fi
......@@ -801,7 +761,6 @@ ZIP := $_zip
CP := $_cp
WINDOWSPATH=$_windowspath
STRIP := $_strip
WINDRES := $_windres
MODULES += $MODULES
MODULE_DIRS += $MODULE_DIRS
......
stella (4.5-1) stable; urgency=high
* Version 4.5 release
-- Stephen Anthony <stephena@users.sf.net> Thu, 01 Jan 2015 13:40:04 -0330
stella (4.2-1) stable; urgency=high
* Version 4.2 release
......
......@@ -662,7 +662,7 @@ listfunctions - List user-defined functions
pgfx - Mark 'PGFX' range in disassembly
print - Evaluate/print expression xx in hex/dec/binary
ram - Show ZP RAM, or set address xx to yy1 [yy2 ...]
reset - Reset 6507 to init vector (excluding TIA/RIOT)
reset - Reset system to power-on state
rewind - Rewind state to last step/trace/scanline/frame
riot - Show RIOT timer/input status
rom - Set ROM address xx to yy1 [yy2 ...]
......
docs/graphics/options_misc.png

3.88 KB | W: | H:

docs/graphics/options_misc.png

3.95 KB | W: | H:

docs/graphics/options_misc.png
docs/graphics/options_misc.png
docs/graphics/options_misc.png
docs/graphics/options_misc.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -10,7 +10,7 @@
<br><br>
<center><h2><b>A multi-platform Atari 2600 VCS emulator</b></h2></center>
<center><h4><b>Release 4.2</b></h4></center>
<center><h4><b>Release 4.5</b></h4></center>
<br><br>
<center><h2><b>User's Guide</b></h2></center>
......@@ -54,7 +54,7 @@
<br><br><br>
<center><b>February 1999 - October 2014</b></center>
<center><b>February 1999 - January 2015</b></center>
<center><b>The Stella Team</b></center>
<center><b><a href="http://stella.sourceforge.net">Stella Homepage</a></b></center>
......@@ -244,7 +244,7 @@
<h2><b><a name="Features">Features</a></b></h2>
<ul>
<li>High speed emulation using optimized C++ code</li>
<li>High speed emulation using optimized C++11 code</li>
<li>Supports high quality sound emulation using code derived from Ron Fries'
TIA Sound Emulation library, including stereo sound support</li>
<li>Emulates the Atari 2600 Joystick Controllers using your computer's keyboard,
......@@ -316,9 +316,9 @@
<p>
<h3><b><u>General</u> (required for all versions of Stella)</b></h3>
<ul>
<li>SDL version 2.0.1 or greater, latest version highly recommended</li>
<li>SDL version 2.0.3 or greater, latest version highly recommended</li>
<li>15/16 bit color minimum; 24/32 bit color graphics card highly recommended</li>
<li>Enough RAM for the OS + 64MB RAM for the emulation; 128MB+ highly recommended</li>
<li>Enough RAM for the OS + 256MB RAM for the emulation; 512MB+ highly recommended</li>
<li>Joysticks or gamepads are highly recommended</li>
<li>Mouse or <a href="http://www.grandideastudio.com/portfolio/stelladaptor-2600">Stelladaptor</a> /
<a href="http://2600-daptor.com">2600-adaptor</a> with real paddles required for paddle emulation</li>
......@@ -335,7 +335,7 @@
<li>OpenGL capable video card</li>
<li>Other architectures (MIPS, PPC, PPC64, etc) have been confirmed to work,
but aren't as well tested as i386/x86_64</li>
<li>GNU C++ compiler version 4.x or Clang++ and the make utility are required for compiling
<li>GNU g++ v/4.9 or Clang v/3.3 (with C++11 support) and the make utility are required for compiling
the Stella source code</li>
</ul>
......@@ -345,10 +345,10 @@
<p>The Mac version of Stella is designed to work on an Apple Macintosh with
the following:</p>
<ul>
<li>MacOSX 10.5 (Leopard) or above</li>
<li>Intel processor</li>
<li>MacOSX 10.7 (Lion) or above</li>
<li>64-bit Intel processor</li>
<li>OpenGL capable video card</li>
<li>Xcode 5.0 is required to compile the Stella source code</li>
<li>Xcode 5.0/6.0 is required to compile the Stella source code</li>
</ul>
<p>
......@@ -360,7 +360,7 @@
<ul>
<li>Direct3D or OpenGL capable video card</li>
<li>64-bit port has been tested on Windows Vista and above only</li>
<li>Visual C++ 2012/2013 (or Express version) is required to compile the Stella source code</li>
<li>Visual C++ 2013 Professional/Express is required to compile the Stella source code</li>
</ul>
<p>
......@@ -1563,10 +1563,16 @@
</tr>
<tr>
<td>Save continuous PNG snapshots</td>
<td>Save continuous PNG snapshots (per interval)</td>
<td>Alt + s</td>
<td>Cmd + s</td>
</tr>
<tr>
<td>Save continuous PNG snapshots (every frame)</td>
<td>Shift-Alt + s</td>
<td>Shift-Cmd + s</td>
</tr>
</table>
<p><b>UI keys in Text Editing areas (cannot be remapped)</b></p>
......@@ -2102,7 +2108,7 @@
<td><pre>-listdelay &lt;delay&gt;</pre></td>
<td>Set the amount of time to wait between treating successive
keypresses as a single word in list widgets (value can range
from 300-1000).</td>
from 300-1000). Use '0' to disable list-skipping completely,</td>
</tr>
<tr>
......@@ -2611,7 +2617,9 @@
<tr><td>Mouse paddle sensitivity</td><td>Sensitivity used when emulating a paddle using a mouse</td><td>-msense</td></tr>
<tr><td>Allow all 4 ...</td><td>Allow all 4 joystick directions to be pressed simultaneously</td><td>-joyallow4</td></tr>
<tr><td>Grab mouse ...</td><td>Keep mouse in window in emulation mode</td><td>-grabmouse</td></tr>
<tr><td>Always hide mouse ...</td><td>completely disable showing the mouse cursor</td><td>-hidemouse</td></tr>
<tr><td>Always hide mouse ...</td><td>Completely disable showing the mouse cursor</td><td>-hidemouse</td></tr>
<tr><td>Use Control key combos</td><td>Enable using Control key in keyboard actions</td><td>-ctrlcombo</td></tr>
<tr><td>Show Joystick Database</td><td>Show all joysticks that Stella knows about, with the option to remove them</td><td>&nbsp;</td></tr>
</table>
</td>
</tr>
......@@ -3233,6 +3241,7 @@ Ms Pac-Man (Stella extended codes):
<tr><td>MDM </td><td>Menu Driven Megacart </td></tr>
<tr><td>SB </td><td>128-256k SUPERbanking </td></tr>
<tr><td>UA </td><td>8K UA Ltd. </td></tr>
<tr><td>WD </td><td>Wickstead Design </td></tr>
<tr><td>X07 &#185;</td><td>64K AtariAge </td></tr>
</table></td>
</tr>
......
......@@ -8,13 +8,13 @@
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2014 by Bradford W. Mott, Stephen Anthony
// Copyright (c) 1995-2015 by Bradford W. Mott, Stephen Anthony
// and the Stella Team
//
// See the file "License.txt" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: BankRomCheat.cxx 3017 2014-10-26 15:54:02Z stephena $
// $Id: BankRomCheat.cxx 3131 2015-01-01 03:49:32Z stephena $
//============================================================================
#include "Console.hxx"
......@@ -39,11 +39,6 @@ BankRomCheat::BankRomCheat(OSystem& os, const string& name, const string& code)
savedRom[i] = myOSystem.console().cartridge().peek(address + i);
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BankRomCheat::~BankRomCheat()
{
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool BankRomCheat::enable()
{
......
......@@ -8,13 +8,13 @@
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2014 by Bradford W. Mott, Stephen Anthony
// Copyright (c) 1995-2015 by Bradford W. Mott, Stephen Anthony
// and the Stella Team
//
// See the file "License.txt" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: BankRomCheat.hxx 3017 2014-10-26 15:54:02Z stephena $
// $Id: BankRomCheat.hxx 3131 2015-01-01 03:49:32Z stephena $
//============================================================================
#ifndef BANK_ROM_CHEAT_HXX
......@@ -26,7 +26,7 @@ class BankRomCheat : public Cheat
{
public:
BankRomCheat(OSystem& os, const string& name, const string& code);
~BankRomCheat();
virtual ~BankRomCheat() { }
bool enable();
bool disable();
......
......@@ -8,13 +8,13 @@
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2014 by Bradford W. Mott, Stephen Anthony
// Copyright (c) 1995-2015 by Bradford W. Mott, Stephen Anthony
// and the Stella Team
//
// See the file "License.txt" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: Cheat.hxx 3017 2014-10-26 15:54:02Z stephena $
// $Id: Cheat.hxx 3131 2015-01-01 03:49:32Z stephena $
//============================================================================
#ifndef CHEAT_HXX
......@@ -22,7 +22,8 @@
class OSystem;
#include "StringList.hxx"
#include <regex>
#include "bspf.hxx"
class Cheat
......@@ -30,13 +31,10 @@ class Cheat
public:
Cheat(OSystem& osystem, const string& name, const string& code)
: myOSystem(osystem),
myName(name),
myName(name == "" ? code : regex_replace(name, regex(":|\""), "")),
myCode(code),
myEnabled(false)
{
if(name == "") myName = code;
myName = StringList::removePattern(myName, "\":");
}
{ }
virtual ~Cheat() { }
bool enabled() const { return myEnabled; }
......@@ -52,10 +50,8 @@ class Cheat
static uInt16 unhex(const string& hex)
{
int ret = 0;
for(unsigned int i=0; i<hex.size(); i++) {
char c = hex[i];
for(char c: hex)
{
ret *= 16;
if(c >= '0' && c <= '9')
ret += c - '0';
......
......@@ -8,13 +8,13 @@
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2014 by Bradford W. Mott, Stephen Anthony
// Copyright (c) 1995-2015 by Bradford W. Mott, Stephen Anthony
// and the Stella Team
//
// See the file "License.txt" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: CheatCodeDialog.cxx 3019 2014-10-26 17:45:42Z stephena $
// $Id: CheatCodeDialog.cxx 3131 2015-01-01 03:49:32Z stephena $
//============================================================================
#include <sstream>
......@@ -29,7 +29,6 @@