atari800 - Man Page

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

-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|heightR|both

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

`

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:

ApplicationTypePlatformRLEPNGZMBV
YouTubeWebsiteBrowserYesYesYes
TwitterWebsiteBrowserNo[1]No[1]No[1]
FFmpegTranscoderWin/Mac/LinYesYesYes
HandbrakeTranscoderWin/Mac/LinYesYesYes
VLCPlayerWin/Mac/LinYesNo[2]Yes
Windows Media PlayerPlayerWindowsYesNoNo
Win 10 Movies & TVPlayerWindowsNoNoNo
IINAPlayerMacYesYesYes
QuickTimePlayerMacNoNoNo
Totem (Gnome Videos)PlayerLinuxNoYesYes
MPV (Celluloid)PlayerLinuxYesYesYes
MPlayerPlayerLinuxYesYesYes

       [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):

AverageEstimated recording time
Gamevideo
framemp3mp3ADPCM8-bit16-bit
size128 kbps320 kbpsaudioaudioaudio
Jumpman0.08k49 hr23 hr38 hr21 hr11 hr
Miner 2049er0.13k43 hr22 hr35 hr20 hr11 hr
Alley Cat0.37k28 hr17 hr24 hr16 hr9h 40m
Dropzone0.82k17 hr12 hr15 hr11 hr7h 55m
AtariBlast!1.2k12 hr9h 55m11 hr9h 30m6h 50m
Boulder Dash0.17k40 hr21 hr33 hr19 hr10 hr

RLE codec:

AverageEstimated recording time
Gamevideo
framemp3mp3ADPCM8-bit16-bit
size128 kbps320 kbpsaudioaudioaudio
Jumpman0.36k28 hr17 hr24 hr16 hr9h 45m
Miner 2049er0.39k27 hr17 hr24 hr15 hr9h 35m
Alley Cat1.0k14 hr11 hr13 hr10 hr7h 20m
Dropzone2.3k7h 25m6h 20m7h 05m6h 10m4h 55m
AtariBlast!6.9k2h 40m2h 30m2h 35m2h 30m2h 15m
Boulder Dash9.1k2h 00m1h 55m2h 00m1h 55m1h 45m

PNG codec (default compression level):

AverageEstimated recording time
Gamevideo
framemp3mp3ADPCM8-bit16-bit
size128 kbps320 kbpsaudioaudioaudio
Jumpman2.4k7h 05m6h 10m6h 50m5h 55m4h 45m
Miner 2049er2.2k7h 40m6h 35m7h 20m6h 20m5h 00m
Alley Cat4.1k4h 20m4h 00m4h 15m3h 55m3h 20m
Dropzone2.8k6h 10m5h 25m6h 00m5h 20m4h 20m
AtariBlast!4.4k4h 05m3h 45m4h 00m3h 40m3h 10m
Boulder Dash4.5k4h 00m3h 40m3h 55m3h 35m3h 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.

Info

2023-12-29 Atari800 5.2.0