ATARI800(1)

NAME
atari800 - emulator of Atari 8-bit computers and the 5200 console

SYNOPSIS
atari800 [option]... [file]...

DESCRIPTION
atari800 emulates the Atari 8-bit computer systems including the 400, 800, 1200XL, 600XL, 800XL, 65XE, 130XE, 800XE and the XE Game System, and also the Atari 5200 SuperSystem console.

OPTIONS

-help
    Print complete and up-to-date list of command line switches

-v  Print emulator version

-verbose
    Display framerate when exiting

-config filename
    Specify an alternative configuration filename

-autosave-config
    Automatically save the current configuration on emulator exit.

-no-autosave-config
    Don't save the current configuration on emulator exit (the default).

-osa_rom filename
    Path to file containing Atari Rev.A Operating System.

-osb_rom filename
    Path to file containing Atari Rev.B Operating System.

-xlxe_rom filename
    Path to file containing Atari XL/XE Operating System.

-5200_rom filename
    Path to file containing Atari 5200 Games System ROM.

-basic_rom filename
    Path to file containing Atari BASIC ROM. Used to override paths defined at compile time.

-800-rev auto|a-ntsc|a-pal|b-ntsc|custom|altirra
    Select operating system revision for Atari 800:

    auto
        The default. Use the most appropriate from the available ones.
    a-ntsc
        Use OS rev. A NTSC from early NTSC 400/800 units.
    a-pal
        Use OS rev. A PAL from PAL 400/800 units.
    b-ntsc
        Use OS rev. B NTSC from late NTSC 400/800 units.
    custom
        Use a custom OS.
    altirra
        Use AltirraOS that is included in the emulator.

-xl-rev auto|10|11|1|2|3a|3b|5|3|4|59|59a|custom|altirra
    Select operating system revision for Atari XL/XE:

    auto
        The default. Use the most appropriate from the available ones.
    10  Use OS AA000000 rev. 10 from early 1200XL units.
    11  Use OS AA000001 rev. 11 from late 1200XL units.
    1   Use OS BB000000 rev. 1 from the 600XL.
    2   Use OS BB000001 rev. 2 from the 800XL and early 65XE/130XE units.
    3a  Use prototype OS BB000002 rev. 3 from 1400XL/1450XLD units (also known as 1540OS3.V0 and 1450R3V0.ROM).
    3b  Use prototype OS BB000002 rev. 3 ver. 4 from 1400XL/1450XLD units (also known as os1450.128 and 1450R3VX.ROM).
    5   Use prototype OS CC000001 rev. 4 (also known as Rev. 5), for which sources are available at <http://www.atariage.com/forums/topic/78579-a800ossrc/page__view__findpost__p__961535>.
    3   Use OS BB000001 rev. 3 from late 65XE/130XE units.
    4   Use OS BB000001 rev. 4 from the XEGS.
    59  Use OS BB000001 rev. 59 from the Arabic 65XE.
    59a Use OS BB000001 rev. 59 from Kevin Savetz' Arabic 65XE: <http://www.savetz.com/vintagecomputers/arabic65xe/>.
    custom
        Use a custom OS.
    altirra
        Use AltirraOS that is included in the emulator.

-5200-rev auto|orig|a|custom|altirra
    Select BIOS revision for Atari 5200:

    auto
        The default. Use the most appropriate from the available ones.
    orig
        Use BIOS from 4-port and early 2-port 5200 units.
    a   Use BIOS rev. A from late 2-port 5200 units.
    custom
        Use a custom BIOS.
    altirra
        Use Altirra BIOS that is included in the emulator.

-basic-rev auto|a|b|c|custom|altirra
    Select BASIC revision:

    auto
        The default. Use the most appropriate from the available ones.
    a   Use BASIC rev. A.
    b   Use BASIC rev. B from early 600XL/800XL units.
    c   Use BASIC rev. C from late 600XL/800XL and all XE units.
    custom
        Use a custom BASIC.
    altirra
        Use Altirra BASIC that is included in the emulator.

-xegame-rev auto|orig|custom
    Select XEGS builtin game version:

    auto
        The default. Use the most appropriate from the available ones.
    orig
        Use the original Missile Command game.
    custom
        Use a custom game ROM.

-atari
    Emulate Atari 400/800

-1200
    Emulate Atari 1200XL

-xl Emulate Atari 800XL

-xe Emulate Atari 130XE

-320xe
    Emulate Atari 320XE (Compy-Shop)

-rambo
    Emulate Atari 320XE (Rambo)

-576xe
    Emulate Atari 576XE

-1088xe
    Emulate Atari 1088XE

-xegs
    Emulate Atari XEGS

-5200
    Emulate Atari 5200

-c  Enable RAM between 0xc000 and 0xcfff in Atari 800

-axlon n
    Use Atari 800 Axlon memory expansion: n k total RAM

-axlon0f
    Use Axlon shadow at 0x0fc0-0x0fff

-mosaic n
    Use 400/800 Mosaic memory expansion: n k total RAM

-mapram
    Enable the MapRAM memory expansion. Works only when emulating an Atari XL/XE machine.

-no-mapram
    Disable the MapRAM memory expansion.

-pal
    Emulate PAL TV mode

-ntsc
    Emulate NTSC TV mode

-nobasic
    Used to disable Basic when starting the emulator in XL/XE mode. Simulates the Option key being held down during system boot.

-basic
    Turn on Atari BASIC ROM

-cart filename
    Insert cartridge (CART or raw format)

-cart-type 0 .. 160
    Select type of the cartridge inserted with the -cart option. When inserting a raw ROM image its type cannot be detected automaticcaly, and must be provided with this option. Setting to 0 means disabling the cartridge, and any other number indicates a specific cartridge type:

    1   Standard 8 KB cartridge
    2   Standard 16 KB cartridge
    3   OSS two chip 16 KB cartridge (034M)
    4   Standard 32 KB 5200 cartridge
    5   DB 32 KB cartridge
    6   Two chip 16 KB 5200 cartridge
    7   Bounty Bob Strikes Back 40 KB 5200 cartridge
    8   64 KB Williams cartridge
    9   Express 64 KB cartridge
    10  Diamond 64 KB cartridge
    11  SpartaDOS X 64 KB cartridge
    12  XEGS 32 KB cartridge
    13  XEGS 64 KB cartridge (banks 0-7)
    14  XEGS 128 KB cartridge
    15  OSS one chip 16 KB cartridge
    16  One chip 16 KB 5200 cartridge
    17  Decoded Atrax 128 KB cartridge
    18  Bounty Bob Strikes Back 40 KB cartridge
    19  Standard 8 KB 5200 cartridge
    20  Standard 4 KB 5200 cartridge
    21  Right slot 8 KB cartridge
    22  32 KB Williams cartridge
    23  XEGS 256 KB cartridge
    24  XEGS 512 KB cartridge
    25  XEGS 1 MB cartridge
    26  MegaCart 16 KB cartridge
    27  MegaCart 32 KB cartridge
    28  MegaCart 64 KB cartridge
    29  MegaCart 128 KB cartridge
    30  MegaCart 256 KB cartridge
    31  MegaCart 512 KB cartridge
    32  MegaCart 1 MB cartridge
    33  Switchable XEGS 32 KB cartridge
    34  Switchable XEGS 64 KB cartridge
    35  Switchable XEGS 128 KB cartridge
    36  Switchable XEGS 256 KB cartridge
    37  Switchable XEGS 512 KB cartridge
    38  Switchable XEGS 1 MB cartridge
    39  Phoenix 8 KB cartridge
    40  Blizzard 16 KB cartridge
    41  Atarimax 128 KB Flash cartridge
    42  Atarimax 1 MB Flash cartridge (old)
    43  SpartaDOS X 128 KB cartridge
    44  OSS 8 KB cartridge
    45  OSS two chip 16 KB cartridge (043M)
    46  Blizzard 4 KB cartridge
    47  AST 32 KB cartridge
    48  Atrax SDX 64 KB cartridge
    49  Atrax SDX 128 KB cartridge
    50  Turbosoft 64 KB cartridge
    51  Turbosoft 128 KB cartridge
    52  Ultracart 32 KB cartridge
    53  Low bank 8 KB cartridge
    54  SIC! 128 KB cartridge
    55  SIC! 256 KB cartridge
    56  SIC! 512 KB cartridge
    57  Standard 2 KB cartridge
    58  Standard 4 KB cartridge
    59  Right slot 4 KB cartridge
    60  Blizzard 32 KB cartridge
    61  MegaMax 2 MB cartridge
    62  The!Cart 128 MB cartridge
    63  Flash MegaCart 4 MB cartridge
    64  MegaCart 2 MB cartridge
    65  The!Cart 32 MB cartridge
    66  The!Cart 64 MB cartridge
    67  XEGS 64 KB cartridge (banks 8-15)
    68  Atrax 128 KB cartridge
    69  aDawliah 32 KB cartridge
    70  aDawliah 64 KB cartridge
    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)
    76-93
        Reserved
    94  Ram-Cart 64 KB cartridge
    95  Ram-Cart 128 KB cartridge
    96  Double Ram-Cart 2x128/256 KB cartridge
    97  Ram-Cart 1 MB cartridge
    98  Ram-Cart 2 MB cartridge
    99  Ram-Cart 4 MB cartridge
    100 Ram-Cart 8 MB cartridge
    101 Ram-Cart 16 MB cartridge
    102 Ram-Cart 32 MB cartridge
    103 SiDiCar 32 KB cartridge
    104-160
        Reserved

    If this option is not given, the user will be asked to choose the cartridge type when the emulator starts.

-cart2 filename
    Insert piggyback cartridge (CART or raw format). This works only if the first cartridge is a pass-through (currently only SpartaDOS X 64KB and 128KB types).

-cart2-type 0 .. 160
    Select type of the cartridge inserted with the -cart2 option. When inserting a raw ROM image its type cannot be detected automatically, and must be provided with this option. The available values are the same as for the -cart-type option above.

-cart-autoreboot
    Automatically reboot after cartridge inserting/removing (this is the default setting). This does not apply to the piggyback cartridge - inserting or removing it never causes automatic reboot.

-no-cart-autoreboot
    Disable automatic reboot after cartridge inserting/removing.

-run filename
    Run Atari program (EXE, COM, XEX, BAS, LST)

-state filename
    Load saved-state file

-tape filename
    Attach cassette image (CAS format or raw file)

-boottape filename
    Attach cassette image and boot it

-tape-readonly
    Set the attached cassette image as read-only.

-1400
    Emulate the Atari 1400XL

-xld
    Emulate the Atari 1450XLD

-bb Emulate the CSS Black Box

-mio
    Emulate the ICD MIO board

-nopatch
    Normally the OS is patched giving very fast I/O. This options prevents the patch from being applied so that the OS accesses the serial port hardware directly. This option will probably never be needed since programs that access the serial hardware should work even if the OS has been patched.

-nopatchall
    Don't patch OS at all, H:, P: and R: devices won't work

-H1 path
    Set path for H1: device

-H2 path
    Set path for H2: device

-H3 path
    Set path for H3: device

-H4 path
    Set path for H4: device

-Hpath path
    Set path for Atari executables on the H: device

-hreadonly
    Enable read-only mode for H: device

-hreadwrite
    Disable read-only mode for H: device

-devbug
    Put debugging messages for H: and P: devices in log file

-rtime
    Enable R-Time 8 emulation

-nortime
    Disable R-Time 8 emulation

-rdevice [dev]
    Enable R: device. If dev is specified then it's used as host serial device name (e.g. /dev/ttyS0 on linux). If there is no dev specified then R: is directed to network.

-mouse off
    Do not use mouse

-mouse pad
    Emulate paddles

-mouse touch
    Emulate Atari Touch Tablet

-mouse koala
    Emulate Koala Pad

-mouse pen
    Emulate Light Pen

-mouse gun
    Emulate Light Gun

-mouse amiga
    Emulate Amiga mouse

-mouse st
    Emulate Atari ST mouse

-mouse trak
    Emulate Atari Trak-Ball

-mouse joy
    Emulate joystick using mouse

-mouseport num
    Set mouse port 1-4 (default 1)

-mousespeed num
    Set mouse speed 1-9 (default 3)

-multijoy
    Emulate MultiJoy4 interface

-directmouse
    Use mouse's absolute position

-cx85 num
    Emulate CX85 numeric keypad on port num

-grabmouse
    SDL only, prevent mouse pointer from leaving the window

-record filename
    Record all input events to filename. Can be used for gaming contests (highest score etc).

-playback filename
    Playback input events from filename. Watch an expert play the game.

-playbacknoexit
    Don't exit the emulator after playback finishes.

-refresh
    Controls screen refresh rate. A numerical value follows this option which specifies how many emulated screen updates are required before the actual screen is updated. This value effects the speed of the emulation: A higher value results in faster CPU emulation but a less frequently updated screen.

-ntsc-artif mode, -pal-artif mode
    Set emulation mode of video artifacts in NTSC or PAL, respectively. The available values for mode are:
    none
        Disable video artifacts.
    ntsc-old
        Simple emulation of NTSC composite video artifacts. Fast but inaccurate.
    ntsc-new
        Improved emulation of NTSC artifacts. May look better than ntsc-old.
    ntsc-full
        Full emulation of NTSC artifacts. Rather slow and available only in 16- and 32-bit video modes.
    pal-simple
        Simple emulation of PAL chroma blending, without composite artifacts. Fast but inaccurate.
    pal-blend
        Accurate emulation of PAL chroma blending, without composite artifacts. Available only in 16- and 32-bit video modes.

-artif mode
    Set artifacting mode 0-4 (0 = disable). Only for tv effects ntsc-old and ntsc-new.

-colors-preset standard|deep-black|vibrant
    Use one of predefined colour adjustments

-saturation n
    Set screen color saturation (like TV Colour control)

-ntsc-saturation n, -pal-saturation n
    Set saturation only for NTSC or PAL, respectively

-contrast n
    Set screen contrast (also called white level)

-ntsc-contrast n, -pal-contrast -fIn
    Set contrast only for NTSC or PAL, respectively

-brightness n
    Set screen brightness (also called black level)

-ntsc-brightness n, -pal-brightness n
    Set brightness only for NTSC or PAL, respectively

-gamma n
    Set screen gamma correction

-ntsc-gamma n, -pal-gamma n
    Set gamma adjustment only for NTSC or PAL, respectively

-tint n
    Set tint -1..1.

-ntsc-tint n, -pal-tint n
    Set tint only for NTSC or PAL, respectively

-ntsc-colordelay n
    Set GTIA color delay for NTSC system. This emulates adjusting the potentiometer existing at the bottom of Atari computers, which adjusts hues of colors produced by the computer.

-pal-colordelay n
    Set GTIA color delay for PAL system.

-paletten filename, -palettep filename
    Read Atari NTSC/PAL colors from ACT file

-paletten-adjust, -palettep-adjust
    Apply colour adjustments (brightness, contrast etc.) to the loaded NTSC/PAL palette (by default the loaded palette is displayed unmodified).

-screenshots pattern
    Set filename pattern for screenshots. Use to override the default pattern of atari###.png which produces atari000.png, atari001.png etc. filenames. Hashes are replaced with raising numbers. Existing files are overwritten only if all the files defined by the pattern exist.

-showspeed
    Show percentage of actual speed

-sound
    Enable sound

-nosound
    Disable sound

-dsprate freq
    Set sound output frequency in Hz. The default is 44100 Hz.

-stereo
    Enable stereo sound

-nostereo
    Disable stereo sound

-audio16
    Set sound output format to 16-bit

-audio8
    Set sound output format to 8-bit

-aname pattern
    Set filename pattern for audio recordings. Use to override the default pattern of atari###.wav which produces atari000.wav, atari001.wav etc. filenames. Hashes are replaced with raising numbers.

    Note that WAV format files can support all audio codecs, including MP3, but many programs assume WAV files contain only PCM audio.

    If MP3 support was enabled when compiling the emulator, and MP3 audio is selected using the -acodec mp3 option below, the default pattern will be atari###.mp3 to save in MP3 format files.

-acodec auto|pcm|mp3|mulaw|pcm_mulaw|adpcm|adpcm_ima_wav|adpcm_yahama|adpcm_ms
    Select the audio codec used when saving to AVI or WAV files. Some codecs are lossy, meaning they reduce storage space while attempting to sound as close as possible to the original audio.

    auto
        The default. Use the codec that provides the best audio quality, which is PCM.
    pcm Use uncompressed pulse-code modulated (PCM) samples. Lossless. Produces very large audio files.
    mp3 Use MP3 encoding. Lossy; only available with 16-bit audio, and provides the best possible quality of all the lossy codecs while also using the least storage space. This codec is only available if MP3 support is enabled when compiling the emulator.
    mulaw
        Use mu-law encoding. Lossy; only available with 16-bit audio, and provides 2x reduction in size from PCM samples. Comparible acoustic quality to a 192kbps MP3 file.
    pcm_mulaw
        Sames as mulaw, included to match ffmpeg codec name.
    adpcm
        Use the best adaptive dynamic pulse-code modulated (ADPCM) codec. Lossy; all ADCPM codecs provide 4x reduction in size over PCM samples. Comparible acoustic quality to a 64kbps MP3 file.
    adpcm_ima_wav
        Use the DVI IMA ADPCM algorithm. This seems to perform better on POKEY waveforms than other ADPCM algorithms and will be used when adpcm is selected.
    adpcm_yamaha
        Use the Yamaha ADPCM algorithm.
    adpcm_ms
        Use the Microsoft ADPCM algorithm.

-ab kbps
    Set the bitrate in kbps of the MP3 codec. The default is 128, and can range between 8 and 320. Higher numbers mean better quality at the cost of increased file size.

-ar freq
    Set the output sample rate in Hz of the MP3 codec. The default is the same sample rate as set by the -dsprate option. Only a limited set of choices are available: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100 and 48000. As with bitrate, higher numbers mean better quality and larger files.

-aq num
    Set the MP3 audio compression algorithm quality 0-9 (default 4). 0 means reduced quality but fast, 9 uses the slowest algorithms to try to increase quality. Does not affect storage space.

-snd-buflen ms
    Set length of the hardware sound buffer in milliseconds. Setting to 0 (the default) causes the length to be set automatically. Higher values increase sound latency. Automatic setting should be OK in most cases.

-snddelay ms
    Set sound latency in milliseconds. Increase it if you experience gaps of silence during sound playback.

-vname pattern
    Set filename pattern for video recordings. Use to override the default pattern of atari###.avi which produces atari000.avi, atari001.avi etc. filenames. Hashes are replaced with raising numbers.

-vcodec auto|rle|msrle|png|zmbv|uzmbv
    Select the video codec used to store image frames in AVI video recordings. All video codecs use lossless compression.

    auto
        The default. Use the codec that provides the best average compression ratio which is zmbv if available, otherwise rle.
    rle Use run-length encoding (RLE) for very good compression of video frames. This codec is always available.
    msrle
        Sames as rle, included to match ffmpeg codec name.
    png Use PNG image compression for moderate compression of video frames. This codec is only available if PNG support was compiled into the emulator.
    zmbv
        Use Zip Motion Blocks Video (ZMBV) for the best compression of video frames. This codec is only available if support for the zlib compression library was compiled into the emulator.
    uzmbv
        Uncompressed Zip Motion Blocks Video is only available when compiled without the zlib compression library.

-showstats
    Show elapsed recording time and file size on screen during recording of video or audio.

-no-showstats
    Don't show multimedia statistics during recording of video or audio

-keyint num
    Set the keyframe interval to one keyframe every num frames (default is 50 for PAL, 60 for NTSC). The RLE and ZMBV codecs use keyframes and inter-frames, which encode full frames and differences between frames, respectively. Inter-frames are typically much smaller than full frames, but most video players can only seek to keyframes.

-compression-level num
    Set compression level 0-9 (default 6) PNG or zlib compression used in the emulator. Zero means no compression and larger numbers correspond to higher compression and smaller image sizes, at the cost of increased time to generate the compressed image. This affects both screenshots and the video codec.

  Curses Options

-left
    Use columns 0 to 39

-central
    Use columns 20 to 59

-right
    Use columns 40 to 79

-wide1
    Use columns 0 to 79. In this mode only the even character positions are used. The odd locations are filled with spaces.

-wide2
    Use columns 0 to 79. This mode is similar to -wide1 except that the spaces are in reverse video if the previous character was also in reverse video.

  Falcon Options

-interlace x
    Generate Falcon screen only every x frame

-videl
    Direct VIDEL programming (Falcon/VGA only)

-double
    Double the screen size on NOVA

-delta
    Delta screen output (differences only)

-joyswap
    Swap joysticks

  Java NestedVM Options

-scale n
    Scale width and height by n

  SDL Options (SDL2 recommended)

-fullscreen
    Start in fullscreen mode. The default resolution is 336x240 and can be later changed.

-windowed
    Start in a window (the default).

-rotate90
    Rotate display (useful for devices with 240x320 screen).

-no-rotate90
    Don't rotate display (the default).

-fs-width number-of-pixels
    Host horizontal resolution for fullscreen.

-fs-height number-of-pixels
    Host vertical resolution for fullscreen.

-win-width number-of-pixels
    Set horizontal size of the window. The window can be later resized manually.

-win-height number-of-pixels
    Set vertical size of the window. The window can be later resized nanually.

-bpp number-of-bits
    Sets image color depth when OpenGL acceleration is disabled. Accepted values are: 0 (use desktop depth; this is the default), 8, 16 and 32. Depending on the type of graphics hardware, the fullscreen setting and current desktop bit depth, either of the values might give the best performance. Note that with bit depth set to 16 emulation of colors is slightly less accurate.

-vsync
    Synchronize the display with the monitor's vertical retrace, to remove image tearing artifacts. This improves display quality, but may be not available depending on the current wideo mode (fullscreen/windowed), the chosen SDL_VIDEODRIVER and type of graphics hardware. Synchronization is available for some SDL videodrivers (directx, dga) but not for others. In OpenGL this option has no effect - vertical synchronization must be instead enabled in the video hardware driver's settings, if available.

-no-vsync
    Disable synchronization with monitor's vertical retrace (the default).

-horiz-area narrow|tv|full|number
    Set amount of visible screen horizontally:

    narrow
        Shows 320 pixels.
    tv  The default. Shows area visible on a standard TV (336 pixels).
    full
        Shows full overscan area (384 pixels).
    number
        An exact horizontal size can be set by providing a number between 160 and 384.

-vertical-area short|tv|full|number
    Set amount of visible screen vertically:

    short
        Shows 200 pixels.
    tv  The default. Shows area visible on a typical TV (224 or 240 pixels, depending on current TV system).
    full
        Shows full overscan area, which can be up to 300 pixels in case of the XEP80.
    number
        An exact number of visible scanlines can be set by providing a number between 100 and 300.

    Note that when displaying output of an XEP80 or Austin Franklin 80 column card, the tv setting will crop the top and bottom parts of text area, just like a real TV does - in such case setting the option to full would be more appriopriate.

-horiz-shift number
    When the visible horizontal area is not set to full, this option specifies the screen's area that will be visible. Values higher than 0 will cause showing more of the right side of the screen, while values lower than 0 will cause showing more of the left side. The default is 0 (no shift). -vert-shift number Analogically to -horiz-shift: when the visible vertical area is not set to full, this option specifies the screen's area that will be visible. Values higher than 0 will cause showing more of the bottom part of the screen, while values lower than 0 will cause showing more of the top part. The default is 0 (no shift).

-stretch none|integral|full|number
    Choose method of stretching the image to fit the screen/window area:

    none
        The image won't be stretched at all.
    integral
        The default. The image will fit the screen/window but will be stretched only by an integral multiplier. This setting allows for nice output when using scanlines in low screen resolutions.
    full
        The screen will fit the entire screen/window area. This setting looks best in high screen resolutions.
    number
        A custom multiplier (floating point number) can be also provided to precisely set the amount of stretching.

-fit-screen width|height
    When -stretch is set to integral or full, this parameter controls how the stretching is performed with relation to window/screen size:

    width
        Fits the image's width while allowing it to be cropped vertically.
    height
        Fits the image's height while allowing it to be cropped horizontally.
    both
        The default. Fit both the image's width and height, avoiding cropping.

-image-aspect none|square-pixels|real
    Choose how the image's aspect ratio should be maintained when stretching:

    none
        Causes the image to be stretched without restriction to fit the screen/window area fully.
    square-pixels
        The default. Causes the image to be stretched by the same amount horizontally and vertically, maintaining square pixels. In low screen resolutions this setting may produce the nicest result.
    real
        Recreates the aspect ratio of a real TV display (pixels are not square), but only if the -host-aspect-ratio option is set correctly.

-host-aspect-ratio auto|x:y
    Set the aspect ratio of the host monitor on which the emulator's display is placed. Allowed values are auto for autodetection, or ratios like 4:3, 16:9, 1.25:1 ... This value is used to properly maintain image's aspect ratio when having -image-aspect set to real. The default value is auto. Note that host aspect ratio detection works as expected only if the desktop resolution matches aspect ratio of the display device (in other words, display pixels are square). If, for example, desktop resolution is 800x600 on a 16:9 monitor, autodetection will fail and host aspect ratio will have to be set manually, by measuring physical width and height of the monitor and setting the parameter to width:height.

-80column
    Shows output of an 80 column hardware, when it is available (the default). This parameter has effect only if an 80 column hardware is activated, using one of the parameters -af80, -proto80 or -af80.

-no-80column
    Deactivates showing output of an 80 column hardware.

-nojoystick
    Do not initialize SDL joysticks

-joy0hat
    Use hat of joystick 0 rather than the axis for joystick movement.

-joy1hat
    Use hat of joystick 1 rather than the axis for joystick movement.

-joy2hat
    Use hat of joystick 2 rather than the axis for joystick movement.

-joy3hat
    Use hat of joystick 3 rather than the axis for joystick movement.

-joy0 path-to-device
    Define path to device used in LPTjoy 0. Available on linux-ia32 only.

-joy1 path-to-device
    Define path to device used in LPTjoy 1. Available on linux-ia32 only.

-ntsc-filter-preset composite|svideo|rgb|monochrome
    Use one of predefined NTSC filter adjustments.

-ntsc-sharpness n
    Set sharpness of the NTSC filter.

-ntsc-resolution n
    Set resolution of the NTSC filter.

-ntsc-artifacts n
    Set artifacts of the NTSC filter.

-ntsc-fringing n
    Set fringing of the NTSC filter.

-ntsc-bleed n
    Set bleed of the NTSC filter.

-ntsc-burstphase n
    Set burst phase of the NTSC filter. This changes colors of artifacts. The best values are 0, 0.5, 1, 1.5.

-scanlines n
    Set visibility of scanlines (0..100). Scanlines are only visible when the screen's or window's vertical size is at least 480 (more precisely, at least twice the number of scanlines given in -vert-area).

-scanlinesint
    Enable scanlines interpolation (looks nicer).

-no-scanlinesint
    Disable scanlines interpolation (in software modes may give better performance).

-video-accel
    Use OpenGL hardware acceleration for displaying and stretching of the emulator's display. Using OpenGL improves performance.

-no-video-accel
    Don't use OpenGL hardware acceleration (the default).

-pixel-format bgr16|rgb16|bgra32|argb32
    Choose format of texture data when OpenGL acceleration is enabled. Depending on the type of the graphics hardware, either of the values might give the best performance. Note that with pixel format set to bgr16 or rgb16, emulation of colors is slightly less accurate.

-pbo
    Use Pixel Buffer Objects when OpenGL acceleration is enabled (the default). PBOs are available on newer graphics hardware and when used, substantially improve emulator's performance. However in rare cases (some Intel on-board chips) using PBOs may actually descrease perfromance.

-no-pbo
    Don't use Pixel Buffer Objects when OpenGL acceleration is used.

-bilinear-filter
    Enable bilinear filtering of the screen in OpenGL modes.

-no-bilinear-filter
    Disable bilinear filtering in OpenGL modes (the default).

-opengl-lib path
    Provide a custom OpenGL shared library. If not given, Atari800 will use a default system-specific library (typically opengl32.dll or libGL.so).

-proto80
    Emulate a prototype 80 column board for the 1090

-xep80
    Emulate the XEP80

-xep80port n
    Use XEP80 on joystick port n

-af80
    Emulate the Austin Franklin 80 column daughterboard for Atari 800.

-volume 0..100
    Sets global volume of Atari 800.

  X11 Options

-small
    Run the emulator in a small window where each Atari 800 pixel is represented by one X Window pixel

-large
    Runs the emulator in a large window where each Atari 800 pixel is represented by a 2x2 X Window rectangle. This mode is selected by default.

-huge
    Runs the emulator in a huge window where each Atari 800 pixel is represented by a 3x3 X Window rectangle.

-clip_x number-of-pixels
    Set left offset for clipping

-clip_width number-of-pixels
    Set the width of the clipping-area

-clip_y number-of-pixels
    Set top offset for clipping

-clip_height number-of-pixels
    Set the height of the clipping-area

-private_cmap
    Use private colormap

-sio
    Show SIO monitor

-x11bug
    Enable debug code in atari_x11.c

-keypad
    Keypad mode

KEYBOARD, JOYSTICK AND OTHER CONTROLLERS

F1  Built in user interface
F2  Option key
F3  Select key
F4  Start key
F5  Reset key ("warm reset")
Shift+F5
    Reboot ("cold reset")
F6  Help key (XL/XE only)
F7  Break key
F8  Enter monitor
F9  Exit emulator
F10 Save screenshot
Shift+F10
    Save interlaced screenshot
Alt+R
    Run Atari program
Alt+D
    Disk management
Alt+C
    Cartridge management
Alt+Y
    Select system
Alt+O
    Sound settings
Alt+W
    Sound recording start/stop
Alt+V
    Video recording start/stop
Alt+S
    Save state file
Alt+L
    Load state file
Alt+A
    About the emulator
Shift + Insert
    Insert line (Atari Shift+'>')
Insert
    Insert character (Atari Ctrl+'>')
Shift+Ctrl+Insert
    Shift+Ctrl+'>'
Shift + Delete
    Delete line (Atari Shift+Backspace)
Shift+Backspace
    Delete line (Atari Shift+Backspace)
Delete
    Delete character (Atari Ctrl+Backspace)
Ctrl+Backspace
    Delete character (Atari Ctrl+Backspace)
Shift+Ctrl+Delete
    Shift+Ctrl+Backspace
Shift+Ctrl+Backspace
    Shift+Ctrl+Backspace
Home
    Clear (Atari Shift+'<')
Ctrl+Home
    Ctrl+'<' (also clears screen)
Shift+Ctrl+Home
    Shift+Ctrl+'<'
~   Inverse video
Up  Up (Atari Ctrl+'-')
Down
    Down (Atari Ctrl+'=')
Left
    Left (Atari ctrl+'+')
Right
    Right (Atari ctrl+'*')
Ctrl+Up
    -
Ctrl+Down
    =
Ctrl+Left
    +
Ctrl+Right
    *
Shift+Up
    _ (Atari Shift+'-')
Shift+Down
    | (Atari Shift+'=')
Shift+Left
    (Atari Shift+'+')
Shift+Right
    ^ (Atari Shift+'*')
Shift+Ctrl+Up
    Shift+Ctrl+-
Shift+Ctrl+Down
    Shift+Ctrl+=
Ctrl+\
    Ctrl+Esc (Workaround for Windows)
Shift+Ctrl+\
    Shift+Ctrl+Esc (Workaround for Windows)

  CX85 Keypad (if enabled):
host keypad 0123456789-.
    0123456789-.
host keypad
    NO
host keypad Ctrl+/
    ESCAPE
host keypad *
    DELETE
host keypad +
    YES
host keypad Enter
    +ENTER

Paddles, Atari touch tablet, Koala pad, light pen, light gun, ST/Amiga mouse, Atari trak-ball, joystick and Atari 5200 analog controller are emulated using mouse on ports that support it. See the options above for how to enable mouse.

  Basic

No function keys or Alt+letter shortcuts. Use Ctrl+C to enter the monitor. Controllers not supported in this version.

  Curses

F10 (Save screenshot) does not work in the default CURSES_BASIC build. Shift+F5 and Shift+F10 don't work at all. Avoid Ctrl + C, H, J, M, Q, S and Z. The remaining control characters can be typed. Control characters are displayed on the screen with the associated upper case character in bold.

Controllers not supported in this version.

  Falcon

Help
    Help key (XL/XE)

Joystick 0 is operated by the numeric keypad (make sure that the numeric keypad has been enabled).

        7 8 9
         \|/
        4 5 6
         /|\
        1 2 3

        And 0 is the fire key.

Mouse not supported in this version.

  SDL (SDL2 feature set)

`   Atari/Inverse key
LSUPER
    Atari/Inverse key (unusable under Windows)
RSUPER
    CapsToggle (+Shift = CapsLock)

LAlt+F
    Switch fullscreen/windowed display.
LAlt+G
    Switch visible horizontal area. See -horiz-area.
LAlt+J
    Open Controller Configuration (joysticks, mice, paddles).
LAlt+M
    Grab mouse (prevents mouse pointer from leaving the window)

LAlt+LShift+1
    Decrease tint (also called hue)
LAlt+1
    Increase hue
LAlt+LShift+2
    Decrease saturation (like TV Colour control)
LAlt+2
    Increase saturation
LAlt+LShift+3
    Decrease contrast (also called white level)
LAlt+3
    Increase contrast
LAlt+LShift+4
    Decrease brightness (also called black level)
LAlt+4
    Increase brightness
LAlt+LShift+5
    Decrease gamma adjustment
LAlt+5
    Increase gamma adjustment
LAlt+LShift+6
    Decrease color delay (Atari color adjustment potentiometer)
LAlt+6
    Increase color delay

The following keys work only when the NTSC filter is enabled (-ntsc-artif set to ntsc-full):
    LAlt+LShift+7
        Decrease sharpness
    LAlt+7
        Increase sharpness
    LAlt+LShift+8
        Decrease resolution
    LAlt+8
        Increase resolution
    LAlt+LShift+9
        Decrease artifacts
    LAlt+9
        Increase artifacts
    LAlt+LShift+0
        Decrease fringing
    LAlt+0
        Increase fringing
    LAlt+LShift+-
        Decrease bleed
    LAlt+-
        Increase bleed
    LAlt+LShift+=
        Decrease NTSC burst phase (use this to change artifacting colours)
    LAlt+=
        Increase NTSC burst phase

LAlt+LShift+[
    Decrease scanlines visibility
LAlt+[
    Increase scanlines visibility
LAlt+]
    Toggle NTSC composite/S-Video/RGB/monochrome settings

LAlt+Shift+X
    Enable/disable output of a 80 column hardware (use with -xep80, -proto80 or -af80).

Each of the four Atari joystick ports can be independently configured in the Controller Configuration UI to use None, Keyboard 1, Keyboard 2, a host joystick (SDL), a parallel port joystick, or Paddle mode. The keys used for keyboard joystick directions and the trigger can be defined via Controller Config -> Define layout.
Note: Paddle mode, per-button remapping, analog axis configuration, diagonal zone tuning, and joystick hotplug require SDL2. SDL1 builds only support basic hat/axis joystick input.

  X11

Alt Atari key (either Alt key will work)

Joystick 0 is operated by the mouse position relative to the center of the screen. The mouse button acts as the trigger. On Linux, standard joysticks are also supported.

AUDIO RECORDING
Audio can be recorded to WAV format sound files or as the audio track of AVI format multimedia files (described in the next section). A choice of audio codecs is available, some using lossy compression to reduce file size as compared to uncompressed audio. All lossy codecs require 16 bit sample sizes using the -audio16 option.

The term "lossy" means the recorded sound is not bit-for-bit identical to the output of the emulator. Each codec provides a different method to reduce size, possibly reducing the audio quality. In practice, the audio produced by these codecs is not perceptibly worse than lossless encoding when using sample rates of 44.1kHz or 48kHz. However, the possibility exists that recompressing lossy audio (for instance by uploading to YouTube) could reduce quality.

The only lossless codec provided is the pulse-code modulation (PCM) codec, which simply stores the raw data generated by the POKEY emulation. This takes the most space of any codec, but provides the best possible audio quality. The sample size is specified by the -audio16 or -audio8 options. This is the recommended codec unless extremely long recording times are desired. See the tables in the VIDEO RECORDING section below.

The MP3 codec is the best choice of a lossy codec, as paramaters can be tuned to generate high quality audio for different situations. An audio bitrate of 128kbps (the -ab 128 option) results in high quality audio at about an 8x reduction in storage space over PCM audio. The MP3 codec is a compile-time option, and will be included automatically if the libmp3lame library is found during compilation.

The remaining lossy codecs should not be considered unless the MP3 codec is not available. In most cases they produce reasonable quality, without many audible artifacts to the casual listener. But the algorithms were originally designed for compressing speech over telephone lines and they can produce audio distortion in some instances.

The mu-law codec uses a logarithmic scale to convert 16 bit samples into 8 bits of data, resulting in half the size of 16 bit PCM audio. This codec does not work with 8 bit audio. Waveform analysis shows the acoustic quality is similar to a 192kbps MP3 file, although the MP3 is half the size. Surprisingly, in many cases the acoustic quality of mu-law can be better than 8 bit PCM samples even though it takes the same storage space.

Adaptive differential pulse-code modulation (ADPCM) encodes differences between successive 16 bit audio samples into 4 bits, therefore the output is one quarter of the size of the PCM codec. The acoustic quality is similar to a 64kbps MP3 file, although the MP3 is 3x smaller. Audio distortio may be audible under certain conditions, like high volume square waves.

VIDEO RECORDING
atari800 is capable of recording the emulated video and audio to AVI format multimedia files. A choice of lossless video codecs is available, while audio is stored with any of the lossless or lossy codecs as described above. To record without sound, specify the -nosound option.

The most efficient video codec is the Zip Motion Block Video (ZMBV) codec. This codec uses keyframes and inter-frames, and achieves its high compression because inter-frames use motion estimation when calculating differences to the previous frame. It is a compile-time option when building the emulator, and is the default if available. There is an uncompressed variant that is available when compiled without zlib; see the note below.

The Run-Length Encoding (RLE) video codec also uses keyframes and inter-frames. Its inter-frame compression is not as efficient as ZMBV, but still produces high compression in cases where only small parts of the screen change between frames. This codec is always available and is the default if compressed ZMBV is not available.

The PNG video codec has moderate compression because it uses only keyframes. It is useful in certain cases if the ZMBV codec is not available. It is a compile-time option when building the emulator.

Uncompressed ZMBV is typically inferior to RLE and PNG and is not recommended in general. There are a few limited instances (like detailed scrolling backgrounds) where uncompressed ZMBV will outperform RLE or PNG, and for that reason it is made available as the uzmbv codec when compiled without zlib. For testing purposes when compiled with zlib, uncompressed ZMBV video can be generated with the -compression-level 0 command line argument.

Video Support:
Application | Type | Platform | RLE | PNG | ZMBV
YouTube | Website | Browser | Yes | Yes | Yes
Twitter | Website | Browser | No[1] | No[1] | No[1]
FFmpeg | Transcoder | Win/Mac/Lin | Yes | Yes | Yes
Handbrake | Transcoder | Win/Mac/Lin | Yes | Yes | Yes
VLC | Player | Win/Mac/Lin | Yes | No[2] | Yes
Windows Media Player | Player | Windows | Yes | No | No
Win 10 Movies & TV | Player | Windows | No | No | No
IINA | Player | Mac | Yes | Yes | Yes
QuickTime | Player | Mac | No | No | No
Totem (Gnome Videos) | Player | Linux | No | Yes | Yes
MPV (Celluloid) | Player | Linux | Yes | Yes | Yes
MPlayer | Player | Linux | Yes | Yes | Yes

        [1] Twitter only accepts mp4 files using the h264 video
            codec and the aac audio codec. The avi files produced
            by atari800 must be transcoded with an application like
            FFmpeg or Handbrake. Videos are limited to 2 minutes and
            20 seconds.

        [2] VLC recognizes and plays PNG-encoded video, but decodes the
            video incorrectly resulting in garbled images.

Currently there is a limit of 4GB for video size. The maximum recording time for this size limit depends on many factors. Some examples can be seen in the tables below:

ZMBV codec (default compression level):
 | Average | Estimated recording time
Game | video |
 | frame | mp3 | mp3 | ADPCM | 8-bit | 16-bit
 | size | 128 kbps | 320 kbps | audio | audio | audio
Jumpman | 0.08k | 49 hr | 23 hr | 38 hr | 21 hr | 11 hr |
Miner 2049er | 0.13k | 43 hr | 22 hr | 35 hr | 20 hr | 11 hr |
Alley Cat | 0.37k | 28 hr | 17 hr | 24 hr | 16 hr | 9h 40m |
Dropzone | 0.82k | 17 hr | 12 hr | 15 hr | 11 hr | 7h 55m |
AtariBlast! | 1.2k | 12 hr | 9h 55m | 11 hr | 9h 30m | 6h 50m |
Boulder Dash | 0.17k | 40 hr | 21 hr | 33 hr | 19 hr | 10 hr |

RLE codec:
 | Average | Estimated recording time
Game | video |
 | frame | mp3 | mp3 | ADPCM | 8-bit | 16-bit
 | size | 128 kbps | 320 kbps | audio | audio | audio
Jumpman | 0.36k | 28 hr | 17 hr | 24 hr | 16 hr | 9h 45m |
Miner 2049er | 0.39k | 27 hr | 17 hr | 24 hr | 15 hr | 9h 35m |
Alley Cat | 1.0k | 14 hr | 11 hr | 13 hr | 10 hr | 7h 20m |
Dropzone | 2.3k | 7h 25m | 6h 20m | 7h 05m | 6h 10m | 4h 55m |
AtariBlast! | 6.9k | 2h 40m | 2h 30m | 2h 35m | 2h 30m | 2h 15m |
Boulder Dash | 9.1k | 2h 00m | 1h 55m | 2h 00m | 1h 55m | 1h 45m |

PNG codec (default compression level):
 | Average | Estimated recording time
Game | video |
 | frame | mp3 | mp3 | ADPCM | 8-bit | 16-bit
 | size | 128 kbps | 320 kbps | audio | audio | audio
Jumpman | 2.4k | 7h 05m | 6h 10m | 6h 50m | 5h 55m | 4h 45m |
Miner 2049er | 2.2k | 7h 40m | 6h 35m | 7h 20m | 6h 20m | 5h 00m |
Alley Cat | 4.1k | 4h 20m | 4h 00m | 4h 15m | 3h 55m | 3h 20m |
Dropzone | 2.8k | 6h 10m | 5h 25m | 6h 00m | 5h 20m | 4h 20m |
AtariBlast! | 4.4k | 4h 05m | 3h 45m | 4h 00m | 3h 40m | 3h 10m |
Boulder Dash | 4.5k | 4h 00m | 3h 40m | 3h 55m | 3h 35m | 3h 10m |

FILES

/usr/share/atari800/ATARIOSA.ROM
    Atari O/S A

/usr/share/atari800/ATARIOSB.ROM
    Atari O/S B

/usr/share/atari800/ATARIXL.ROM
    Atari 800XL O/S

/usr/share/atari800/ATARI5200.ROM
    Atari 5200 O/S

/usr/share/atari800/ATARIBAS.ROM
    Atari Basic

BUGS
See the BUGS file.