Atari++, an emulator of Atari 8-bit computers created by Thomas Richter.

From the homepage http://www.xl-project.com:
The Atari++ Emulator is a Unix based emulator of the Atari eight bit computers, namely the Atari 400 and 800, the Atari 400XL, 800XL and 130XE, and the Atari 5200 game console. The emulator is auto-configurable and will compile on a variety of systems (Linux, Solaris, Irix). Its emulation features are stunning:
Cycle precise emulation; this includes correct emulation of horizontal kernels and programs that modify chip registers within a horizontal line. In a less technical language, software making use of advanced displaying techniques will be emulated correctly.
Emulation of an advanced 1050 disk drive including single, double and enhanced density. The emulator not only understands .atr and .xfd files, but comes with a mini-boot loader that allows you to boot from binary load files (.exe and .com).
Supports .gz compressed images, and .DCM disk images. No additional tools required to load these disks.
Precise emulation of ANTIC and GTIA graphics, including undocumented scrolling features, undocumented GTIA player/missile priorities and collision detection, and some other less known GTIA features. Color artifacting is also available.
Precise emulaton of POKEY sound, including "Software Speech", high-pass filters and POKEY hardware timer interrupts. An emulation of the console speaker is also included.
Precise emulation of the POKEY SIO (serial transfer) protocol, including the Atari "sound effects" on disk loading and some lesser known influences of serial transfer on the sound subsystem.
Pokey stereo hack ("Gumby") included in the emulation.
Emulates graphics output either thru X11, or the SDL library, including a screen snapshot feature, saving images as PGM, BMP or PNG.
Sound output is either emulated by the Open Sound System (OSS), the ALSA system, the SDL library, or by recording the sound samples into a WAV file in CD quality.
Cylce-precise 6502 emulation, including "extra-instructions" that are not documented in the 6502-manual, and also including all known hardware-bugs of the 6502.
Cylce-precise emulation of Pokey timer and interrupts.
Printer emulation thru  standard LPR printer user interface.
Flicker-Fixer option for games that toggle palettes fast for more colors.
Emulation of color artifacts due to PAL color subsampling
Optional de-blocking filter for magnified output
Built-in Os emulation
Joystick, paddle and lightpen emulation by keyboard or mouse, or by standard analogue PC joysticks. A special home-made interface allows the connection of Atari digital joysticks by an additional joystick driver. Hence, you'll be able to play all your old games even with your digital joysticks.
Includes emulation of the Pokey POT reading mechanism.
Saves and loads machine states to save games in the middle of the game play, and allows to resume from that point later on.
Includes emulation of a variety of cartridge types, including 5200 games cartridges and Oss supercarts.
Effective emulation of 800XL/XE and cartridge bank-switching mechanisms.
Emulation of the Atari 850 Interface box by the serial port of the host computer, including a full 850 driver "in ROM".
Interfaces to "Hias'" AtariSIO driver, allowing you to connect real Atari hardware to the PC.
Includes a Dos 2.xx compatible interface to the filing system of the emulator.
Easy to use graphical user front-end for simple setup and configuration, includes saving and loading of (human-readable) configuration files. The user front-end also allows to setup details like the player/missile collision setup to build "game-trainers" on demand.
Includes a built-in monitor allowing experts to debug Atari software easily.