May 2011
http://www.whimsey.com/z26
z26 is Copyright ©1997-2011 by John Saeger and contributors. z26 is released subject to the terms and conditions of the GNU General Public License Version 2 (GPL). z26 comes with no warranty. Please see the included COPYING.TXT for details. Source code for the current release is available at the home page listed above.
You need an x86 based Windows or Linux system. z26 works fine on
32-bit or 64-bit versions of Windows 7. On Linux, a 32-bit system is
preferred and phosphor mode is recommended. Running on a Linux virtual
machine inside VMware or Virtual Box can work well. Older Windows
platforms
such as Windows XP and Windows 98 also work fine.
z26 works great on modern x86 computers and can bring some joy back
to old ones. Here are some examples of vintage or low
specification computers that can run
games at full speed including sound:
Modern x86 computers are usually fast enough. If you have an original Pentium or Pentium MMX machine, you might like to try the DOS version of z26.
Unzip the z26 archive and place the executable which is called z26.exe into the directory that contains the ROM images that you want to run. You will need a copy of SDL.DLL either in the directory that you place z26, or in the Windows directory. This .DLL is included in the .zip file along with the z26 executable.
It's a good idea to make sure DirectX is enabled. To enable DirectX with z26 you need to set an environment variable. On Windows 98 or Windows ME, edit autoexec.bat in the root directory and add the following line:
SET SDL_VIDEODRIVER=directx
To set the environment variable in Windows XP or Windows 7, use the System icon in the Control Panel. Under Advanced -- Environment Variables, add a new environment variable named SDL_VIDEODRIVER, and set its value to directx.
If you don't enable DirectX for use with z26, running games with monitor-synchronized video will probably be much too fast.
On Linux, please build z26 from source code. To build z26 on Linux, or other Linux like 32-bit operating systems, go to the src directory and type:
make linux
If all goes well, when it's done you'll have an executable named z26 that you can put in your ROM directory. You might need to install the SDL development headers, gcc, make, m4, and nasm for this to work.
Simply double-click on the z26 executable from your file manager or simply launch z26 without a filename and you will be presented with the Main Menu. The current selection is highlighted. You can navigate the list with the vertical arrow keys, and you can make a selection by pressing the <enter> key or the <right arrow> key.
z26 -- An Atari 2600 Emulator
Play a Game
Game
Video
Sound
Timing
Interface
Tweaks
Debug
About
Exit
Initially, the contents of the startup directory are shown. You can navigate to other directories which are shown with a / following the name. You can go upwards in a directory tree by selecting the ../ entry. If you press a letter of the alphabet, the filelist shows the first game starting with that letter at the top of the list, with successive keypresses narrowing the search.
../
aciddrop.bin
atlantis.bin
breakout.bin
demonatk.bin
enduro.bin
oystr29.bin
phasor.bin
quadrun.bin
solaris.bin
spcshutl.bin
vidchess.bin
If you run a game with the game launcher, you can exit the game by pressing <escape> and you return to the game launcher. If you press <escape> again you return to the Main Menu.
Navigate the menu with the up/down arrows and select with left/right arrows, the enter key or the space bar. Press <escape> to return to the Main Menu.
Game Options – e5e657da Recently run game CRC shown in hex.
P0 Difficulty...: Easy Player 0 difficulty -- easy or hard.
P1 Difficulty...: Easy Player 1 difficulty -- easy or hard.
Console B/W.....: Color Console B/W switch -- color or B/W.
Bankswitch......: Auto Atari, Tigervision, Spectravideo, etc.
Palette.........: Auto NTSC, PAL or SECAM.
Left Controller.: Auto Joystick, paddle, keypad, etc.
Right Controller: Auto Joystick, paddle, keypad, etc.
Swap Ports......: Auto Swap left and right controllers.
Allow All 4 Dir.: Auto All 4 joystick directions simultaneously.
Exit Return to Main Menu.
By default z26 runs full-screen at the resolution of your desktop, but you can also run in a window or in a hardware-accelerated full-screen mode. z26 supports a scanline effect as seen on old TV sets. Interlaced video is also supported for those demos that require it. If you want to synchronize with the monitor to emulate the “shimmer” effect (on Windows), you should turn off phosphor mode, and turn on monitor sync under the Timing Menu (see below).
The following video modes are currently supported:Video Options
Start Line.: Auto First scanline to display.
Video Mode.: 2-640x480 Screen resolution.
Width......: Normal Normal or Narrow.
Display....: Window Window, Desktop or Full Screen.
Line Mode..: Normal Normal, Scanline or Interlaced.
Phosphor...: 60 Phosphor amount or None.
Colour Loss: None Simulate PAL colour loss.
Exit Return to Main Menu.
You can try reducing the SQ size for better performance on fast systems, or make it larger if you get choppy sound on older systems. Changing the DSP changes the tone of the sound attempting to match the sound of older TV sets.
Sound Options
Quiet......: No Disable sound.
DSP........: 1 Sound processing level -- 1, 2, or off.
SQ Size....: 4096 Sound queue size.
Exit Return to Main Menu.
With the framerate set to Auto, games to run at their true speed which depends on the number of scanlines that the game generates. Otherwise you can set a very high framerate to see how fast the emulator can run, or a slower rate to make games easier to play.
Synchronizing the game to the sound system is nice if you would like to hear the Quadrun voice perfectly. Note that sync to sound takes priority over the framerate timers.
If you want to sync to the monitor for perfect emulation of the “shimmer” effect, you must set this here, and turn off phosphor mode. Don't forget to set the SDL_VIDEODRIVER environment variable to directx or sync to monitor will likely run too fast.
Timing Options
Framerate....: Auto Force framerate or let game control it.
Sync.........: Clock Clock, sound, or monitor
Exit Return to Main Menu.
Here you can tune the user inputs to the game. You can also choose to turn on the scanline and framerate display, as well as set the GUI color scheme.
Interface Options
Show FPS....: No Show framerate on game display.
Theme.......: 5-aqua Choose colour scheme for GUI.
Mouse Rude..: No Mouse control of Atari joystick in a window.
Grab Input..: No Grab ALL keyboard input.
Keyboard....: Yes Enable/Disable Keyboard.
Mouse.......: Yes Enable/Disable Mouse.
Joystick....: Yes Enable/Disable Joystick.
Stelladaptor: Yes Enable/Disable Stelladaptor.
Exit Return to Main Menu.
Here you can fine-tune how the emulator behaves.
Controller Tweaks
Mouse Paddle X....: Auto Paddle to control with mouse X-axis.
Mouse Paddle Y....: Auto Paddle to control with mouse Y-axis.
Paddle Sensitivity: Auto Sensitivity when controlled by keyboard.
Paddle Adjust.....: Auto Paddle delay in scanlines.
Lightgun cycles...: Auto Adjust lightgun by N cycles.
Lightgun scanlines: Auto Adjust lightgun by N scanlines.
Exit Return to Main Menu.
Here you can turn on or turn off the debug trace log.
Debug Options
Trace Log....: Disabled Write a code trace to z26.log.
Exit
Version 2.14.69 –- http://www.whimsey.com/z26
Exit Return to Main Menu.
Simply exit the emulator while in the startup directory. If you've navigated to a different directory to play a game, changes will be lost.
Delete the file z26.gui from the startup directory. If you are using command-line switches from the command line, or an external front-end, delete z26.cli.
To control the switches on the main console box, use the function
keys on the keyboard as follows:
F1 -- Reset
F2 -- Select
F3 -- B/W
F4 -- Color
F5 -- Player 0 easy
F6 -- Player 0 hard
F7 -- Player 1 easy
F8 -- Player 1 hard
z26 supports the use of the mouse or PC trackball to play paddle
games. If you want to change which paddle is emulated with the mouse
use the Controller Tweaks Menu. You can change which direction the
mouse must be moved in to get paddle motion by pressing the <Tab>
key on the keyboard while you're playing a game. You can emulate two
paddles with a mouse with one paddle on each axis. You can use the
keyboard to play paddle games. If z26 doesn't automatically support a
game as a paddle game you may specify which controllers are paddle
controllers in the Game Options menu.
Paddles may be controlled from the keyboard as follows:
Ctrl -- fire paddle 0 Use left and right arrows to move
RShift -- fire paddle 1 Use up and down arrows to move
n -- fire paddle 2 Use 's' and 'f' to move
v -- fire paddle 3 Use 'e' and 'd' to move
PC or USB joysticks and gamepads are supported to the extent that
the operating system and SDL supports them for playing joystick games.
The mouse and PC keyboard may also be used. Some games like raiders.bin
use the "wrong" joystick. To reverse the joysticks, reverse the ports
under the Game Options Menu. Joysticks may be controlled from the
keyboard as follows:
Ctrl -- fire Use the arrow keys to move.
/ -- trigger (booster grip)
RShift -- booster (booster grip)
n -- fire
s -- left
e -- up
f -- right
d -- down
b -- trigger (booster grip)
v -- booster (booster grip)
z26 suppports the game that uses the driving controller (Indy 500)
from the keyboard as follows:
Ctrl -- accelerate
right arrow -- turn clockwise
left arrow -- turn counter-clockwise
n -- accelerate
f -- turn clockwise
s -- turn counter-clockwise
Left Port Right Port
7 -- 1 8 -- 2 9 -- 3 1 -- 1 2 -- 2 3 -- 3
u -- 4 i -- 5 o -- 6 q -- 4 w -- 5 e -- 6
j -- 7 k -- 8 l -- 9 a -- 7 s -- 8 d -- 9
m -- * , -- 0 . -- # z -- * x -- 0 c -- #
Use PC keyboard columns 1 - 0
Ctrl -- FUNC
LShift -- SHIFT
Use the mouse to move horizontally.
button -- start the game
Tab -- switch between player 0 and player 1
Tab -- switch between horiz. normal, vert. normal
and horiz. reversed, and vert reversed
Use keys 1 2 3 to start the corresponding tape.
F1 stops and rewinds the tape.
Atari sold a Trak-Ball that could be used to play joystick games. z26 supports the use of a mouse or PC trakball to do the same thing for joystick games. Optical trackballs like the Logitech Marble Mouse are great for this. Also z26 emulates the various types of Atari Trak-Balls in their native modes.
z26 supports light gun games (Sentinel, Shooting Gallery) with the mouse.
z26 enables the keyboard/touch pad/keypad for recognized games that use them.
z26 supports the booster grip game (Omega Race) from the keyboard and the PC joystick with 3 or more buttons.
PgUp -- Scroll the screen up.
PgDn -- Scroll the screen down.
Home -- Return to the default screen position.
Pressing the = key during game play causes a .bmp file with a screen image to be placed in your directory. Filenames are z26p0000.bmp, z26p0001.bmp etc. The filename restarts at z26p0000.bmp causing old versions to be replaced each time you restart the emulator.
If you start z26 from the command line with the -t command line switch, it automatically builds a text file called z26.log. This file is a log of all instructions executed and shows some other interesting things like the (frame number, scanline number, cpu cycle, tia clock), object positions (P0, P1, M0, M1, BL), cpu flags, registers (A, X, Y, SP), the program counter, the current instruction in hex, and a disassembled listing of the instruction.
Emulator performance slows down quite a bit while writing out this file so you can turn off writing with F12 and turn it back on with F11 to make it easier to get to the part of the game that you're interested in.
By enabling the Show FPS option in the Interface Options menu, thee
number of scan lines that a game is using as well as its play speed in
frames per second (FPS) to be displayed. This is
useful for testing PAL games so you can avoid the PAL color loss bug.
Of course you can also enable the color loss by turning on the Colour
Loss option in the Video Options menu. The display may be toggled
with the <Alt-D> key combination.
While the emulator is running, use the following keys:
Alt+key Effect
Z Enable/disable player 0
X Enable/disable player 1
C Enable/disable missile 0
V Enable/disable missile 0
B Enable/disable ball
N Enable/disable playfield
/ Enable all of the above (returns to default)
There is currently no way to disable individual playfield registers (PF0, PF1, PF2). Alt-N affects all 3 registers.
This feature can be useful for testing a game you're writing, or for analyzing a game someone else wrote. While a register is disabled, it's invisible and unable to collide with other objects.
z26 assumes that a PC joystick with only two buttons and two axis is the Stelladaptor device, that lets you connect Atari joysticks, driving controllers and paddles to your PC's USB port. If you want to use a different 2-button/2-axis joystick with z26 and experience problems with the emulation of some Atari controller, you can disable the Stelladaptor support in the Interface Options menu. Please note that the Stelladaptor is seen as a joystick too, so disabling joysticks in the Interface Options menu will also disable the Stelladaptor.
Some Atari controllers are simulated with more than one PC controller. If you are experiencing problems with this, you can disable one or more PC controllers for these Atari controller simulations. For example you might want to disable the PC mouse when you use the keyboard to play an Atari-joystick game, so that accidently pushing the mouse doesn't cause any unwanted movement. Also you might want to disable the PC joystick for paddle games, because the PC joystick always overrides all other PC controllers in the paddle simulation when one is plugged into the PC. Please look at the following table to find out which Atari controllers are simulated with which PC controller.
Atari/PC keyboard mouse joystick Stelladaptor
---------------------------------------------------------
joystick JS x x x x
paddle PC x x x x
keypad KP x - - -
driving DC x x x x
lightgun LG - x - -
Compumate CM x - - -
Kid Vid KV x - - -
Mindlink ML - x - -
ST mouse ST - x - -
Trak-Ball TB - x - -
Amiga mouse AM - x - -
Please note that inactivating the PC controller only works for Atari controllers that are simulated by more than one PC controller. Also note that the Stelladaptor is just a special case of the PC joystick. So inactivating joystick support will also disable Stelladaptor support.
z26 supports three different sets of colors or palettes. The most common games shipped in North America use the so called NTSC colors. Games shipped in other parts of the world use the so called PAL colors. z26 typically detects the correct colors, but you can override the colors chosen by z26 with the Palette option in the Game Options menu.
z26 also supports the bug in PAL consoles that causes the display to display a monochrome image if a game has the wrong number of scanlines. This feature is enabled with the Colour Loss option in the Video Options menu. Some of the 32-in-1 games which were poorly done PAL hacks show this effect.
SECAM colors can be selected with Palette option in the Game Menu. In the time before the crash Atari created most of it's PAL games in such a way that the B/W switch would enable SECAM compatible colors. So nostalgic gamers from France can play PAL ROMs by selecting this option.
You can force a game to start in black and white mode with the Console B/W option in the Game Options menu. Note that this doesn't mean that the game will actually be in black and white, this merely sets the console B/W switch which the game may or may not ignore.
By default, games run at a speed that is determined by how many scanlines the game generates per frame. This provides correct play speed for NTSC and PAL games automatically. However you may adjust game speed to a specific number of frames per second as desired. On Windows platforms, you can turn off phosphor mode and synchronize the game to the monitor when you run in a full screen video mode.
z26 supports digital signal processing (DSP) on the sound. This is to reduce distortion on some clone sound cards, but also causes the sound to more closely approximate the sound of an old TV set for those users that prefer a more "classic" sound. By default a setting of 1 is selected, however a higher setting of 2 is also available, and the DSP can be turned off as well.
z26 currently supports the following schemes:
Support is usually automatic, however one can override the default bankswitch scheme in the Game Options menu.
For most Starpath games, the .bin file must be a multiple of 8448 bytes big. To run multiload games you must concatenate the .bin files. Under Windows, a command like this will do the trick:
copy /b load1.bin+load2.bin+load3.bin+load4.bin mload.bin
Under Linux something like this will work:
cat load1.bin load2.bin load3.bin load4.bin > mload.bin
Then run mload.bin in the emulator. z26 supports a maximum of 61 loads.
z26 also supports the 6144 byte Starpath format.
The Extended Tigervision (#11) bankswitch scheme allows ROMs up to 512K in size keeping the last bank fixed. All ROM images that are bigger than 64K and not a multiple of 8448 default to this scheme.
The original Tigervision (#4) bankswitch scheme also supports up to 512K games but with $1800-$1FFF as the fixed bank. This allows compatibility with the Cuttle Cart for games up to 64K in size.
z26 supports the Kid Vid games (Smurfs Save the Day and Berenstain Bears) automatically.
Press 1, 2, or 3 to select the corresponding tape. F1 rewinds the tape. In addition to the rom images, you need the wave files with the music in the same directory as z26.
The files are named:
Berenstain Bears:
KVB1.WAV, KVB2.WAV, KVB3.WAV
Smurfs Save the Day:
KVS1.WAV, KVS2.WAV, KVS3.WAV
Both:
KVSHARED.WAV
You can also play the games without the music, but it's much less fun.
z26 has many options that are set with command line switches. You can use a text editor (or an external front end program) to create a file called z26.cli in the directory that contains your ROM images to set these options. Otherwise if you type z26 with some command line switches and don't include a filename, the command line switches are recorded in z26.cli automatically as emulator defaults. These defaults can still be overridden with command line switches that you include on command lines that include a filename.
Spaces are not allowed between an option and its argument.
Example: to force the framerate to 60, use -r60, not -r 60.
Options set in the GUI are ignored when z26 is launched from the command line. But if you like you can copy the z26.gui file to z26.cli and the GUI set options will be recognized from the command line, since the files have the same format.
More detailed information about the meaning of the switches may be found later in the document.
-)CC -- select controller on left port
CC = JS -- joystick
CC = PC -- paddle controller
CC = KP -- keypad
CC = DC -- driving controller
CC = LG -- lightgun
CC = CM -- CompuMate keyboard
CC = KV -- Kid Vid tape player
CC = ML -- Mindlink controller
CC = ST -- ST mouse / CX-80 Trak-Ball
CC = TB -- CX-22 Trak-Ball
CC = AM -- Amiga mouse
CC = NC -- no controller connnected
-(CC -- select controller on right port (CC: see above)
-! -- run interlaced games
-0 -- start with player 0 hard
-1 -- start with player 1 hard
-b -- start in black and white
-4 -- allow all 4 directions on the joystick to be pressed simultaneously
-cN -- color palette (N=0 -- NTSC N=1 -- PAL N=2 -- SECAM)
-dN -- DSP processing level (N=1 -- low N=2 -- high)
-e -- enable narrow video modes
-fN -- enable phosphorescent effect (N=0 through N=100, 60=default) The
parameter is the frame mixing coefficient (0 through 100) which
specifies how much the bright pixel is favored over the dim pixel
when mixing the value of two frames.
-gN -- override game type
N=1 -- Commavid extra RAM
N=2 -- 8K Superchip
N=3 -- 8K Parker Brothers
N=4 -- 8K Tigervision
N=5 -- 8K Decathlon & Robot Tank
N=6 -- 16K Superchip
N=7 -- 16K M-Network
N=8 -- 32K Superchip
N=9 -- 8K Atari -- banks swapped
N=10 -- Spectravideo Compumate
N=11 -- 32K - 512K Extended Tigervision
N=12 -- 8K UA Ltd.
N=13 -- 64K Homestar Runner / Paul Slocum
-iC -- inactivate PC-controller
(C = K -- keyboard, M -- mouse, J -- joystick, S -- Stelladaptor)
-pN -- paddle sensitivity (N=1 to 15 -- keyboard only)
-PN -- enable lower sensitivity for PC joysticks / Stelladaptor
in paddle emulation, and delay the paddle read-bit
flipping by N scanlines
-mN -- paddle to emulate with mouse (N=0 to 3)
-m1XY -- emulate two paddles with mouse (X and Y = 0 to 3)
-MN -- enable mouse capture in a window
allows mouse full control of games in windowed video modes just like
full screen modes (N=0 -- off, N=1 -- on) default = off
-G -- Grab all mouse and keyboard events. Use this if your window manager's
hotkeys conflict with z26 hotkeys.
This option is primarily intended for Linux/UNIX systems, but may be
useful on Windows as well.
-lN -- adjust lightgun by N cycles
-aN -- adjust lightgun by N scanlines
-n -- show scanline count and FPS on game display
-o -- simulate PAL color loss
-q -- quiet
-sN -- specifies the size of the sound queue
(default = 4096 -- max = 65536)
-rN -- run at N frames per second. Give a large number
(e.g. -r9999) to run the emulator as fast as possible.
-R -- sync game to sound output
-t -- write code trace to z26.log.
-tt -- Same as -t, but start emulator with tracing disabled.
Press F11 to enable trace or F12 to disable.
-uN -- start scanning game at line N
-vN -- video mode N in desktop mode
-v1N -- video mode N in a window
-v2N -- video mode N in full screen mode
-w -- swap Atari controller ports for all controller types
-CN -- set the GUI color theme to N
-S -- turns on scanline mode
-x -- print checksum of cartridge
-V -- display the version
If synchronizing to the monitor, enable SDL_VIDEODRIVER=directx on Windows systems.
Set framerate control to Auto or a slower speed.
Try a different pixel depth on your desktop or a different video
mode with lower resolution.
Try increasing the size of the sound queue in the Sound Menu.
Making the size 6144 bytes usually works. This may be necessary
on older computers.
Turn off the sound in the Sound Menu.
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.
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.
The Windows version of z26 is built with MinGW/Msys GCC and NASM.
Fonts were designed with CSEDIT by Matt Pritchard.
Documentation was made with SeaMonkey.
Eckhard Stolberg has made contributions to z26 that are too numerous to count. He has been involved since the very early days and the high quality emulation that z26 provides would certainly not have been possible without his participation.
Brian Watson made the 32-bit version of z26 possible and laid the foundation for the GUI.
Paul Robson -- Wrote original A26.
Ron Fries -- Original TIA sound emulation.
Ettore Perazzoli -- 6502 undocumented instructions.
Andreas Boose -- Also 6502 undocumented instructions.
Wolfgang Lorentz -- 6502 diagnostics.
Bob Colbert -- Object wrapping.
Piero Cavina -- Multiple missiles.
Erik Mooney -- HMOVE blanks.
Kevin Horton -- Bankswitching and Quadrun voice.
Dan Boris -- Atari 2600 schematics.
Matt Pritchard -- Font design tools.
Matt Conte -- Quadrun voice.
John Dullea -- Fast elegant graphics and Pitfall II.
Bradford Mott -- Object positioning (weird HMOVE).
Chris Wilkson -- Pitfall II.
Lee Krueger -- Kid Vid support, rare carts, and documentation.
Thomas Jentzsch -- Trace mode, Kid Vid support and fast video routines.
Henning Mueller -- CompuMate.
Christian Bogey -- SECAM colors.
Oliver Achten -- PAL colors.
Andrew Davie -- Extended Tigervision bankswitch demos.
Paul Slocum -- Provided EF bankswitch demo.
Billy Eno -- Provided interleaved display demo.
Adam Wozniac -- Helped with TIA sound polynomials.
Matt Matthews -- Linux consulting.
Brian Watson -- Helped with Linux port, ASM-code, GUI framework.
James Wilkinson -- Helped with BeOS port.
Eckhard Stolberg -- Contributions too numerous to mention.
Thanks to everyone else who has helped with comments, suggestions, bug reports, information, supplies and testing:
Junky, Kevin White, The Boatwrights, Miguel Guzman Centeno, Peter, Jay C. Heil, Zoop, Rob Anderson, Zophar, Peter Vogels, Stephan, Xahji, Ricardo Martinez Garza, Stephano Camarri, Peter Betz, Piero Cavina (Oystron! Helped find multiple missile bug.), Nick S. Bensema, Erik Mooney, Glenn Saunders, Abraham Velazquez, Christian Schaefers (Z-Type), Freirias, Brian Deuel, Chris Platt, Israel Geron T., jose roberto rodrigues, Dan Meyer, Martin Schaefer, Ummagumma, Digitoxin, Michael Walden Jr. (The most elaborate suggestion list!), Gilamonster, Gerald Gorman, Francisco Athens, Lex Nesta, Ben, Gerald Gray, Jose Pedro, Tadd Underhill, Ejber Ozkan, Lord Mhath, Larry Scott, Brad Komgenick, Michael J. Mika, Ettore Perazzoli (VICE), Stephan Eder, Andreas Boose (VICE), David Gray, jimnav, Dr. Simone Zanella, Brad Thomas, Jeff Cockayne, Sam Miller, EmrldSword, justin martin, Justin Scott, Jason Berk, Luis Graterol, Ricardo Soto, Brian Smith, Sam Hard, Keith Merizalde, Nate Marigoni, Kurt Woloch, GreenImp, M. C. Silvius, Matthew Conte (Nofrendo), Jason Barisoff, Rick Vasquez, Marco Turconi, Kalik, Christopher Warren, Curt Vendel, Roberto Sidney Teixeira, raverpup, iCeFiRe, Chism, Sascha Reuter, Craig Tildesley, Michael Prentler, Cody B, Thom Rechak, Cam, Jason, Keith Weisshar, Robin Gravel, Thom Bone, Mrfriend, Edwin Helsloot, C J Biro, Michael Monson, Justin Rodriguez, Francesco Azzurri, Greg Bendokus, Bruce Clarke, John Dullea (PCAE), Tim Boston, Chris Ainsley, Ricardo Henrique Tabone, and Seth Kintigh.
And thanks to Len Shikowitz for *complaining* well beyond the call of duty. Definitely "the most obstinate, yet sincere, tester." :)
At some point I stopped keeping the list of everyone who have sent me suggestions up to date. I apologize for that. But thanks to the folks who have continued to send in suggestions, even though they didn't make the list.
Thanks!!!