top of page

5.2.0 / 29-12-2023





average rating is 4 out of 5
average rating is 4 out of 5
average rating is 4.5 out of 5

Atari800 is the emulator of Atari 8-bit computer systems (400, 800, 600 XL, 800XL, 130XE, 5200) and 5200 game console for Unix, Linux, Amiga, MS-DOS, Atari TT/Falcon, MS-Windows, MS WinCE, Sega Dreamcast, Android and other systems supported by the SDL library. It features Cycle-exact 6502 emulation (all unofficial instructions), Cycle-exact NMI interrupts, scanline-based POKEY interrupts, Cycle-exact ANTIC and GTIA emulation (all display modes) and much more. 


Windows: Nothing reported

GNU/Linux: 11 Debian platforms supported 

Mac: Nothing reported

Most Recent Changes


New features

  • possibility of renaming the host device "letter" from previously hardcoded H: to any letter but C: (cassette), E:, K: and S:
    So if you have e.g. a program with hardcoded "D:" (as for diskette) you can now use it on a host device as well by renaming the host device to D:
    either via the Emulation configuration -> Host device settings menu or using command line option-Hdevicename <X>

  • little thing but useful (for me at least): tooltip in the settings
    menu that reminds users there are virtual host devices with
    automatic ATASCII<->ASCII conversion (mainly end-of-line character).Extremely useful for all text files including ATARI BASIC source code that can be stored using LIST "H6:PROGRAM.LST" and read back using ENTER "H6:PROGRAM.LST" (H6 = H1 with ASCII conversion, etc.).

  • GIT-Changelog: ATARI800_5_1_0...ATARI800_5_2_0


New features

  • New command line options:
    -playbacknoexit => don't exit the emulator after playback finishes-joy-distinct => allows larger number of joysticks by not combining multiple physical devices into a single emulated joystick. For example this allows using keyboard to emulate one or two joysticks, and to use these in conjunction with physical SDL joysticks / controllers in order to play with more people
    than there are SDL joysticks. The same logic gets applied to LPT joysticks, these come after joysticks from keyboard emulation.Furthermore, the logic also gets applied to put SDL joysticks after LPT joystics even when the command line flag isn't set. Since LPT joysticks take precedence over SDL joysticks on the same emulated device, this takes a device that was completely ignored before and makes it useful now.The assignments are fixed at program start-up, after config file and command line flags have been taken into account. If the UI is used to enable or disable a keyboard-emulated joystick, this can cause an emulated joystick
    to be controlled by multiple physical devices, or by none.

  • Swap also SDL joysticks on AltL+JThis swaps all physical devices connected to the first two emulated joysticks: the keyboard keys, the SDL devices, and the LPT devices.After the swap the real joystick / hat setting in the UI will appear  wapped
    as well, but the keyboard setting won't (fixes #156).

  • Show all input events on a single line during recordingThis way the recording file alternates between two forms of lines: input
    lines which contain all keyboard and joystick events in one line, and output lines with the screen content digest. By filtering out the former, the latter can be aggregated nicely, e.g. using a command like this:zcat ${file:?} | grep -vE '^[0-9A-F]{8} *$' | uniq -cConsecutive frames of equal input state will be represented as a single row, with a repeat count giving an idea for how long the state was maintained.

  • RAM cartridges implementation (#184)Many RAMCART and one SiDiCar cartridges
    Support for writeable cartridges
    CART monitor command
    Make blank cartridge UI option
    Reserved CART file ids for additional cartridge types currently unemulated by Atari800,
    added also the description of the types

  • added XEX reading in monitor (useful for patches)

  • Added H: device rename; save it in setup file (#204)


  • Altirra OS updated to v3.41

  • Altirra BASIC updated to v1.58

  • Fix buffer over-read in generate_partial_pmpl_colls (#165)

  • Atari ST/TT/Falcon optimizations

  • Fixed keystrokes for inserting/deleting of line/character (#179)

  • SIO now resets BRKKEY (fixes Arsantica 3 demo)

  • Fix for issue #199 (BBSB warp doesn't work)

  • Fixes CTRL and CAPS keys when using SDL12-compat library.

  • DOC/README.RPI explains clearly support for various RaspberryPis

  • GIT-Changelog: ATARI800_5_0_0...ATARI800_5_1_0


New features

  • AVI video recording (Alt+V hotkey) by Rob McMullen
    -vcodec command line arg can select video codec
    -aname and -vname CL args set patterns for sound and video recording
    -horiz-area & -vert-area command line args for controlling the image area
    -showstats (and -no-showstats) CL args and related config file param
    -compression-level for configuring PNG and ZMBV compression

  • MP3 audio and other audio codecs for audio recording (Alt+W hotkey)
    -acodec can select audio codec

  • New cartridge types supported:71: Super Cart 64 KB 5200 cartridge (32K banks)
    72: Super Cart 128 KB 5200 cartridge (32K banks)
    73: Super Cart 256 KB 5200 cartridge (32K banks)
    74: Super Cart 512 KB 5200 cartridge (32K banks)
    75: Atarimax 1 MB Flash cartridge (new)
    See DOC/cart.txt for details.

  • support for remapping of all function keys (START, SELECT, OPTION etc)

  • support for comments in config file

  • tool for creating cart files from ROM files

  • support for 64-512K Atari 5200 bank-switchable carts with Bryan's design

  • support for the alternate variant of MaxFlash 1 MB.

  • support for single RaspberryPi OS package with HW specific binaries


  • video triple buffering changed to double buffering

  • fixed #74 by using proper getcwd()

  • gamma values in NTSC filter presets updated

  • MacOS build enables R: by default

  • fixed saving of config file

  • using zlib-provided crc32 if HAVE_LIBZ is defined (#72)

  • Altirra OS updated to v3.28

  • renamed "Switchable 5200" cartridges to "Super Cart"

  • fixed segfault when a 5200 Super Cart cartridge is removed

  • avoided unnecessary memory copying of 5200 Super Carts

  • fixed #88 issue in opening a cartridge

  • BUILD instructions and new README for Android

  • fixed segfault when exiting monitor

  • fixed BBSB's lift not working

  • avoided unnecessary memory copying in Bounty Bob cartridges

  • allow configuring --with-audio=win in non-DirectX targets

  • allow configuring --with-audio=sdl and --with-video <> sdl

  • atari_x11.c: don't auto-repeat the 'screenshot' key

  • build compatible with dash


New Features

  • raw Pokey registers recording by Ivo van Poorten

  • new platform supported: FireBee

  • optional hiding of hidden files/folders in the UI file selector

  • libatari800 (Atari800 as a library) by Rob McMullen

  • R: device (many years old feature) enabled by default


  • proper check if SDL joysticks are found (fixes #58)

  • Portrait mode for Android (related to #41)

  • RMW for Pokey

  • Improved BASIC LST file loading (#55)

  • ROM OS path changes handled better (#15)

  • improved "Find ROM images" - now Atari800 reboots if necessary (#15)

  • fixed an old bug which caused freezing in the UI on Falcon

New command line options

  • -pokeyrec and its children

  • -atari_files (#29)

  • -saved_files (#29)

  • -kbdjoy0 -kbdjoy1 -nokbdjoy0 -nokbdjoy1 (#29)

Plus many Atari Falcon specific fixes and improvements by Mikro. This should be the most complete and bug-free Atari Falcon release in years, so enjoy! :)

Show Previous Changes


New Features

  • Atari800 now includes Altirra BIOS-es for all emulated systems: 400/800,
    XL/XE, and 5200; as well as Altirra BASIC. It is now possible to use the
    emulator without providing any ROM images.

  • The Altirra OS-es and Altirra BASIC can now be selected by users in the
    "System settings", if they want to use them. Previously Altirra OS was used
    automatically only when no other OS ROMs were found.

  • joyhat support for all four real joysticks, configurable in CLI/cfg/TUI

Notable changes

  • All documentation specific to building Atari800 on Windows has been moved
    from DOC/INSTALL to a new file, DOC/ This document
    has also been expanded with a new chapter covering building Atari800 using

  • Ability to use the built-in EmuOS firmware has been removed. Users wishing
    to run Atari800 without providing OS ROMs now have an option of using the
    built-in Altirra OS-es, which are compatible with much more Atari software
    than EmuOS.
    At the same time, it is still possible to compile a version of Atari800
    without any OS ROMs built in, by means of the --disable-altirra_bios
    configure option.

Port specific improvements

== Atari Falcon ==

  • More Videl/screen handling fixes

  • Ability to run Atari800 in an AES-less environment

  • Replaced C2P with MMU friendly and faster code

  • Atari800 should run on all TOS clones with XBIOS Sound API

== Android ==

  • Fixed building of the Android target, broken in the previous release.

  • Fixed labels on console keys (unreadable on hi-res displays)

  • Fixed console keys press detection

  • Fixed "right-handed joystick" trigger press

== Raspberry Pi ==

  • updated build documentation

  • find proper Broadcom GLes libraries

  • fixed bug in GRAPHICS 9 (shifted colors)

== MS Windows ==

  • updated build documentation

General Fixes

  • updated build documentation

  • it is possible to build atari800 out of source tree

  • unconnected host joysticks initialized properly, fixes the MULE game


This is a free and portable Atari 8-bit computer and 5200 console emulator,
originally written by David Firth and now developed by the Atari800
Development Team (please see DOC/CREDITS). This program is copyrighted and
released under the GPL (see COPYING).


For news in this release please do read DOC/NEWS.

If you have a problem running this emulator please read DOC/FAQ first.
If the problem persists then please ask in newsgroup comp.sys.atari.8bit
or in the atari800-users mailing list (see below).

Look at DOC/BUGS before reporting something you consider a bug.

If you want to help developing Atari800 emulator you can subscribe to our
mailing list (
DOC/TODO might point you in the right direction.

This version, and all versions back to 0.8.2 have been released by me (Petr
Stehlik) and are now available at (URL below).


New features

  • Option to automatically save configuration on exit

  • More settings saved in configuration:currently attached tape file
    cartridge settings, including currently attached cartridges
    state of R-Time 8
    system settings, including Mosaic/Axlon RAM size

  • New Tape Management menu - can now create blank tape images, switch tape
    to read/write in order to save additional data at the end of the current
    tape image, rewind/fast forward the tape, and mark it as read-only. See
    DOC/USAGE for details.

  • Displaying tape position when "Show sector/block counter" is enabled.

  • Reworked Cartridge Management menu - now displays filename of the
    attached cartridge.

  • Option to disable restarting of the machine after cartridge change.

  • When attaching a cartridge from the command line, cartridge type can now
    be specified using the new -cart-type and -cart2-type options.

  • New cartridge types supported:OSS 8 KB cartridge
    OSS two chip 16 KB cartridge (043M)
    Blizzard 4 KB cartridge
    AST 32 KB cartridge
    Atrax SDX 64 KB cartridge
    Atrax SDX 128 KB cartridge
    Turbosoft 64 KB cartridge
    Turbosoft 128 KB cartridge
    Ultracart 32 KB cartridge
    Low bank 8 KB cartridge
    SIC! 128 KB cartridge
    SIC! 256 KB cartridge
    SIC! 512 KB cartridge
    Standard 2 KB cartridge
    Standard 4 KB cartridge
    Right slot 4 KB cartridge

  • The configure script can now auto-detect some of the available display and
    sound interfaces before compiling.

  • Option to enable XEP80 added to The Emulator Settings menu.

  • Emulation of the 1200XL, including console LEDs, no built-in BASIC, the
    F1-F4 keys (mapped to arrow keys in the SDL version) and the on-board
    J1 jumper.

  • Emulation of the XE Game System, including the built-in game and
    detachable keyboard.

  • Revamped the Select System menu (now called System Settings). Can now
    select many system settings, including RAM expansions, OS and BASIC
    revision, and more.

  • System ROM settings moved to a separate menu. Now it stores paths to all
    known official revisions of the Atari OS, the 5200 BIOS, all BASIC
    revisions, and the XEGS built-in game. The OS revision to use is chosen
    automatically when selecting a machine type (for example, the 400/800 OS
    PAL or NTSC version is chosen depending on the selected TV system).

  • 400/800: Emulation of all RAM sizes achievable with different combinations
    of the CX852 and CX853 modules - from 8 to 48 KB.

  • Emulation of 32/48KB memory sizes in the XL/XE mode, compatible
    with memory expansions for the 600XL manufactured by RC Systems.

  • Emulation of the MapRAM hardware hack.

  • Display settings: "Hue" renamed to "Tint". Tint now configurable also in
    PAL mode.

New Android port features

  • Renamed Atari800 Android port to "Colleen"

  • Implemented extended key remapping

  • Implemented the B: device (8-bit games can reach the web now)

  • Support for Xperia play keycodes added

  • Remapped dpad enter to break

  • Added paddle emulation

  • Optimized file selector, allow roaming outside of ext. storage dir

  • Added an exclusion border for paddle mode

  • Implemented state saving

  • Implemented Planetary Defense mode, a Koala Pad click-where-I-point mode

  • Natively supported UI on post-Honeycomb devices

  • Fixes for Jelly Bean (audio stuttering, keypad dialogs, soft keyboard)

  • Added new dialog for cartridge type selection

  • UI fine tuning

General Fixes

  • Bugfixes in cassette emulation - works reliably even for tape images with
    long (> 4096 B) blocks.

  • Fixes in save states - loading of save states works correctly even with an
    attached bank-switched cartridge or with an Axlon/Mosaic RAM expansion.
    Note 1: Format of the state files has changed. Old save states can still
    be opened, but newly-created ones cannot be opened in older versions of
    Note 2: Tape position is not restored on loading of save states. Do not
    save state during tape loading/saving - it won't work as expected.

  • "Disable BASIC when booting Atari" no longer emulates pressing of the
    Option key when in the 400/800 mode.

  • Fixed a bug with BASIC sometimes disabling itself when switching system
    type to 400/800

  • Minor bugfixes in file selector

  • Fixed emulation of SpartaDOS X piggyback cartridge functionality

  • "Save Screenshot" fixed - it saved an interlaced screenshot instead of a
    normal one.

  • SDL version: Swapped mapping of right and middle mouse buttons, to make it
    identical to the X11 and Win32 ports.

  • Monitor: fixed displaying/disassembling of memory area $D000-$D7FF - with
    the new supported cartridge types, code may reside on page $D5, and now it
    can be debugged.

  • SDL version: fixed a blue border when in OpenGL BGRA32 mode.

  • Minor fixes in parsing of command-line options.

  • Rewritten XEP80 emulation - now more accurate and supports switching
    between NTSC/PAL modes with correct aspect ratio. XEP80 emulation now
    requires a charset ROM image, path to which should be set in the
    XEP80_CHARSET line in the config file.

  • Fixed operating system patches not working with all official revisions of
    the OS.

  • Fixed emulation of separate ANTIC/CPU access to XE RAM when Self-Test is

  • Fixed the emulator menu sometimes being displayed incorrectly (missing
    font) when running without an OS ROM image.

  • Improved accuracy of generated colours in PAL mode.

  • Fixed emulation of the H: read operation - Turbo Basic's BLOAD now works
    on H: devices.


Unclear below this version...

bottom of page