diff --git a/stella/docs/graphics/chucky_cheese.png b/stella/docs/graphics/chucky_cheese.png new file mode 100644 index 000000000..0958e7c57 Binary files /dev/null and b/stella/docs/graphics/chucky_cheese.png differ diff --git a/stella/docs/graphics/circuit.png b/stella/docs/graphics/circuit.png new file mode 100644 index 000000000..68a1d4b3b Binary files /dev/null and b/stella/docs/graphics/circuit.png differ diff --git a/stella/docs/graphics/console.png b/stella/docs/graphics/console.png new file mode 100644 index 000000000..da9f5ce35 Binary files /dev/null and b/stella/docs/graphics/console.png differ diff --git a/stella/docs/graphics/jr_pacman.png b/stella/docs/graphics/jr_pacman.png new file mode 100644 index 000000000..7dc5744c1 Binary files /dev/null and b/stella/docs/graphics/jr_pacman.png differ diff --git a/stella/docs/graphics/pacman.png b/stella/docs/graphics/pacman.png new file mode 100644 index 000000000..dd4771003 Binary files /dev/null and b/stella/docs/graphics/pacman.png differ diff --git a/stella/docs/graphics/secret_quest.png b/stella/docs/graphics/secret_quest.png new file mode 100644 index 000000000..c9c272c48 Binary files /dev/null and b/stella/docs/graphics/secret_quest.png differ diff --git a/stella/docs/graphics/space_invaders.png b/stella/docs/graphics/space_invaders.png new file mode 100644 index 000000000..086c04770 Binary files /dev/null and b/stella/docs/graphics/space_invaders.png differ diff --git a/stella/docs/stella.html b/stella/docs/stella.html new file mode 100644 index 000000000..90f42cd8c --- /dev/null +++ b/stella/docs/stella.html @@ -0,0 +1,2099 @@ + +
+ In the early 1970's, video arcade games gained commercial success for the
+ first time. The American public was introduced to Pong, Tank, and other
+ interactive video games which populated amusement parks, bars, and arcades.
+ The games were successful enough to create interest for home versions, so in
+ 1975 Atari released Home Pong and it was a smash hit. Other companies such as
+ Magnavox and Coleco followed suit and released their own dedicated console
+ games. Then in 1976, Fairchild Camera and Instrument introduced the Channel F
+ system, the first cartridge based home video game system. The industry
+ recognized that cartridge systems were the future of video gaming, and began
+ development in that direction. In January 1977, RCA released the Studio II,
+ another cartridge based system, although it only projected in black and white
+ and seemed to be focused on educational titles. Then, in October 1977, Atari
+ released the Atari VCS (Video Computer System) with an initial offering of nine
+ games. This system, later renamed the Atari 2600, took the industry by storm
+ and dominated the marketplace for years to come.
+
+ Because of oversupply, the Christmas season of 1977 was very rough on the
+ video game industry, and the Atari 2600 was the only system that managed to
+ emerge unscathed. Atari enjoyed strong sales in 1978 and a fantastic holiday
+ season, as Atari released more games such as Outlaw, Spacewar, and Breakout.
+ Internally however, Atari was at odds. Nolan Bushnell, the inventor of pong and
+ founder of Atari, wound up leaving the company and purchased Pizza Time Theater,
+ which later became the successful Chuck E. Cheese! In 1979 Atari continued
+ their trend and released 12 more games which met with continued success.
+ However, Atari was now facing some stiffer competition from the Mattel
+ Intellivision and the Magnavox Odyssey2.
+
+ Atari needed a mega-hit in 1980 in order to squash the competition, and they
+ found it in the home version of a game from Japan called Space Invaders. It was
+ so popular that people were buying the Atari 2600 just so they could play Space
+ Invaders at home. Following that, Atari released Adventure, which was the first
+ video game to contain an Easter Egg - placing an object in a certain area
+ revealed the programmer's name, Warren Robinett. 1980 was important for another
+ reason - the creation of the first ever third party software producer, Activision.
+ The company was formed by four Atari employees who were unsatisfied with the
+ working conditions at the company. They released four games initially: Dragster,
+ Fishing Derby, Checkers and Boxing. The games were very well received by the
+ public, and revealed that the Atari 2600 was capable of better games than
+ Atari themselves had been producing. Atari tried to prevent Activision from
+ selling games, but they failed and Activision grossed $70 million that year.
+
+ By 1981, the video game industry was basically a horse race between the 2600 + and the Intellivision. While the Intellivision was technologically superior in + some respects, the 2600 continued to lead in sales. Atari released the home + version of Asteroids, which was a huge success. Inspired by the success of + Activision, another software development group called Imagic was formed. They + would not release any games until 1982 however. Another company, Games by Apollo, + was formed in Texas and released several games that year. +
+ ++ Coleco entered the market in 1982 with the release of the graphically + superior Colecovision. To combat this new system, Atari produced the 5200, + a technologically comparable system. The 2600 dropped $100 in price in order + to remain competitive. Then a company called Arcadia released a peripheral + called the Supercharger which played games in an audio cassette medium. This + allowed for multiple loads and expanded the 2600's capabilities. +
+ Atari released Pac-Man and E.T. that year, two incredibly hyped games which
+ were critical flops.
+ Although Pac-Man sold many copies, it was considered to be a poor
+ translation of the arcade hit. However, there were many fantastic games
+ produced for the 2600 during this period, and it was still selling strong.
+
+ Ever since the inception of Activision, Atari had been fighting to keep third + parties from producing cartridges which they felt were stealing profits from + them. Finally the issue was settled when Atari agreed to allow third party + manufacturing in exchange for a royalty. Suddenly software companies began + popping up all over, and 1982 saw releases from companies like Venturevision, + Spectravision, Telesys, CBS, 20th Century Fox, US Games, M Network, Tigervision, + Data Age, Imagic and Coleco. There was even a company that released a line of + X-Rated games for the 2600 called Mystique. The year was financially successful + for Atari, however there seemed to be a glut of software. Although there were + many quality titles still produced, there was an increasing number of rushed + games as manufacturers attempted to cash in on the craze. +
+ ++ More companies jumped on the band wagon in 1983. Zimag, Ultravision, Amiga, + and others were also producing games and peripherals. It seemed as if there was + just too much product to meet the demand, and as it turned out there was. By + the end of the year, companies began folding. US Games, Data Age, Games by + Apollo, Telesys and others all closed their doors from poor sales. A video + game crash was occurring, and all companies were taking it on the chin. +
+ ++ 1984 was a much more subdued year for the Atari 2600, and the price of the + system had now dropped to $40-$50. Many were saying that the video game + industry was dead. However, Atari surprised everyone by announcing the release + of the 7800, and also promising more 2600 games with improved graphics and + sound. Unfortunately, neither of these things happened in 1984 because Atari + sold their home video game division to Jack Tramiel who believed that home + computers would replace video game systems. No further mention of the 2600 or + 7800 was made that year, and it appeared that they might be dead. +
+ ++ 1985 was another very quiet year for Atari and video games in general, and only + a few games were released for the 2600. Activision produced Cosmic Commuter and + Ghostbusters, but with little fanfare or marketing, these games did not sell + well. However, because of the huge game library and cheap price, Atari still + sold over a million 2600 consoles in 1985. +
+ ++ There were very few plans for home video game systems by any company in 1986, + since the market appeared to be dead. Then, to most people's surprise, Nintendo + brought the NES to America and it was a smash hit, proving that video games + still had a place in the US. Atari decided that maybe it would be a good idea + to release the 7800 units it had in storage, and produce some more 2600 games. + The 7800 was released with only 3 games initially available, although it was + compatible with the 2600 library. They also redesigned the 2600 as the 2600 Jr., + a machine with the same abilities, but a new look and marketing campaign. It + was sold for less than $50. +
+ +
+ Video games were once again selling phenomenally in 1987. Atari released
+ several new titles, including Jr. Pac-Man, and also licensed a number of games
+ from other companies such as Donkey Kong and Q*Bert. These new titles sold for
+ $10-$15. Interestingly, a number of titles began appearing again from third
+ part companies such as Epyx, Froggo, and Exus. It seemed that the 2600 was not
+ dead yet!
+
+ In 1988, Atari rehired Nolan Bushnell and announced a number of new
+ titles, including Secret Quest, a game written by Mr. Bushnell himself. Atari
+ continued to manufacture these games even until 1989. However, it was apparent
+ that the 2600, after its introduction over a decade ago, was finally at the end
+ of its run. Although it was still produced and marketed outside of the US, the
+ Atari 2600 finished its run in America. No other console has had such a long
+ history or sold as many systems in the U.S.
+
+ Today, the 2600 still has a large number of fans who remember the countless + games played over the years, and the years to come. There are even games being + produced by hobbyists, some of them quite professionally, being released on + newly burnt cartridges with labels and manuals. And the recent trend in + retrogaming has brought many more video game fans to rediscover the 2600, and + it continues to live on 22 years after its release! +
+ +Alexander Bilstein
February 1999
+ Stella is a freely distributed multi-platform Atari 2600 VCS emulator; originally + developed for Linux by Bradford W. Mott. Stella allows you to enjoy all of + your favorite 2600 games once again by emulating the 2600's hardware with + software. Stella is written in C++, which allows it to be ported to other + operating systems and architectures. Since its original release Stella has + been ported to AcornOS, AmigaOS, DOS, FreeBSD, Linux, MacOS, OpenStep, OS/2, + Sega Dreamcast, Unix, and Windows. +
+ ++
+
The following sections outline the basic system requirements for running + Stella under various operating systems. +
+ +Note that for this version of Stella, you are required to have a + stella.pro file. It is no longer optional as it was for past versions.
+ ++
The DOS version of Stella is designed to work on an IBM-PC or 100% + compatible system with the following:
+ ++
The Linux version of Stella is designed to work on a Linux Workstation with + the following:
+ ++
The Unix version of Stella is designed to work on a Unix Workstation with + the following:
+ +Once you have a Stella distribution you should follow the instructions for + your operating system given below. If your operating system isn't listed then + see the installation instructions included with the distribution for your system.
+ ++
The DOS version of Stella is distributed as a ZIP archive containing the DOS + executable as well as some other files. The DOS version of Stella + works with DOS as well as Windows 9x, however, it does not work very + well with Windows NT and 2000. You should install it as follows:
+ +CD C:\
unzip strelease.zip
SET PATH=%PATH%;C:\STELLA
SET BLASTER=A220 I7 D1
For the second step you'll need a program for extracting ZIP archive files. + You can use PKUNZIP for DOS, the Info-Zip UnZip tool for DOS, or a number of + other programs available for extracting ZIP files.
+ ++
The Linux versions of Stella are distributed as a compressed tar file + containing the Linux executables as well as some other files. If these + pre-built executables do not seem to work on your system then download the + Unix source code distribution and build your own executables. You should + install the distribution as follows:
+ +tar -zxvf stella-release-linux-arch.tar.gz
cp stella.version /usr/local/bin
cp stella-sound /usr/local/bin (if it's included)
If you have a joystick driver installed, such as joystick-1.2.13.tar.gz, + you can play games using joysticks. For additional information about the Linux + joystick driver see the following web site: + + http://atrey.karlin.mff.cuni.cz/~vojtech/input.
+ ++
The Unix version of Stella is distributed as a compressed tar file + containing the C++ source code as well as some other files. The source code + can be compiled under most Unix operating systems as well as DOS. The Unix + code was developed with the GNU C++ compiler version 2.96, however, it should + compile with other C++ compilers. The DOS port was developed with DJGPP using + GNU C++ version 3.0.4. You should install the distribution as follows:
+ +tar -zxvf stella-release-src.tar.gz
Currently, sound is supported using the Open Sound System or using OSS + emulation under ALSA. Sound has been tested and is known to work under + Linux and BSDI. For additional information on OSS or ALSA see the following + web sites:
+ +4Front Technologies (OSS)
+ Advanced Linux Sound Architecture (ALSA)
+
If you're a programmer and know how sound works on your favorite version of + Unix then please take the time to port stella-sound to your system.
+ +Stella allows you to play games using ROM images of cartridges and cassettes.
+ ++
Most games for the Atari 2600 came on cartridges. A cartridge usually + consists of a single Read Only Memory (ROM) chip which contains the data and + code for the game. Plugging a cartridge into the Atari 2600 allows the 2600's + microprocessor to access the program stored on the cartridge.
+ +In a similar way you must "plug" a copy of a cartridge into Stella when you + want to play it. Having a ROM image, BIN file, of the cartridge allows you to + do this. A ROM image is a file, which contains the actual data and code read + from the cartridge. There are several ways to obtain a ROM image of a + cartridge:
+ +WARNING: It is illegal to use ROM images of games that you do not + actually own since these games are still copyrighted.
+ ++
Supercharger games were not stored on cartridges instead they were stored + on cassette tapes. The Supercharger, which plugged into the Atari 2600's + cartridge slot, loaded games into its 6K of Random Access Memory (RAM) using a + standard audio cassette player. The Supercharger also supported multi-loading, + which allowed games to be broken into several segments and loaded at different + times. This was useful for large games which had distinct parts such as role + playing games.
+ +Most of the available Supercharger ROM images are stored in 8448 bytes files. + However, ROM images of multi-load games are sometimes stored in a set of 8448 + byte files. The names of these files have a two character sequence number in + them which indicates what load they are. The sequence starts with zero, skips + a few numbers and then increments by one.
+ +Stella supports multi-load games, however, the set of ROM images must be + combined into a single ROM image file. For example to create a multi-load ROM + image file for Survival Island you would do the following under Unix: + +
% cat survivl0.bin survivl6.bin survivl7.bin > survivl.bin+ + or to create it under DOS you would: + +
% copy /b survivl0.bin+survivl6.bin+survivl7.bin survivl.bin+ +
Once you have the multi-load ROM image file, survivl.bin in this case, you + can play the game using it.
+ +Once Stella is installed and you have some ROM images you're ready to start + playing. To play a game follow the directions for your operating system.
+ ++
The DOS version of Stella uses command line arguments to specify the game + you'd like to play as well as other options. To see the list of available + arguments, simply run stella without any options or filename. The options are + provided here for reference. To run Stella use a command line + of the following format:
+ +stella.exe [options ...] filename.bin+ +
Options
+ +Argument | +Description | +
---|---|
-fps <number> |
+ Attempt to display n frames per second instead of the default 60 + frames per second (if the computer isn't fast enough then it may + be unable to display the desired number of frames per second) | +
-modex |
+ Indicates that the 320x240 graphics mode should be used instead of + the default 320x200 graphics mode | +
-paddle <0|1|2|3|real> |
+ Indicates which paddle the mouse should emulate or that real Atari + 2600 paddles are being used (defaults to paddle 0) | +
-pro <props file> |
+ Use the given properties file instead of stella.pro | +
-showinfo |
+ Shows some game info on exit | +
Emulator Game Shells
+ +Instead of using the command line to run Stella you may find it easier to + use an emulator game shell. An emulator game shell allows you to pick games + from a menu without having to type everything at the command line. One such + game shell is Jim Pragit's "Game Menu" which can be found at the following web + site:
+ + + +There are other game shells available, however, you'll have to search for + them.
+ ++
The Unix version of Stella uses command line arguments to specify the game + you'd like to play as well as other options. To see the list of available + arguments, simply run stella without any options or filename. To run Stella + use a command line of the following format:
+ +stella.version [options ...] filename.bin+ +
Version is either x11 or sdl, depending on which version you compiled.
+ +Options
+ +Argument | +Description | +
---|---|
-display <display> |
+ Connect to the designated X display (X11 version only) | +
-fps <number> |
+ Display the given number of frames per second | +
-owncmap |
+ Install a private colormap | +
-zoom <size> |
+ Makes window be 'size' times normal (1 - 4) | +
-fullscreen |
+ Play the game in fullscreen mode (SDL version only) | +
-grabmouse |
+ Keeps the mouse in the game window | +
-hidecursor |
+ Hides the mouse cursor in the game window | +
-center |
+ Centers the game window onscreen | +
-volume <number> |
+ Set the volume (0 - 100) | +
-paddle <0|1|2|3|real> |
+ Indicates which paddle the mouse should emulate or that real Atari + 2600 paddles are being used (defaults to paddle 0) | +
-showinfo |
+ Shows some game info on exit | +
-ssdir <path> |
+ The directory to save snapshot files to (If SNAPSHOT support is + included) | +
-ssname <name> |
+ How to name the snapshot (romname or md5sum) (If SNAPSHOT support is + included) | +
-sssingle |
+ Generate single snapshot instead of many (If SNAPSHOT support is + included) | +
-pro <props file> |
+ Use the given properties file instead of stella.pro | +
Emulator Game Shells
+ +There are at least three Stella frontends for Unix/Linux: + +
KStella, which concentrates on + Stella only and includes manuals, snapshots, cartridge labels, etc.
+ +Kemulator, which concentrates + on several different emulators (Super Nintendo, Stella, MESS, etc.)
+ +Stella Shell, + which has been around the longest.
+ +INI File
+ +This version of Stella has support for INI files. This file can contain your + default options, and eliminates the need to specify them on the command line. Any + options specified on the command line will override those in the INI file.
+ +Stella searches for an INI file in two places. First, it will look for + .stellarc in your home directory. Then, it will look for stellarc + in the /etc directory.
+ +The syntax for the INI file is very straightforward. Any line starting with + a ';' character is considered a comment and is ignored. Other lines must be of + the form: command = value, where command is the same as that + specified on the command line (without the '-' character), and value + is dependent on the command.
+ +For example, the following table illustrates how command line and INI entries + are similar:
+ +Command Line | +INI File | +
---|---|
-display localhost | +display = localhost | +
-volume 75 | +volume = 75 | +
-showinfo | +showinfo = 1 | +
See the sample stellarc file for more information.
+ +The Atari 2600 console controls and controllers are mapped to the computer's + keyboard as shown in the following tables:
+ +Console Controls
+ +Key | +Function | +
---|---|
Escape | +Exit game/emulator | +
F1 | +Select Game | +
F2 | +Reset Game | +
F3 | +Color TV | +
F4 | +Black/White TV | +
F5 | +Left Player Difficulty B | +
F6 | +Left Player Difficulty A | +
F7 | +Right Player Difficulty B | +
F8 | +Right Player Difficulty A | +
F12 | +Save snapshot (if supported) | +
Joystick Controller
+ +Left Joystick | +Right Joystick | +||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+
|
+
+
+
|
+
Booster-Grip Controller
+ +Left Booster-Grip | +Right Booster-Grip | +||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+
|
+
+
+
|
+
Driving Controller
+ +Left Driving | +Right Driving | +||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+
|
+
+
+
|
+
Keypad Controller
+ +Left Keypad | +Right Keypad | +||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+
|
+
+
+
|
+
Other Keys
+ +The following keys are not present in all versions, so they are listed by + version here:
+ +Key | +Function | +Version | +
---|---|---|
= | +Resize window to next larger size | +X11, SDL | +
- | +Resize window to next smaller size | +X11, SDL | +
g | +Grab mouse (keep mouse in game window) | +X11, SDL | +
h | +Hide cursor (hide cursor in game window) | +X11, SDL | +
Alt + Enter | +Toggle fullscreen/windowed mode | +SDL | +
Pause | +Pause/resume emulation | +DOS, X11, SDL | +
Stella uses game properties to specify the "best" emulator settings for a + game. As of Version 1.2 of Stella, there are no longer any properties built-in. + You must download the latest stella.pro file from the maintainer, + Erik Kovach, here.
+ ++
The DOS version of Stella looks for a property file stella.pro in the + current working directory. If this file isn't found then the emulator will + print an error and exit.
+ ++
The Linux and Unix versions of Stella looks for the property file + .stella.pro in your home directory. If this file is not found there, + Stella will look for a stella.pro file in the /etc/ directory. + If the file isn't found in either place, then the emulator will print an error + and exit.
+ ++
A property file consists of some number of blocks. Each block in the file + contains the properties for a single game. For example the general format of + a property file is:
+ ++
+ ; Comments + "Cartridge.Name" "Value" + "Property" "Value" + "" + + ; Comments + "Cartridge.Name" "Value" + "Property" "Value" + "" + + . . . + + ; Comments + "Cartridge.Name" "Value" + "Property" "Value" + ""+ +
Every block in the property file must have a unique value for the + Cartridge.Name and Cartridge.MD5 properties.
+ ++
Each block in a property file consists of a set of properties for a single + game. Stella supports the properties described below:
+ +Cartridge.Filename: | +This property indicates the name of the file containing the ROM image. + In general this property is not needed, however, if present Stella uses it + while attempting to match a game with its block of properties. If the + value of the property matches the filename of the ROM image then Stella + uses that block of properties for the game. | +
Cartridge.MD5: | +This property indicates the MD5 checksum of the ROM image as a + string of hexadecimal digits. Stella uses this property while + attempting to match a game with its block of properties. If the + value of the property matches the MD5 checksum of the ROM image then + Stella uses that block of properties for the game. You can use the + GNU md5sum program, which is included with most Linux distributions, + to calculate the MD5 checksum of a ROM image. | +
Cartridge.Manufacturer: | +This property indicates the game's manufacturer. Currently this + property is not being used, however, future versions of Stella will + probably allow the user to view this information. | +
Cartridge.ModelNo: | +This property indicates the manufacturer's model number for the + game. Currently this property is not being used, however, future + versions of Stella will probably allow the user to view this information. | +
Cartridge.Name: | +This property indicates the actual name of the game. It is very + important that this property's value be unique from all other cartridge + names in the property file. | +
Cartridge.Note: | +This property contains any special notes about playing the game. + Currently this property is not being used, however, future versions of + Stella will probably allow the user to view this information. | +
Cartridge.Type: | +This property indicates the bank-switching type for the game. + The value of this property must be: Auto-detect, 2K, 3F, 4K, AR, E0, + E7, F4SC, F6, F6SC, F8, F8SC, FASC, or FE. For more information about + bank-switching see Kevin Horton's 2600 bank-switching document. | +
Console.LeftDifficulty: | +This property indicates the default difficulty setting for the left + player. The value of this property must be A or B. | +
Console.RightDifficulty: | +This property indicates the default difficulty setting for the + right player. The value of this property must be A or B. | +
Console.TelevisionType: | +This property indicates the default television setting for the + game. The value of this property must be Color or BlankAndWhite. | +
Controller.Left: | +This property indicates what type of controller the left player + uses. The value of this property must be Booster-Grip, Driving, + Keyboard, Paddles, or Joystick. | +
Controller.Right: | +This property indicates what type of controller the right player + uses. The value of this property must be Booster-Grip, Driving, + Keyboard, Paddles, or Joystick. | +
Display.Format: | +This property indicates the television format the game was + designed for. The value of this property must be NTSC or PAL. | +
Display.XStart: | +This property indicates the horizontal location to start displaying + pixels at on a scan-line. The value of this property must be n + such that 0 < n < 80 and n is divisible by 4. | +
Display.Width: | +This property indicates the number of pixels to display per + scan-line. The value of this property must be n such that + 80 < n < 160 and n is divisible by 4. | +
Display.YStart: | +This property indicates the scan-line to start displaying at. + The value of this property must be n such that + 0 < n < 64. | +
Display.Height: | +This property indicates the number of scan-lines to display. + The value of this property must be n such that + 100 < n < 256. | +
Emulation.CPU: | +This property indicates the CPU emulation quality. The value of + this property must be High or Low. | +
Emulation.HmoveBlanks: | +This property indicates whether the TIA HMOVE blank bug should be + emulated or not. The value of this property must be Yes or No. | +
The DOS and Linux versions of Stella support real Atari 2600 paddles using + a special adaptor which connects to the PC game port. The adaptor requires the + following parts:
+ +Most of these parts can be found at Radio Shack. I could not find a DB15 + connector there or the 115k resistors, however, if you're willing to sacrifice + a joystick extension cable you can do without the DB15 connector and you can + always place a 100k resistor and 15k resistor in series to make a 115k + resistor. A schematic of the adaptor is shown below:
+ + + +As you build the adaptor be careful not to short the +5V and GND + connections. Although several people have built this adaptor and use it + no guarantee is given that the circuit is error free therefore + USE IT AT YOUR OWN RISK!
+ +Bradford W. Mott started developing Stella during the fall of 1995 and since + then a number of people from around the world have contributed to the project. + Some people have provided technical help while others have offered suggestions + and praise. The Stella Team is grateful for all the help and support it has + received over the years. The following is an incomplete list of the people who have + played a part in bringing Stella to you:
+ +Stephen Anthony | +Ported Stella 1.1 to SDL. Added extra command line options to X11/SDL + versions. Added INI file support, faster startup, snapshot support, + and pause functionality to core. Converted Stella 1.1 manual to HTML | +
David Aspell | +Ported release 0.7 of Stella to Java | +
Christopher Bennett | +Helped discover a Superchanger emulation bug in release 1.0 of Stella | +
Alexander Bilstein | +Provided "A Brief History of the Atari 2600" for this manual | +
Dan Boris | +Provided technical information on the Supercharger | +
Piero Cavina | +Allowed "Oystron" to be included in the Stella distribution | +
Bob Colbert | +Allowed "Okie Dokie" to be included in the Stella distribution | +
Joe D'Andrea | +Author of the IRIX port of Stella until release 1.2 | +
Renato Ferreira | +Provided code to support private colormaps under Unix | +
Ron Fries | +Author of the awesome TIA Sound library | +
Aaron Giles | +Author of the Power Macintosh version of Stella until release 1.1 | +
Mark Hahn | +Allowed "Elk Attack" to be included in the Stella distribution and + provided help with the TIA HMOVE blank bug | +
Kevin Horton | +Author of the definitive Atari 2600 bank-switching document | +
Thomas Jentzsch | +Provided updated NTSC palette and many ideas | +
Erik Kovach | +Author of the property file for release 0.7, 1.0, 1.1, and 1.2 of Stella | +
Daniel Marks | +Provided improved keyboard joystick support for Stella release 0.1 | +
James Mcclain | +Provided patches for the 1.2 release to get Stella to compile with GCC 3.0 | +
David McEwen | +Author of the Acorn version of Stella | +
Jeff Miller | +Author of the Windows version of Stella until release 1.2 | +
Dan Mowczan | +Provided a Supercharger to help with Stella's development | +
Jack Nutting | +Author of the OpenStep version of Stella | +
Manuel Polik | +Author of the Windows version of Stella starting with the 1.2 release | +
Jim Pragit | +Author of the "Game Menu" emulator game shell | +
John Saeger | +Participated in a helpful discussion on understanding the TIA's + RESPx multi-sprite trick | +
Chris Salomon | +Provided information and code to help implement Supercharger support | +
Jason Scott | +Organizer of the property file archive for early versions of + Stella; now he's helping with the web site | +
David Shaw | +Provided make targets for the BSDI platform | +
Raul Silva | +Helped with design and graphics for an early version of the Stella + web site | +
Chris Snell | +Maintained a mirror of the Stella FTP site | +
Darrell Spice Jr. | +Author of the OS/2 version of Stella | +
John Stiles | +Current maintainer of the Macintosh Stella port | +
Eckhard Stolberg | +Provided a description of the TIA bug that produces the star field + effect in Cosmic Ark, provided the PAL television palette, and + participated in a helpful discussion on understanding the TIA's RESPx + multi-sprite trick. He also provided the Commavid and Megaboy support + for Stella as well as some improved Supercharger BIOS code. | +
Matthew Stroup | +Author of the Amiga version of Stella | +
Joel Sutton | +Author of the FreeBSD version of Stella | +
Greg Troutman | +Allowed "This Planet Sucks" to be included in the Stella distribution | +
Curt Vendel | +Provided schematics of the TIA which are being used to improve the + TIA emulation. | +
Brian Watson | +Helped with getting the illegal CPU instruction support working with Stella. + Brian also submitted a number of other changes, such as debugger support, which + will be integrated into the 1.3 release of Stella. | +
Keith Wilkins | +Maintained the DOS version of Stella until release 0.7 | +
Jeff Wisnia | +Provided technical data sheet for the 6532 RIOT chip | +
+
+Version 2, June 1991 + +
+ ++Copyright (C) 1989, 1991 Free Software Foundation, Inc. +59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. ++ + + +
+ The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + +
++ When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +
++ To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + +
++ For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + +
++ We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +
++ Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + +
++ Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + +
++ The precise terms and conditions for copying, distribution and +modification follow. + +
+ + ++ +0. + This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". +
+ +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + +
+ +1. + You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. +
+ +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. +
+ +2. + You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: +
+ +
+
+
+ +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. +
+ +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +
+ +3. + You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + + + +
+
+
+ +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. +
+ +4. + You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + +
+ +5. + You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +
+ +6. + Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + +
+ +7. + If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. +
+ +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. +
+ +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. +
+ +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +
+ +8. + If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + +
+ +9. + The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. +
+ +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + +
+ + +10. + If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + + +
NO WARRANTY
+ ++ +11. + BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + +
+ +12. + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + +