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..75
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)
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..75
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.
-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

-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
Insert
Insert line (Atari Shift+'>')
Ctrl+Insert
Insert character (Atari Ctrl+'>')
Shift+Ctrl+Insert
Shift+Ctrl+'>'
Delete
Delete line (Atari Shift+Backspace)
Shift+Backspace
Delete line (Atari Shift+Backspace)
Ctrl+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

`
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
Swap keyboard_emulated joysticks
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).
Apart from standard joysticks (handled by the SDL) up to two keyboard joysticks are supported. The keys used for joystick directions and the trigger can be freely defined in the config UI (Controller Config -> Define layout). Keyboard joystick emulation can be enabled/disabled in the Controller Config. By default, joy 0 is enabled and joy 1 is disabled (to not steal normal AWDS keys in the emulator).
 

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.