This site
is a member of WebRing.
To browse visit Here.
The Atari++ Home Page
About the Atari++ Emulator
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.
And the best: It is free.
Downloading the Emulator Sources
Stable Release 1.60
This is the stable release that has been tested for a longer period and
should work fine on most platforms. You can download the sources
directly here: atari++_1.60.tgz
This release contains all the latest
features, though it is also less tested. Bug reports are welcome.
atari++ 1.60 for win32
The latest built (binary) of atari++ for the win32 platform: atari++_win_1.60.zip
This is a stable release, based on the 1.58 snapshot above. Includes
the SDL library. No ROM Images required.
Reporting Bugs
Please help me to improve atari++ further and report bugs to thor at math dot tu-berlin dot de.
(Please replace words in email address by the obvious letters, I get
too much spam anyhow...)
To help me reproduce bugs, please always report with full version
number and architecture (e.g., "release 1.58 for Linux") and
include your configuration file (.atari++.conf). If the bug appears for
a specific program, include an image of the program
if possible, and provide a memory/state snapshot for "crash"
situations. These snapshots can be generated in the "Full Menu"
reachable by the F1 function
key. Go there to the "Preferences" topic, and select Save State.
Online Manual
An online version of the atari++ manual in html has been made available
for your convenience. It is also included in the distribution: man/manual/atari++.html
ROM Sources
Atari++ 1.30 and up contain a built-in ROM emulation that tries to
mimic the AtariXL operating system closely. Since the emulator sources
contain this ROM only in the form of a hex dump, you might want to look
into its sources:
To compile and assemble the Os sources, you need a C compiler, the GNU
make utility, the fileutils and the ca65
assembler.
Compiling the Emulator
Since I do not distribute binaries,
either due to the size or due to the variety of different system setups
I do not all want to support, you need to compile the emulator
yourself. This sounds harder than it is; here is a step-by-step HOWTO:
Unpack the archive with
tar -xzf atari++.tgz
Let the emulator figure out the configuration of your system. For
that, change to the directory where the archive was unpacked into, and
enter
./configure
Build the emulator by
make
This builds a file named "atari++" which
is the emulator executable. In case you should find any problem building
the emulator, let me know.
Prequisites for compiling the emulator
A well-installed system should be able
to build the emulator from scratch without requiring any additional
installations. However, in case of doubt, you might want to check for
the following packages:
The X11 development files should be available. Most noticably,
the X header files in /usr/include/X11 must be available for any
graphics output.
Optionally, the Oss development files must be available in
sys/soundcard.h. Even without them the emulator will work, but Oss sound
output will not work.
Optionally, the SDL development files must be available in
/usr/include/SDL. The emulator will work without the SDL headers, but
you won't be able to use the SDL graphics output and the SDL sound
output without them.
Optionally, either the curses or the ncurses development files in
/usr/include/curses.h or /usr/include/ncurses.h must be available. The
emulator will work without them, but the built-in monitor will have a
less user-friendly front-end without curses development files.
If the mentioned system headers are not
at the precise positions mentioned above, the configuration file might
still be able to figure their location out. If this does not work, run
the configuration script like this:
./configure --includedir=<your_include_directory>
Optionally, you may also select a different compiler for building the
emulator. For that, specify the C compiler with the CC=compiler
and the C++ compiler with CXX=compiler flag. Note that you need
to specify both. For example, to configure the emulator for the intel icc
compiler, run the configuration script as follows:
./configure CC=icc CXX=icc
Then build the emulator with "make" as above.
Obtaining more information
The distribution of atari++ contains a
manual you can browse with