NAME¶
hatari - Atari ST/STE/TT/Falcon emulator
SYNOPSIS¶
hatari [options] [directory|diskimage|program]
DESCRIPTION¶
Hatari is an Atari ST/STE/TT/Falcon emulator for Linux, FreeBSD, BeOS and other
Systems which are supported by the SDL library.
With hatari one can run games, demos or applications written for Atari ST, STE
or Falcon. Atari TT support is experimental. Hatari supports the commonly used
*.st and *.msa disk images and hard disk emulation.
To run the emulator a TOS ROM image is needed. EmuTOS, a free implementation of
TOS is shipped with hatari. Since it is not yet fully compatible with the
original TOS, some programs won't run correctly with it. Because of this it is
recommended to use a TOS ROM from a real Atari.
As an argument one can give either a name of a directory that should be emulated
as a virtual GEMDOS hard disk, a floppy disk image or an Atari program that
should be autostarted. In the last case the program's directory will be used
as the C: drive from where this program will be started.
Note that autostarting a program might not work if you've also specified a
floppy image for drive A: (on command line or in config file) which contains a
desktop.inf/newdesk.inf/emutos.inf file on it.
Booting will be done from the disk image or directory that's given last on the
command line as an option or the argument (and which corresponds to A: or C:).
OPTIONS¶
Hatari options are split into several categories:
General options¶
- -h, --help
- Print command line options and terminate
- -v, --version
- Print version information and terminate
- --confirm-quit <bool>
- Whether Hatari confirms quitting
- -c, --configfile <filename>
- use the given file as configuration file instead of
~/.hatari/hatari.cfg
- -k, --keymap <file>
- load keyboard mapping from <file>
- --fast-forward <bool>
- On fast machine helps skipping (fast forwarding) Hatari
output
Common display options¶
- -m, --mono
- Start in monochrome mode instead of color
- --monitor <x>
- Select monitor type (x = mono/rgb/vga/tv)
- -f, --fullscreen
- Start the emulator in fullscreen mode
- -w, --window
- Start the emulator in window mode
- --grab
- Grab mouse (also) in window mode
- --frameskips <x>
- Skip <x> frames after each displayed frame to
accelerate emulation (0=disabled, >4 uses automatic frameskip with
given value as maximum)
- --statusbar <bool>
- Show statusbar (with floppy leds etc etc)
- --drive-led <bool>
- Show overlay drive led when statusbar isn't shown
- --bpp <bool>
- Force internal bitdepth (x = 8/15/16/32, 0=disable)
ST/STE specific display options¶
- --borders <bool>
- Show ST/STE screen borders (for low/med resolution overscan
demos)
- --desktop-st <bool>
- Whether fullscreen mode uses desktop resolution to avoid:
messing multi-screen setups, several seconds delay needed by LCD monitors
resolution switching and the resulting sound break. As Hatari ST/E display
code doesn't support zooming (except low-rez doubling), it doesn't get
scaled (by Hatari or monitor) when this is enabled. Therefore this is
mainly useful only if you suffer from the described effects, but still
want to grab mouse and remove other distractions from the screen just by
toggling fullscreen mode. (disabled by default)
- --spec512 <x>
- Hatari uses this threshold to decide when to render a
screen with the slower but more accurate Spectrum512 screen conversion
functions (0 <= x <= 512, 0=disable)
- -z, --zoom <x>
- Zoom (double) low resolution (1=no, 2=yes)
Falcon/TT specific display options¶
Zooming to sizes specified below is internally done using integer scaling
factors. This means that different Atari resolutions may show up with
different sizes, but they are never blurry.
- --desktop <bool>
- Whether to use desktop resolution on fullscreen to avoid
issues related to resolution switching. Otherwise fullscreen will use a
resolution that is closest to the Hatari window size. (enabled by
default)
- --max-width <x>
- Preferred / maximum window width
- --max-height <x>
- Preferred / maximum window height
- --force-max <bool>
- Hatari window size is forced to specified maximum size and
black borders used when Atari resolution doesn't scale evenly to it. This
is most useful when recording videos of Falcon demos that change their
resolution. (disabled by default)
- --aspect <bool>
- Whether to do monitor aspect ratio correction (enabled by
default)
VDI options¶
- --vdi <bool>
- Whether to use VDI screen mode
- --vdi-planes <x>
- Use extended VDI resolution with bit depth <x> (x =
1, 2 or 4)
- --vdi-width <w>
- Use extended VDI resolution with width <w> (320 <
w <= 1280)
- --vdi-height <h>
- Use extended VDI resolution with height <h> (200 <
h <= 960)
Screen capture options¶
- --crop <bool>
- Remove statusbar from the screen captures
- --avirecord
- Start AVI recording
- --avi-vcodec <x>
- Select avi video codec (x = bmp/png)
- --avi-fps <x>
- Force avi frame rate (x = 50/60/71/...)
- --avi-file <file>
- Use <file> to record avi
Devices options¶
- -j, --joystick <port>
- Emulate joystick with cursor keys in given port (0-5)
- --joy<port> <type>
- Set joystick type (none/keys/real) for given port
- --printer <file>
- Enable printer support and write data to <file>
- --midi-in <filename>
- Enable MIDI support and write MIDI data to
<file>
- --midi-out <filename>
- Enable MIDI support and read MIDI data from
<file>
- --rs232-in <filename>
- Enable serial port support and use <file> as the
input device
- --rs232-out <filename>
- Enable serial port support and use <file> as the
output device
Disk options¶
- --disk-a <file>
- Set disk image for floppy drive A
- --disk-b <file>
- Set disk image for floppy drive B
- --protect-floppy <x>
- Write protect floppy image contents (on/off/auto). With
"auto" option write protection is according to the disk image
file attributes.
- --protect-hd <x>
- Write protect harddrive <dir> contents (on/off/auto).
With "auto" option the protection can be controlled by setting
individual files attributes as it disables the file attribute
modifications for the GEMDOS hard disk emulation.
- -d, --harddrive <dir>
- Emulate harddrive partition(s) with <dir> contents.
If directory contains only single letter (C-Z) subdirectories, each of
these subdirectories will be treated as a separate partition, otherwise
the given directory itself will be assigned to drive "C:". In
the multiple partition case, the letters used as the subdirectory names
will determine to which drives/partitions they're assigned.
- --acsi <file>
- Emulate an ACSI hard disk with an image <file>
- --ide-master <file>
- Emulate an IDE master hard disk with an image
<file>
- --ide-slave <file>
- Emulate an IDE slave hard disk with an image
<file>
- --fastfdc <bool>
- speed up FDC emulation (can cause incompatibilities)
Memory options¶
- --memstate <file>
- Load memory snap-shot <file>
- -s, --memsize <x>
- Set amount of emulated RAM, x = 1 to 14 MiB, or 0 for 512
KiB
ROM options¶
- -t, --tos <imagefile>
- Specify TOS ROM image to use
- --patch-tos <bool>
- Use this option to enable/disable TOS ROM patching. Experts
only! Leave this enabled unless you know what you are doing!
- --cartridge <imagefile>
- Use ROM cartridge image <file> (only works if GEMDOS
HD emulation and extended VDI resolution are disabled)
CPU options¶
- --cpulevel <x>
- Specify CPU (680x0) to use (use x >= 1 with EmuTOS or
TOS >= 2.06 only!)
- --cpuclock <x>
- Set the CPU clock (8, 16 or 32 Mhz)
- --compatible <bool>
- Use a more compatible, but slower 68000 CPU mode with
better prefetch accuracy and cycle counting
Misc system options¶
- --machine <x>
- Select machine type (x = st, ste, tt or falcon)
- --blitter <bool>
- Enable blitter emulation (ST only)
- --dsp <x>
- Falcon DSP emulation (x = none, dummy or emu, Falcon
only)
- --timer-d <bool>
- Patch redundantly high Timer-D frequency set by TOS. This
about doubles Hatari speed (for ST/e emulation) as the original Timer-D
frequency causes most of the interrupts.
- --fast-boot <bool>
- Patch TOS and initialize the so-called "memvalid"
system variables to by-pass the memory test of TOS, so that the system
boots faster.
- --rtc <bool>
- Enable real-time clock
Sound options¶
- --mic <bool>
- Enable/disable (Falcon only) microphone
- --sound <x>
- Sound frequency: 6000-50066. "off" disables the
sound and speeds up the emulation. To prevent extra sound artifacts, the
frequency should be selected so that it either matches evenly with the
STE/TT/Falcon sound DMA (6258, 12517, 250033, 50066 Hz) or your sound card
frequencies (11025, 22050, 44100 or 6000...48000 Hz). Check what your
sound card supports.
- --sound-buffer-size <x>
- SDL's sound buffer size: 10-100, or 0 to use default buffer
size. By default Hatari uses an SDL buffer size of 1024 samples, which
gives approximatively 20-30 ms of sound depending on the chosen sound
frequency. Under some OS or with not fully supported sound card, this
default setting can cause a bigger delay at lower frequency (nearly 0.5
sec). In that case, you can use this option to force the size of the sound
buffer to a fixed number of milliseconds of sound (using 20 is often a
good choice if you have such problems). Most users will not need this
option.
- --sound-sync <bool>
- The emulation rate is nudged by +100 or 0 or -100
micro-seconds on occasion. This prevents the sound buffer from overflowing
(long latency and lost samples) or underflowing (short latency and
repeated samples). The emulation rate smoothly deviates by a maximum of
0.58% until synchronized, while the emulator continuously generates every
sound sample and the crystal controlled sound system consumes every
sample.
(on|off, off=default)
- --ym-mixing <x>
- Select a method for mixing the three YM2149 voice volumes
together. "model" uses a mathematical model of the YM voices,
"table" uses a lookup table of audio output voltage values
measured on STF and "linear" just averages the 3 YM voices.
Debug options¶
- -D, --debug
- Toggle whether CPU exceptions invoke the debugger
- --bios-intercept
- Toggle Bios/XBios call interception and BIOS CON: output
(e.g. EmuTOS console) redirection to host terminal. Needed for Bios/XBios
call tracing. Allows Atari programs to modify Hatari state through XBios
255 calls.
- --trace <trace1,...>
- Activate debug traces, see --trace help for
available tracing options
- --trace-file <file>
- Save trace output to <file> (default=stderr)
- --parse <file>
- Parse/execute debugger commands from <file>
- --saveconfig
- Save Hatari configuration and exit. Hatari UI needs Hatari
configuration file to start, this can be used to create it
automatically.
- --no-parachute
- Disable SDL parachute to get Hatari core dumps. SDL
parachute is enabled by default to restore video mode in case Hatari
terminates abnormally while using non-standard screen resolution.
- --control-socket <file>
- Hatari reads options from given socket at run-time
- --log-file <file>
- Save log output to <file> (default=stderr)
- --log-level <x>
- Log output level (x=debug/todo/info/warn/error/fatal)
- --alert-level <x>
- Show dialog for log messages above given level
- --run-vbls <x>
- Exit after X VBLs
COMMANDS¶
The shortcut keys can be configured in the configuration file. The default
settings are:
- AltGr + a
- record animation
- AltGr + g
- grab a screenshot
- AltGr + i
- boss key: leave full screen mode and iconify window
- AltGr + j
- activate joystick emulation via cursor keys
- AltGr + m
- (un-)lock the mouse into the window
- AltGr + r
- warm reset the ST (same as the reset button)
- AltGr + c
- cold reset the ST (same as the power switch)
- AltGr + d
- open dialog to select/change disk A
- AltGr + s
- enable/disable sound
- AltGr + q
- quit the emulator
- AltGr + x
- toggle normal/max speed
- AltGr + y
- enable/disable sound recording
- AltGr + k
- save memory snapshot
- AltGr + l
- load memory snapshot
- F11
- toggle between fullscreen and windowed mode
- F12
- activate the hatari options GUI
You may need to hold SHIFT down while in windowed mode.
- Pause
- Pauses the emulation
- AltGr + Pause
- Invokes the internal Hatari debugger
Emulated Atari ST keyboard¶
All other keys on the keyboard act as the normal Atari ST keys so pressing SPACE
on your PC will result in an emulated press of the SPACE key on the ST. The
following keys have special meanings:
- Alt
- will act as the ST's ALTERNATE key
- left Ctrl
- will act as the ST's CONTROL key
- Page Up
- will emulate the ST's HELP key
- Page Down
- will emulate the ST's UNDO key
AltGr will act as
Alternate as well as long as you do not press it
together with a Hatari hotkey combination.
The
right Ctrl key is used as the fire button of the emulated joystick
when you turn on joystick emulation via keyboard.
The cursor keys will act as the cursor keys on the Atari ST as long as joystick
emulation via keyboard has been turned off.
SEE ALSO¶
The main program documentation, usually in /usr/share/doc/. Among other things
it contains an extensive usage manual, software compatiblity list and release
notes.
The homepage of hatari:
http://hatari.tuxfamily.org/
Other Hatari programs and utilities:
hmsa(1),
zip2st(1),
atari-hd-image(1),
hatariui(1),
hconsole(1)
FILES AND DIRECTORIES¶
- /etc/hatari.cfg (or /usr/local/etc/hatari.cfg)
- The global configuration file of Hatari.
- ~/.hatari/
- The (default) directory for user's personal Hatari files;
hatari.cfg (configuration file), hatari.nvram (NVRAM content
file), hatari.sav (Hatari memory state snapshot file which Hatari
can load/save automatically when it starts/exits), hatari.prn
(printer output file), hatari.wav (recorded sound output in WAV
format), hatari.ym (recorded sound output in YM format).
- /usr/share/hatari/ (or /usr/local/share/hatari/)
- The global data directory of Hatari.
- tos.img
- The TOS ROM image will be loaded from the data directory of
Hatari unless it is specified on the command line or the configuration
file.
AUTHOR¶
This manual page was written by Marco Herrn <marco@mherrn.de> for the
Debian project and later modified by Thomas Huth and Eero Tamminen to suit the
latest version of Hatari.