Scroll to navigation

ATARI800(1) General Commands Manual 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

Print complete and up-to-date list of command line switches
Print emulator version
Display framerate when exiting
Specify an alternative configuration filename
Automatically save the current configuration on emulator exit.
Don't save the current configuration on emulator exit (the default).

Path to file containing Atari Rev.A Operating System.
Path to file containing Atari Rev.B Operating System.
Path to file containing Atari XL/XE Operating System.
-5200_rom filename
Path to file containing Atari 5200 Games System ROM.
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:

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.
Use a custom OS.
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:

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/>.
Use a custom OS.
Use AltirraOS that is included in the emulator.
-5200-rev auto|orig|a|custom|altirra
Select BIOS revision for Atari 5200:

The default. Use the most appropriate from the available ones.
Use BIOS from 4-port and early 2-port 5200 units.
Use BIOS rev. A from late 2-port 5200 units.
Use a custom BIOS.
Use Altirra BIOS that is included in the emulator.
-basic-rev auto|a|b|c|custom|altirra
Select BASIC revision:

The default. Use the most appropriate from the available ones.
Use BASIC rev. A.
Use BASIC rev. B from early 600XL/800XL units.
Use BASIC rev. C from late 600XL/800XL and all XE units.
Use a custom BASIC.
Use Altirra BASIC that is included in the emulator.
Select XEGS builtin game version:

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

Emulate Atari 400/800
-1200
Emulate Atari 1200XL
Emulate Atari 800XL
Emulate Atari 130XE
-320xe
Emulate Atari 320XE (Compy-Shop)
Emulate Atari 320XE (Rambo)
-576xe
Emulate Atari 576XE
-1088xe
Emulate Atari 1088XE
Emulate Atari XEGS
-5200
Emulate Atari 5200
Enable RAM between 0xc000 and 0xcfff in Atari 800

Use Atari 800 Axlon memory expansion: n k total RAM
Use Axlon shadow at 0x0fc0-0x0fff
Use 400/800 Mosaic memory expansion: n k total RAM
Enable the MapRAM memory expansion. Works only when emulating an Atari XL/XE machine.
Disable the MapRAM memory expansion.

Emulate PAL TV mode
Emulate NTSC TV mode

Used to disable Basic when starting the emulator in XL/XE mode. Simulates the Option key being held down during system boot.
Turn on Atari BASIC ROM

Insert cartridge (CART or raw format)
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.

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).
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.
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.
Disable automatic reboot after cartridge inserting/removing.

Run Atari program (EXE, COM, XEX, BAS, LST)
Load saved-state file
Attach cassette image (CAS format or raw file)
Attach cassette image and boot it
Set the attached cassette image as read-only.

-1400
Emulate the Atari 1400XL
Emulate the Atari 1450XLD
Emulate the CSS Black Box
Emulate the ICD MIO board

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.
Don't patch OS at all, H:, P: and R: devices won't work

Set path for H1: device
Set path for H2: device
Set path for H3: device
Set path for H4: device
Set path for Atari executables on the H: device
Enable read-only mode for H: device
Disable read-only mode for H: device
Put debugging messages for H: and P: devices in log file

Enable R-Time 8 emulation
Disable R-Time 8 emulation

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.

Do not use mouse
Emulate paddles
Emulate Atari Touch Tablet
Emulate Koala Pad
Emulate Light Pen
Emulate Light Gun
Emulate Amiga mouse
Emulate Atari ST mouse
Emulate Atari Trak-Ball
Emulate joystick using mouse
Set mouse port 1-4 (default 1)
Set mouse speed 1-9 (default 3)
Emulate MultiJoy4 interface
Use mouse's absolute position
Emulate CX85 numeric keypad on port num
SDL only, prevent mouse pointer from leaving the window

Record all input events to filename. Can be used for gaming contests (highest score etc).
Playback input events from filename. Watch an expert play the game.

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:
Disable video artifacts.
Simple emulation of NTSC composite video artifacts. Fast but inaccurate.
Improved emulation of NTSC artifacts. May look better than ntsc-old.
Full emulation of NTSC artifacts. Rather slow and available only in 16- and 32-bit video modes.
Simple emulation of PAL chroma blending, without composite artifacts. Fast but inaccurate.
Accurate emulation of PAL chroma blending, without composite artifacts. Available only in 16- and 32-bit video modes.
Set artifacting mode 0-4 (0 = disable). Only for tv effects ntsc-old and ntsc-new.

Use one of predefined colour adjustments
Set screen color saturation (like TV Colour control)
-ntsc-saturation n, -pal-saturation n
Set saturation only for NTSC or PAL, respectively
Set screen contrast (also called white level)
-ntsc-contrast n, -pal-contrast -fIn
Set contrast only for NTSC or PAL, respectively
Set screen brightness (also called black level)
-ntsc-brightness n, -pal-brightness n
Set brightness only for NTSC or PAL, respectively
Set screen gamma correction
-ntsc-gamma n, -pal-gamma n
Set gamma adjustment only for NTSC or PAL, respectively
Set tint -1..1.
-ntsc-tint n, -pal-tint n
Set tint only for NTSC or PAL, respectively
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.

Read Atari NTSC/PAL colors from ACT file
Apply colour adjustments (brightness, contrast etc.) to the loaded NTSC/PAL palette (by default the loaded palette is displayed unmodified).

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.

Show percentage of actual speed

Enable sound
Disable sound
Set sound output frequency in Hz. The default is 44100 Hz.
Enable stereo sound
Disable stereo sound
Set sound output format to 16-bit
Set sound output format to 8-bit
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.

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.

The default. Use the codec that provides the best audio quality, which is PCM.
Use uncompressed pulse-code modulated (PCM) samples. Lossless. Produces very large audio files.
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.
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.
Sames as mulaw, included to match ffmpeg codec name.
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.
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.
Use the Yamaha ADPCM algorithm.
Use the Microsoft ADPCM algorithm.
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.
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.
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.
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.
Set sound latency in milliseconds. Increase it if you experience gaps of silence during sound playback.

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.
Select the video codec used to store image frames in AVI video recordings. All video codecs use lossless compression.

The default. Use the codec that provides the best average compression ratio which is zmbv if available, otherwise rle.
Use run-length encoding (RLE) for very good compression of video frames. This codec is always available.
Sames as rle, included to match ffmpeg codec name.
Use PNG image compression for moderate compression of video frames. This codec is only available if PNG support was compiled into the emulator.
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.
Uncompressed Zip Motion Blocks Video is only available when compiled without the zlib compression library.
Show elapsed recording time and file size on screen during recording of video or audio.
Don't show multimedia statistics during recording of video or audio
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.
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

Use columns 0 to 39
Use columns 20 to 59
Use columns 40 to 79
Use columns 0 to 79. In this mode only the even character positions are used. The odd locations are filled with spaces.
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

Generate Falcon screen only every x frame
Direct VIDEL programming (Falcon/VGA only)
Double the screen size on NOVA
Delta screen output (differences only)
Swap joysticks

Java NestedVM Options

Scale width and height by n

SDL Options

Start in fullscreen mode. The default resolution is 336x240 and can be later changed.
Start in a window (the default).
Rotate display (useful for devices with 240x320 screen).
Don't rotate display (the default).
Host horizontal resolution for fullscreen.
Host vertical resolution for fullscreen.
Set horizontal size of the window. The window can be later resized manually.
Set vertical size of the window. The window can be later resized nanually.
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.
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.
Disable synchronization with monitor's vertical retrace (the default).
Set amount of visible screen horizontally:

Shows 320 pixels.
The default. Shows area visible on a standard TV (336 pixels).
Shows full overscan area (384 pixels).
An exact horizontal size can be set by providing a number between 160 and 384.
Set amount of visible screen vertically:

Shows 200 pixels.
The default. Shows area visible on a typical TV (224 or 240 pixels, depending on current TV system).
Shows full overscan area, which can be up to 300 pixels in case of the XEP80.
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.

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).
Choose method of stretching the image to fit the screen/window area:

The image won't be stretched at all.
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.
The screen will fit the entire screen/window area. This setting looks best in high screen resolutions.
A custom multiplier (floating point number) can be also provided to precisely set the amount of stretching.
When -stretch is set to integral or full, this parameter controls how the stretching is performed with relation to window/screen size:

Fits the image's width while allowing it to be cropped vertically.
Fits the image's height while allowing it to be cropped horizontally.
The default. Fit both the image's width and height, avoiding cropping.
Choose how the image's aspect ratio should be maintained when stretching:

Causes the image to be stretched without restriction to fit the screen/window area fully.
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.
Recreates the aspect ratio of a real TV display (pixels are not square), but only if the -host-aspect-ratio option is set correctly.
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.
Deactivates showing output of an 80 column hardware.

Do not initialize SDL joysticks
Use hat of joystick 0 rather than the axis for joystick movement.
Use hat of joystick 1 rather than the axis for joystick movement.
Use hat of joystick 2 rather than the axis for joystick movement.
Use hat of joystick 3 rather than the axis for joystick movement.
Define path to device used in LPTjoy 0. Available on linux-ia32 only.
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.
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).
Enable scanlines interpolation (looks nicer).
Disable scanlines interpolation (in software modes may give better performance).
Use OpenGL hardware acceleration for displaying and stretching of the emulator's display. Using OpenGL improves performance.
Don't use OpenGL hardware acceleration (the default).
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.
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.
Don't use Pixel Buffer Objects when OpenGL acceleration is used.
Enable bilinear filtering of the screen in OpenGL modes.
Disable bilinear filtering in OpenGL modes (the default).
Provide a custom OpenGL shared library. If not given, Atari800 will use a default system-specific library (typically opengl32.dll or libGL.so).
Emulate a prototype 80 column board for the 1090
Emulate the XEP80
Use XEP80 on joystick port n
Emulate the Austin Franklin 80 column daughterboard for Atari 800.
Sets global volume of Atari 800.

X11 Options

Run the emulator in a small window where each Atari 800 pixel is represented by one X Window pixel
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.
Runs the emulator in a huge window where each Atari 800 pixel is represented by a 3x3 X Window rectangle.
Set left offset for clipping
Set the width of the clipping-area
Set top offset for clipping
Set the height of the clipping-area
Use private colormap
Show SIO monitor
Enable debug code in atari_x11.c

Keypad mode

KEYBOARD, JOYSTICK AND OTHER CONTROLLERS

Built in user interface
Option key
Select key
Start key
Reset key ("warm reset")
Reboot ("cold reset")
Help key (XL/XE only)
Break key
Enter monitor
Exit emulator
Save screenshot
Save interlaced screenshot
Run Atari program
Disk management
Cartridge management
Select system
Sound settings
Sound recording start/stop
Video recording start/stop
Save state file
Load state file
About the emulator
Insert line (Atari Shift+'>')
Insert character (Atari Ctrl+'>')
Shift+Ctrl+'>'
Delete line (Atari Shift+Backspace)
Delete line (Atari Shift+Backspace)
Delete character (Atari Ctrl+Backspace)
Delete character (Atari Ctrl+Backspace)
Shift+Ctrl+Backspace
Shift+Ctrl+Backspace
Clear (Atari Shift+'<')
Ctrl+'<' (also clears screen)
Shift+Ctrl+'<'
~
Inverse video
Up (Atari Ctrl+'-')
Down (Atari Ctrl+'=')
Left (Atari ctrl+'+')
Right (Atari ctrl+'*')
-
=
+
*
_ (Atari Shift+'-')
| (Atari Shift+'=')
 (Atari Shift+'+')
^ (Atari Shift+'*')
Shift+Ctrl+-
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 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
Atari/Inverse key (unusable under Windows)
CapsToggle (+Shift = CapsLock)

Switch fullscreen/windowed display.
Switch visible horizontal area. See -horiz-area.
Swap keyboard_emulated joysticks
Grab mouse (prevents mouse pointer from leaving the window)

Decrease tint (also called hue)
Increase hue
Decrease saturation (like TV Colour control)
Increase saturation
Decrease contrast (also called white level)
Increase contrast
Decrease brightness (also called black level)
Increase brightness
Decrease gamma adjustment
Increase gamma adjustment
Decrease color delay (Atari color adjustment potentiometer)
Increase color delay

The following keys work only when the NTSC filter is enabled (-ntsc-artif set to ntsc-full):

Decrease sharpness
Increase sharpness
Decrease resolution
Increase resolution
Decrease artifacts
Increase artifacts
Decrease fringing
Increase fringing
Decrease bleed
Increase bleed
Decrease NTSC burst phase (use this to change artifacting colours)
Increase NTSC burst phase

Decrease scanlines visibility
Increase scanlines visibility
Toggle NTSC composite/S-Video/RGB/monochrome settings

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

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.

2022-05-28 Atari800 5.0.0