Commit a9efe8c9 authored by Stephen Kitt's avatar Stephen Kitt

Imported Upstream version 3.1.2

parents
===========================================================================
SSSS tt lll lll
SS SS tt ll ll
SS tttttt eeee ll ll aaaa
SSSS tt ee ee ll ll aa
SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
SS SS tt ee ll ll aa aa
SSSS ttt eeeee llll llll aaaaa
===========================================================================
Release 3.1.2 for Linux, MacOSX and Windows
===========================================================================
The Atari 2600 Video Computer System (VCS), introduced in 1977, was the
most popular home video game system of the early 1980's. Now you can enjoy
all of your favourite Atari 2600 games on your PC thanks to Stella!
Stella is a multi-platform Atari 2600 VCS emulator. It allows you to play
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 3.1.2 release of Stella for Linux, Mac OSX and Windows. The
distributions currently available are:
* Binary installer (exe) for Windows 32-bit & 64-bit :
Stella-3.1.2-win32.exe
Stella-3.1.2-x64.exe
* Binary zip for Windows, containing 32 and 64-bit versions :
Stella-3.1.2-windows.zip
* Binary distribution for MacOSX 32-bit & 64-bit :
Stella-3.1.2-macosx.dmg (32-bit Universal Binary)
Stella-3.1.2_intel_10.6-macosx.dmg (32/64-bit Intel/Snow-Leopard only)
* Binary distribution in 32-bit & 64-bit Ubuntu DEB format :
stella_3.1.2-1_i386.deb
stella_3.1.2-1_amd64.deb
* Binary distribution in 32-bit & 64-bit RPM format :
stella-3.1.2-2.i386.rpm
stella-3.1.2-2.x86_64.rpm
* Source code distribution for all platforms :
stella-3.1.2-src.tar.gz
PLEASE DO NOT WRITE ASKING FOR ROM IMAGES TO USE WITH STELLA! ALL SUCH
REQUESTS WILL BE IGNORED!
Distribution Site
=================
The Stella distributions can be obtained from the Stella Website at:
http://stella.sourceforge.net
This diff is collapsed.
===========================================================================
SSSS tt lll lll
SS SS tt ll ll
SS tttttt eeee ll ll aaaa
SSSS tt ee ee ll ll aa
SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
SS SS tt ee ll ll aa aa
SSSS ttt eeeee llll llll aaaaa
===========================================================================
License Information and Copyright Notice
===========================================================================
Copyright (C) 1995-2010 Bradford W. Mott, Stephen Anthony and the
Stella Team
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or any later version.
You should have received a copy of the GNU General Public License version 2
along with this program (License.txt); if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO
ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS
PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO
OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
MODIFICATIONS.
This diff is collapsed.
##============================================================================
##
## SSSS tt lll lll
## SS SS tt ll ll
## SS tttttt eeee ll ll aaaa
## SSSS tt ee ee ll ll aa
## SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
## SS SS tt ee ll ll aa aa
## SSSS ttt eeeee llll llll aaaaa
##
## Copyright (c) 1995-2010 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: Makefile,v 1.37 2009-01-11 21:31:21 stephena Exp $
##
## Based on code from ScummVM - Scumm Interpreter
## Copyright (C) 2002-2004 The ScummVM project
##============================================================================
#######################################################################
# Default compilation parameters. Normally don't edit these #
#######################################################################
srcdir ?= .
DEFINES :=
LDFLAGS :=
INCLUDES :=
LIBS :=
OBJS :=
PROF :=
MODULES :=
MODULE_DIRS :=
DISTNAME := stella-snapshot
# Load the make rules generated by configure
include config.mak
# Uncomment this for stricter compile time code verification
# CXXFLAGS+= -Werror
ifdef CXXFLAGS
CXXFLAGS:= $(CXXFLAGS)
else
CXXFLAGS:= -O2
endif
CXXFLAGS+= -Wall -Wno-multichar -Wunused -fno-rtti
ifdef PROFILE
PROF:= -g -pg -fprofile-arcs -ftest-coverage
CXXFLAGS+= $(PROF)
else
CXXFLAGS+= -fomit-frame-pointer
endif
# Even more warnings...
#CXXFLAGS+= -pedantic -Wpointer-arith -Wcast-qual -Wconversion
#CXXFLAGS+= -Wshadow -Wimplicit -Wundef -Wnon-virtual-dtor
#CXXFLAGS+= -Wno-reorder -Wwrite-strings -fcheck-new -Wctor-dtor-privacy
#######################################################################
# Misc stuff - you should never have to edit this #
#######################################################################
EXECUTABLE := stella$(EXEEXT)
all: tags $(EXECUTABLE)
######################################################################
# Various minor settings
######################################################################
# The name for the directory used for dependency tracking
DEPDIR := .deps
######################################################################
# Module settings
######################################################################
MODULES := $(MODULES)
# After the game specific modules follow the shared modules
MODULES += \
src/emucore \
src/gui \
src/common
######################################################################
# The build rules follow - normally you should have no need to
# touch whatever comes after here.
######################################################################
# Concat DEFINES and INCLUDES to form the CPPFLAGS
CPPFLAGS:= $(DEFINES) $(INCLUDES)
# Include the build instructions for all modules
-include $(addprefix $(srcdir)/, $(addsuffix /module.mk,$(MODULES)))
# Depdir information
DEPDIRS = $(addsuffix /$(DEPDIR),$(MODULE_DIRS))
DEPFILES =
# The build rule for the Stella executable
$(EXECUTABLE): $(OBJS)
$(LD) $(LDFLAGS) $(PRE_OBJS_FLAGS) $+ $(POST_OBJS_FLAGS) $(LIBS) $(PROF) -o $@
distclean: clean
$(RM_REC) $(DEPDIRS)
$(RM) build.rules config.h config.mak config.log
clean:
$(RM) $(OBJS) $(EXECUTABLE)
.PHONY: all clean dist distclean
.SUFFIXES: .cxx
ifndef HAVE_GCC3
# If you use GCC, disable the above and enable this for intelligent
# dependency tracking.
.cxx.o:
$(MKDIR) $(*D)/$(DEPDIR)
$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d2" $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
$(ECHO) "$(*D)/" > $(*D)/$(DEPDIR)/$(*F).d
$(CAT) "$(*D)/$(DEPDIR)/$(*F).d2" >> "$(*D)/$(DEPDIR)/$(*F).d"
$(RM) "$(*D)/$(DEPDIR)/$(*F).d2"
.c.o:
$(MKDIR) $(*D)/$(DEPDIR)
$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d2" $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
$(ECHO) "$(*D)/" > $(*D)/$(DEPDIR)/$(*F).d
$(CAT) "$(*D)/$(DEPDIR)/$(*F).d2" >> "$(*D)/$(DEPDIR)/$(*F).d"
$(RM) "$(*D)/$(DEPDIR)/$(*F).d2"
else
# If you even have GCC 3.x, you can use this build rule, which is safer; the above
# rule can get you into a bad state if you Ctrl-C at the wrong moment.
# Also, with this GCC inserts additional dummy rules for the involved headers,
# which ensures a smooth compilation even if said headers become obsolete.
.cxx.o:
$(MKDIR) $(*D)/$(DEPDIR)
$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
.c.o:
$(MKDIR) $(*D)/$(DEPDIR)
$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
endif
# Include the dependency tracking files. We add /dev/null at the end
# of the list to avoid a warning/error if no .d file exist
-include $(wildcard $(addsuffix /*.d,$(DEPDIRS))) /dev/null
# check if configure has been run or has been changed since last run
config.mak: $(srcdir)/configure
@echo "You need to run ./configure before you can run make"
@echo "Either you haven't run it before or it has changed."
@exit 1
install: all
$(INSTALL) -d "$(DESTDIR)$(BINDIR)"
$(INSTALL) -c -s -m 755 "$(srcdir)/stella$(EXEEXT)" "$(DESTDIR)$(BINDIR)/stella$(EXEEXT)"
$(INSTALL) -d "$(DESTDIR)$(DOCDIR)"
$(INSTALL) -c -m 644 "$(srcdir)/Announce.txt" "$(srcdir)/Changes.txt" "$(srcdir)/Copyright.txt" "$(srcdir)/License.txt" "$(srcdir)/README-SDL.txt" "$(srcdir)/Readme.txt" "$(srcdir)/Todo.txt" "$(srcdir)/docs/index.html" "$(srcdir)/docs/debugger.html" "$(DESTDIR)$(DOCDIR)/"
$(INSTALL) -d "$(DESTDIR)$(DOCDIR)/graphics"
$(INSTALL) -c -m 644 $(wildcard $(srcdir)/docs/graphics/*.png) "$(DESTDIR)$(DOCDIR)/graphics"
$(INSTALL) -d "$(DESTDIR)$(DATADIR)/applications"
$(INSTALL) -c -m 644 "$(srcdir)/src/unix/stella.desktop" "$(DESTDIR)$(DATADIR)/applications"
$(INSTALL) -d "$(DESTDIR)$(DATADIR)/icons"
$(INSTALL) -d "$(DESTDIR)$(DATADIR)/icons/mini"
$(INSTALL) -d "$(DESTDIR)$(DATADIR)/icons/large"
$(INSTALL) -c -m 644 "$(srcdir)/src/common/stella.png" "$(DESTDIR)$(DATADIR)/icons"
$(INSTALL) -c -m 644 "$(srcdir)/src/common/stella.png" "$(DESTDIR)$(DATADIR)/icons/mini"
$(INSTALL) -c -m 644 "$(srcdir)/src/common/stella.png" "$(DESTDIR)$(DATADIR)/icons/large"
install-strip: install
$(STRIP) stella$(EXEEXT)
uninstall:
rm -f "$(DESTDIR)$(BINDIR)/stella$(EXEEXT)"
rm -rf "$(DESTDIR)$(DOCDIR)/"
rm -f "$(DESTDIR)$(DATADIR)/applications/stella.desktop"
rm -f "$(DESTDIR)$(DATADIR)/icons/stella.png"
rm -f "$(DESTDIR)$(DATADIR)/icons/mini/stella.png"
rm -f "$(DESTDIR)$(DATADIR)/icons/large/stella.png"
# Special rule for Win32 icon stuff (there's probably a better way to do this ...)
src/win32/stella_icon.o: src/win32/stella.ico src/win32/stella.rc
$(WINDRES) --include-dir src/win32 src/win32/stella.rc src/win32/stella_icon.o
# Special target to create a Win32 snapshot package
win32dist: stella$(EXEEXT)
rm -rf $(DISTNAME)
mkdir -p $(DISTNAME)/docs/graphics
$(STRIP) stella$(EXEEXT) -o $(DISTNAME)/Stella$(EXEEXT)
cp /bin/SDL.dll $(DISTNAME)
cp Announce.txt Changes.txt Copyright.txt License.txt README-SDL.txt Readme.txt Todo.txt $(DISTNAME)/docs
cp -r docs/*.html $(DISTNAME)/docs
cp -r docs/graphics/*.png $(DISTNAME)/docs/graphics
# flip -m $(DISTNAME)/docs/*.txt
# zip -r $(DISTNAME)-win32.zip $(DISTNAME)
# GP2X organize: groups necessary files into a gp2x folder for easy access.
gp2x-organize:
mkdir -p "$(srcdir)/gp2x"
mkdir -p "$(srcdir)/gp2x/docs"
cp -v $(srcdir)/stella $(srcdir)/gp2x
cp -v $(srcdir)/src/gp2x/stella.gpe $(srcdir)/gp2x
cp -v $(srcdir)/README-GP2X.txt $(srcdir)/gp2x
cp -v -r $(srcdir)/docs/* $(srcdir)/gp2x/docs
$(STRIP) $(srcdir)/gp2x/stella
.PHONY: deb bundle test win32dist install uninstall
# Use Exuberant ctags (the one from Slackware's vim package, for instance),
# not the one from emacs!
tags:
ctags `find . -name '*.[ch]xx' -o -name '*.c' -o -name '*.y'` || true
---------------------------------------
Stella 2.3.5
Ported to GP2X by Alex Zaballa
Contact: azaballa@users.sourceforge.net
Homepage: http://stella.sourceforge.net
---------------------------------------
--------
Changes:
--------
>From 2.3
* All menus are now available through the Options button in the
Launcher.
* Pause function has been removed, pressing a menu button serves
the same function.
* Vertical Centering during gameplay is now implemented.
* UI Color Schemes are now implemented. At the moment there's only
Classic and GP2X. More are coming in the future. ;)
>From 2.2-rv1
* Moved away from using joymouse emulation, which was frustrating
many users, to a more effective GUI button control scheme.
* PAL ROMs are now playable thanks to Paeryn's scaling libs. ;)
* Paddle games like 'Tac-scan,' 'Demons to Diamonds,' 'Video
Olympics,' and others are now playable thanks to Steve.
* Made '/mnt/sd' the default ROM and Snapshot directory this way
Stella doesn't look anywhere it shouldn't.
* Changed button mapping.
* Various performance tweaks.
>From 2.2
* Ms. Pacman sound issue resolved.
>From 2.1-rv3
* Added Rom Browser mode and enabled it by default.
>From 2.1-rv2
* Scroll bug fixed (finally).
>From 2.1-rv1
* Warlords graphics bug fixed.
>From 2.1
* Joystick fixed.
* Phosphor effect enabled.
>From 2.0.1:
* Stopped using the ROM Script (No more ROM limit. 'Single binary'
zip support available.).
* Opened up the Native GUI for use through Joymouse Emulation.
* SOUND!
* Diagonals.
* Snapshots.
* Some button mapping (but still comfortably familiar).
-----------
Known Bugs:
-----------
None reported.
Please report all bugs to me at azaballa@users.sourceforge.net.
------------------------------
Known GP2X Performance Issues:
------------------------------
Pitfall 2 runs slow due to the need for extra hardware emulation.
Steve foresees this being fixed in the future.
---------------------
Installation to GP2X:
---------------------
Note: Stella for the GP2X does not need external SDL libraries.
Place files 'stella' and 'stella.gpe' into its own directory.
Stella defaults to '/mnt/sd' for the ROM and Snapshot directory.
This can be changed by using the 'Options' button in the Launcher
menu. If you are having issues with getting Stella to run after
an older install, delete the 'stellarc' file located in the root
Stella install folder.
-----------
Navigation:
-----------
The joystick selects item by item in a list. In menu mode, VOL+ and
VOL- highlight the next and previous GUI elements respectively.
Pressing B activates the highlighted GUI element. Pressing START
or X is equivalent to clicking Cancel or Close. Pressing SELECT is
equivalent to clicking OK. To move to the previous directory without
the 'Go Up' button, just use the '[..]' item at the top of the ROM
Browser list. For complete button mapping, check below.
-------------
GP2X Mapping:
-------------
Navigating Menus:
A = Previous Tab
B = Select GUI Item
X = Menu Cancel
Y = Next Tab
L = Page Up
R = Page Down
START = Menu Cancel
SELECT = Menu OK
VOL+ = Navigate to Next GUI Button (or other GUI element)
VOL- = Navigate to Previous GUI Button (or other GUI element)
During Emulation:
A = Command Menu
B = Fire
X = <Not Used>
Y = Settings Menu
L = Console Reset
R = Console Select
START = Launcher Menu
SELECT = Snapshot
Caution: Changing video and audio settings could lead to a non-working Stella
setup. If you do feel the need to change the settings (as we all do) and happen
to cause a crash or hang, delete the 'stellarc' file and that should clear up
the problem. If anyone finds any settings that give better performance in
sound and gameplay, let me know and I might incorporate them into the next
version. Happy tinkering.
-------------
Other:
-------------
For user friendly ROM names, try out Cowering's Good2600. It is a reliable
and easy to use ROM renamer. It has a nifty Windows frontend and will also
work under Linux when used with Wine (wineconsole). Check accompanying
documentation for further details.
GoodTools is available from Cowering's homepage and at http://archive.gp2x.de/.
-------------
Compile Info:
-------------
Since the GP2X branch was so graciously added to Stella, GP2X compilation is
now built in. If you plan on doing a compile yourself, you need the GP2X devkit
pro and SDL Open2X libs with zlib support. I recommend theoddbot's Open2X
libraries which work very nicely for this. Paeryn's are also a must (combine
them with theoddbot's). Any questions, email me.
Make sure your path includes your arm-linux compilers and tools:
export PATH=<your arm-linux compiler path>:$PATH
This is what my configure line looks like:
./configure
--enable-cheats
--disable-debugger
--host=gp2x
--with-zlib-prefix=<your gp2x zlib path>
--with-sdl-prefix=<your sdl config path>
--x-libraries=<your X11 libraries path>
Then:
make
Then strip the exec:
make gp2x-strip
You should get an exec ~2MB in size. Much better than 7MB right?
To gather all necessary files into directory './stella/gp2x' for easy
access, type:
make gp2x-organize
Note: stella/gp2x directory created in the main stella source directory
(next to configure, Makefile, etc.).
---------------
Special Thanks:
---------------
... to Steve Anthony for the major improvements in the port and incorporating
the GP2X. Not to mention the wealth of information and help... did I
mention patience? ;-)
... to Eckhard Stolberg for making me known to the Stella Team.
... to the Stella Team for the excellent emulator and the hospitality.
... to theoddbot for the excellent Open2X toolchain libs.
... to paeryn for the wonderful scaling libs.
... to TelcoLou for his hardwork, playtesting ad infinitum.
... to the community for all of the interest.
Please distribute this file with the SDL runtime environment:
The Simple DirectMedia Layer (SDL for short) is a cross-platfrom library
designed to make it easy to write multi-media software, such as games and
emulators.
The Simple DirectMedia Layer library source code is available from:
http://www.libsdl.org/
This library is distributed under the terms of the GNU LGPL license:
http://www.gnu.org/copyleft/lesser.html
-=-=-=-=-=-=-=-=-=-=-=-=-=-= PocketStella -=-=-=-=-=-=-=-=-=-=-=-=-=-=
... is the official Windows CE port of the Stella emulator. It is coded
and maintained by Kostas Nakos (knakos.AT.gmail.com). Currently, supported
devices are all Smartphones (176x220 & QVGA), and Pocket PCs (QVGA & VGA).
This port makes use of the excellent STLport cross platform C++ template library.
Here are some news for you:
(This file last updated: 29 Jan 07)
v.2.3.5 : support for QGVA landscape smartphones,
greatly improved UI rendering for low res smartphones,
keyboard events can be now arbitrarily remapped,
UI menus accessibility in smartphones
v.2.2 : native VGA support, better backlight handling
Installing and Running:
First create a directory for PocketStella, and copy the executable in it.
Also create a subdirectory called "Roms" (without the quotes, of course).
You should place your rom files there. On first run, this is where
PocketStella will look for roms. You can set an alternate path using the