1HATARI(1)                                                            HATARI(1)
2
3
4

NAME

6       hatari - Atari ST/STE/TT/Falcon emulator
7
8

SYNOPSIS

10       hatari [options] [directory|diskimage|program]
11
12

DESCRIPTION

14       Hatari  is  an Atari ST/STE/TT/Falcon emulator for Linux and other Sys‐
15       tems which are supported by the SDL (cross-platform graphics, input and
16       sound) library.
17
18       With  Hatari one can run games, demos or applications written for Atari
19       ST, STE or Falcon.  Atari TT support is experimental.  Hatari  supports
20       the commonly used *.st, *.msa and *.stx disk images, and hard disk emu‐
21       lation.
22
23       To run the emulator a TOS ROM image is needed. EmuTOS, a free implemen‐
24       tation of TOS is shipped with Hatari. It boots faster than original TOS
25       versions and doesn't need separate HD drivers, but  some  buggy  (typi‐
26       cally  floppy  only)  programs  won't work correctly with it.  For best
27       compatibility, it is recommended to use a TOS ROM from a real Atari.
28
29       As an argument, one can give either a name of a directory  that  should
30       be  emulated  as  a virtual GEMDOS hard disk, a floppy disk image or an
31       Atari program that should be autostarted.  In the last  case  the  pro‐
32       gram's  directory  will be used as the C: drive from where this program
33       will be started.  These shortcuts correspond to "-d  <dir>",  "--disk-a
34       <floppy image>" and "-d <dir> --auto C:<program>" options.
35
36       Booting will be done from the disk image or directory that's given last
37       on the command line, either as an option or an argument (and which cor‐
38       responds to A: or C:).
39
40

OPTIONS

42       Hatari options are split into several categories:
43
44

General options

46       -h, --help
47              Print command line options and terminate
48
49       -v, --version
50              Print version information and terminate
51
52       --confirm-quit <bool>
53              Whether Hatari confirms quitting
54
55       -c, --configfile <filename>
56              Read additional configuration values from <file>, these override
57              values read from the global and user configuration files
58
59       -k, --keymap <file>
60              Load keyboard mapping from <file>. "Symbolic"  mapping  will  be
61              used as fallback for keys not defined there
62
63       --country <x>
64              Set  EmuTOS  ROM  country  code  on Mega/ST/STe machines lacking
65              NVRAM, when EmuTOS indicates supporting multiple ones.
66
67              In 512k EmuTOS images, country code  selects  the  TOS  keyboard
68              layout  and screen refresh (US = 60Hz NTSC, 50Hz PAL otherwise).
69              In 1024k EmuTOS images (coming with Hatari binaries and support‐
70              ing multiple languages), country code selects also TOS language.
71
72              Alternatively,  one  can  use "tos-lang-change" tool from EmuTOS
73              project to modify country code in the  ROM  image  file  itself.
74              That works also for TOS v4
75
76       --layout <x>
77              Set  NVRAM  keyboard  layout value. While both TT and Falcon ma‐
78              chines have NVRAM, only TOS v4 and EmuTOS 512k / 1024k ROM  ver‐
79              sions support multiple layouts.
80
81              Regardless of whether keyboard layout change is done through the
82              ROM country code or NVRAM setting, it may impact your  key  map‐
83              pings  in  Hatari key mapping files, Hatari Python UI arguments,
84              or key injection in your automation scripts for Hatari debugger,
85              command FIFO or hconsole tool
86
87       --language <x>
88              Set NVRAM language value. While both TT and Falcon machines have
89              NVRAM, only TOS v4 and EmuTOS 1024k ROM versions support  multi‐
90              ple languages.  Default is taken from the LANG environment vari‐
91              able
92
93       --fast-forward <bool>
94              Fast-forward through the boring parts  by  running  emulator  at
95              maximum  speed.   Done by skipping frame update VBL waits. Upper
96              limit for frame skipping is given with the  --frameskips  option
97              and shown in statusbar "FS" field
98
99       --auto <program>
100              Autostarts  given program, if TOS finds it.  Program needs to be
101              given with full path it will have under emulation,  for  example
102              "C:\DIR\PROGRAM.PRG".  This  is  implemented  by providing TOS a
103              virtual INF file for the boot drive (A: or C:), which tells  TOS
104              to start the given program
105
106

Common display options

108       -m, --mono
109              Start in monochrome mode instead of color
110
111       --monitor <x>
112              Select monitor type (x = mono/rgb/vga/tv)
113
114       --tos-res <x>
115              Select  TOS  resolution for color monitors (x = low/med/high/tt‐
116              low/ttmed)
117
118       -f, --fullscreen
119              Start the emulator in fullscreen mode
120
121       -w, --window
122              Start the emulator in windowed mode
123
124       --grab Grab mouse (also) in windowed mode
125
126       --resizable <bool>
127              Allow window resizing
128
129       --borders <bool>
130              Show ST/STE/Falcon screen borders (for low/med resolution  over‐
131              scan demos)
132
133       --frameskips <x>
134              Skip  <x> frames after each displayed frame to accelerate emula‐
135              tion (0=disabled, >4 uses automatic frameskip with  given  value
136              as maximum)
137
138       --slowdown <x>
139              Slow  down  emulation by factor of x (used as multiplier for VBL
140              wait time)
141
142       --mousewarp <bool>
143              To keep host mouse better in sync with Atari mouse pointer, cen‐
144              ter it to Hatari window on cold reset and resolution changes
145
146       --statusbar <bool>
147              Show statusbar (with floppy leds etc etc)
148
149       --drive-led <bool>
150              Show overlay drive led when statusbar isn't shown
151
152       --max-width <x>
153              Preferred / maximum Hatari screen width
154
155       --max-height <x>
156              Preferred / maximum Hatari screen height.
157
158              Maximum width and height options are part of Hatari's Atari mon‐
159              itor emulation. They limit the size Hatari should  aim  for  its
160              internal  SDL framebuffer, and how much of the Atari screen bor‐
161              ders are visible.
162
163              The framebuffer is then scaled to the Hatari output window based
164              on the specified Hatari zoom factor (see below).
165
166              Aim  of this is to have all resolutions show up in approximately
167              same size, like on a real Atari monitor. Hatari's internal inte‐
168              ger  scaling support sets some limits on this, so it's an expert
169              option.
170
171              Note: Only reason to change the  defaults,  should  be  limiting
172              this  to  a smaller resolution for performance reasons, e.g. for
173              video recording, or on really underpowered systems, to make mon‐
174              itor  do  all of the ST-low resolution scaling by forcing Hatari
175              to ask SDL for CGA / QVGA resolution.
176
177       -z, --zoom <x>
178              This option overrides max width/height options so that e.g.  ST-
179              low  resolution gets always doubled, and all resolutions (except
180              TT-high) have approximately the same size, like on  a  real  CRT
181              monitor.
182
183              Zoom  factor  is  then  used  to  scale that up (or down) to the
184              Hatari output window.  This way scaling results  always  in  ap‐
185              proximately same sized Hatari window.
186
187              With  non-integer zoom factors, linear scaling is used to smooth
188              out the output, with integer zoom factors, scaling is done using
189              nearest  neighboring  pixels  for  sharper output.  This applies
190              also to window resizes.
191
192              To avoid zooming of low resolutions, use "--zoom  1  --max-width
193              416  --max-height  276" (if you don't need borders, 320x200 size
194              is enough).  Disabling low resolution doubling like this is  not
195              recommended  for Falcon emulation because TOS v4 bootup and some
196              demos switch resolutions frequently.
197
198       --bpp <bool>
199              Force internal bitdepth (x = 8/15/16/32, 0=disable)
200
201       --disable-video <bool>
202              Run emulation without displaying video (audio only)
203
204

ST/STE specific display options

206       --spec512 <x>
207              Hatari uses this threshold to decide when  to  render  a  screen
208              with  the slower but more accurate Spectrum512 screen conversion
209              functions (0 <= x <= 512, 0=disable)
210
211       --video-timing <x>
212              Wakeup State  for  MMU/GLUE  (x=ws1/ws2/ws3/ws4/random,  default
213              ws3).  When  powering  on,  the  STF will randomly choose one of
214              these wake up states. The state will  then  affect  the  timings
215              where  border  removals  and  other video tricks should be made,
216              which can give different results on screen. For example, WS3  is
217              known  to be compatible with many demos, while WS1 can show more
218              problems.
219
220

TT/Falcon specific display options

222       Zooming to sizes specified below is internally done using integer scal‐
223       ing  factors.  This  means that different Atari resolutions may show up
224       with different sizes, but they are never blurry.
225
226       --desktop <bool>
227              Whether to use desktop resolution on fullscreen to avoid  issues
228              related to resolution switching. Otherwise fullscreen will use a
229              resolution that is closest to the Hatari window size.   (enabled
230              by default)
231
232       --force-max <bool>
233              Hatari window size is forced to specified maximum size and black
234              borders used when Atari resolution doesn't scale evenly  to  it.
235              This  is  most useful when recording videos of Falcon demos that
236              change their resolution. (disabled by default)
237
238       --aspect <bool>
239              Whether to do monitor aspect ratio correction  (enabled  by  de‐
240              fault)
241
242

VDI options

244       --vdi <bool>
245              Whether  to  use VDI screen mode.  Doesn't work with TOS v4. TOS
246              v3 memory detection isn't compatible with larger VDI modes (i.e.
247              you  need  to skip the detection at boot). Original TOS desktops
248              use wrong window size in 2-plane (4 color) VDI mode when  screen
249              height  >= 400 pixels.  Because of these issues, using EmuTOS is
250              recommended for VDI mode
251
252       --vdi-planes <x>
253              Use extended VDI resolution with bit depth <x> (x = 1, 2 or 4)
254
255       --vdi-width <w>
256              Use extended VDI resolution with width <w> (320 < w <= 2048)
257
258       --vdi-height <h>
259              Use extended VDI resolution with height <h> (160 < h <= 1280)
260
261       Because TOS and popular GEM programs have problems with certain  screen
262       sizes,  Hatari  enforces restrictions on VDI screen size.  In total VDI
263       screen size is limited to 32-300kB, width to multiple of 16/planes, and
264       height  to  multiple  of  8  pixels  (smaller system font height). That
265       translates to following maximum standard resolutions for the VDI mode:
266
267       monochrome
268              FullHD (1920×1080), WUXGA (1920x1200) and QWXGA (2048x1152)
269
270       2 plane mode (4 colors)
271              HD (1280x720), WXGA (1280x768) and XGA+ (1152x864)
272
273       4 plane mode (16-colors)
274              qHD (960x540), DVGA (960x640) and WSVGA (1024x600)
275
276

Screen capture options

278       --crop <bool>
279              Remove statusbar from the screen captures
280
281       --avirecord
282              Start AVI recording.  Note: recording  will  automatically  stop
283              when emulation resolution changes.
284
285       --avi-vcodec <x>
286              Select  AVI  video  codec (x = bmp/png).  PNG compression can be
287              much slower than using the uncompressed BMP format,  but  uncom‐
288              pressed video content takes huge amount of space.
289
290       --png-level <x>
291              Select PNG compression level for AVI video (x = 0-9).  Both com‐
292              pression efficiency and speed depend on  the  compressed  screen
293              content.  Highest  compression level (9) can be really slow with
294              some content. Levels 3-6 should compress  nearly  as  well  with
295              clearly smaller CPU overhead.
296
297       --avi-fps <x>
298              Force AVI frame rate (x = 50/60/71/...)
299
300       --avi-file <file>
301              Use <file> to record AVI
302
303       --screenshot-dir <dir>
304              Save screenshots in the directory <dir>
305
306

Devices options

308       -j, --joystick <port>
309              Emulate joystick with cursor keys in given port (0-5)
310
311       --joy<port> <type>
312              Set joystick type (none/keys/real) for given port
313
314       --printer <file>
315              Enable printer support and write data to <file>
316
317       --midi <bool>
318              Whether to enable MIDI device support (when Hatari is built with
319              PortMidi support)
320
321       --midi-in <filename>
322              Enable MIDI support and write raw MIDI data to <file> (when  not
323              built with PortMidi support)
324
325       --midi-out <filename>
326              Enable MIDI support and read raw MIDI data from <file> (when not
327              built with PortMidi support)
328
329       --rs232-in <filename>
330              Enable MFP serial port support and use <file> as the  input  de‐
331              vice
332
333       --rs232-out <filename>
334              Enable  MFP serial port support and use <file> as the output de‐
335              vice
336
337       --scc-b-out <filename>
338              Enable SCC channel B serial port support and use <file> for  the
339              output (only for Mega-STE, TT and Falcon)
340
341

Floppy drive options

343       --drive-a <bool>
344              Enable/disable drive A (default is on)
345
346       --drive-b <bool>
347              Enable/disable drive B (default is on)
348
349       --drive-a-heads <x>
350              Set number of heads for drive A (1=single sided, 2=double sided)
351
352       --drive-b-heads <x>
353              Set number of heads for drive B (1=single sided, 2=double sided)
354
355       --disk-a <file>
356              Set disk image for floppy drive A
357
358       --disk-b <file>
359              Set disk image for floppy drive B
360
361       --fastfdc <bool>
362              speed up FDC emulation (can cause incompatibilities)
363
364       --protect-floppy <x>
365              Write  protect  floppy image contents (on/off/auto). With "auto"
366              option write protection is according to the disk image file  at‐
367              tributes
368
369

Hard drive options

371       -d, --harddrive <dir>
372              GEMDOS  HD emulation.  Emulate harddrive partition(s) with <dir>
373              contents.  If directory contains only single letter (C-Z) subdi‐
374              rectories,  each  of  these  subdirectories will be treated as a
375              separate partition, otherwise the given directory itself will be
376              assigned to drive "C:". In the multiple partition case, the let‐
377              ters used as the subdirectory  names  will  determine  to  which
378              drives/partitions  they  are  assigned.  If  <dir>  is  an empty
379              string, then harddrive's emulation is disabled
380
381       --protect-hd <x>
382              Write  protect  harddrive  <dir>  contents  (on/off/auto).  With
383              "auto"  option the protection can be controlled by setting indi‐
384              vidual files attributes as it disables the file attribute  modi‐
385              fications for the GEMDOS hard disk emulation
386
387       --gemdos-case <x>
388              Specify  whether  new dir/filenames are forced to be in upper or
389              lower case with the GEMDOS HD emulation. Off/upper/lower, off by
390              default
391
392       --gemdos-time <x>
393              Specify what file modification timestamps should be used, emula‐
394              tion internal (atari) ones, or ones from the machine  (host)  on
395              which  the  machine  is  running. While Atari emulation and host
396              clocks are in sync at Hatari startup, they  will  diverge  while
397              emulation  is  running, especially if you use fast forward.  De‐
398              fault is "atari".  If you modify files  accessed  by  the  Atari
399              side,  directly  from the host side while Hatari is already run‐
400              ning, you may want to use "host" option
401
402       --gemdos-conv <bool>
403              Whether GEMDOS file names with 8-bit (non-ASCII) characters  are
404              converted  between Atari and host character sets. On Linux, host
405              file name character set is assumed to be UTF-8. This  option  is
406              disabled  by  default,  in  case you have transferred files from
407              Atari machine without proper file name conversion (e.g. by  zip‐
408              ping them on Atari and unzipping on PC)
409
410       --gemdos-drive <drive>
411              Assign  (separately  specified)  GEMDOS HD to given drive letter
412              (C-Z) instead of default C:,  or  use  "skip"  to  specify  that
413              Hatari  should  add GEMDOS HD after IDE and ACSI drives (assumes
414              Hatari and native HD driver parse same number of partitions from
415              the partition tables in HD images)
416
417       --acsi <id>=<file>
418              Emulate  an  ACSI  hard disk with given BUS ID (0-7) using image
419              <file>.  If just a filename is given, it is assigned to BUS ID 0
420
421       --scsi <id>=<file>
422              Emulate a SCSI hard disk with given BUS  ID  (0-7)  using  image
423              <file>.  If just a filename is given, it is assigned to BUS ID 0
424
425       --ide-master <file>
426              Emulate an IDE 0 (master) hard disk with an image <file>
427
428       --ide-slave <file>
429              Emulate an IDE 1 (slave) hard disk with an image <file>
430
431       --ide-swap <id>=<x>
432              Set byte-swap option <x> (off/on/auto) for given IDE <id> (0/1).
433              If just option is given, it is applied to IDE 0
434
435

Memory options

437       --memstate <file>
438              Load memory snap-shot <file>
439
440       -s, --memsize <x>
441              Set amount of emulated ST RAM, x = 1 to 14 MiB,  or  0  for  512
442              KiB.   Other  values  are  considered  as  a size in KiB.  While
443              Hatari allows 14 MiB for all machine types, on real  HW,  ST/STE
444              can  have up to 4 MiB, MegaSTE/TT up to 10 MiB, and Falcon up to
445              14 MiB RAM.
446
447       -s, --ttram <x>
448              Set amount of emulated TT RAM, x = 0 to 1024 MiB (in 4MiB steps)
449
450

ROM options

452       -t, --tos <imagefile>
453              Specify TOS ROM image to use
454
455       --patch-tos <bool>
456              Use this option to  enable/disable  TOS  ROM  patching.  Experts
457              only! Leave this enabled unless you know what you are doing!
458
459       --cartridge <imagefile>
460              Use  ROM  cartridge image <file> (only works if GEMDOS HD emula‐
461              tion and extended VDI resolution are disabled)
462
463

CPU/FPU/bus options

465       --cpulevel <x>
466              Specify CPU (680x0) to use (use x >= 1 with  EmuTOS  or  TOS  >=
467              2.06 only!)
468
469       --cpuclock <x>
470              Set the CPU clock (8, 16 or 32 Mhz)
471
472       --compatible <bool>
473              Use  a more compatible 68000 CPU mode with better prefetch accu‐
474              racy and cycle counting
475
476       --cpu-exact <bool>
477              Use cycle exact CPU emulation (cache emulation)
478
479       --addr24 <bool>
480              Use 24-bit instead of 32-bit addressing mode (24-bit is  enabled
481              by default)
482
483       --fpu <x>
484              FPU type (x=none/68881/68882/internal)
485
486       --fpu-softfloat <bool>
487              Use full software FPU emulation (Softfloat library)
488
489       --mmu <bool>
490              Use MMU emulation
491
492

Misc system options

494       --machine <x>
495              Select machine type (x = st, megast, ste, megaste, tt or falcon)
496
497       --blitter <bool>
498              Enable blitter emulation (ST only)
499
500       --dsp <x>
501              Falcon DSP emulation (x = none, dummy or emu, Falcon only)
502
503       --vme <x>
504              Hatari  doesn't  have  proper  MegaSTE/TT VME emulation yet, but
505              this controls access to related SCU registers (MegaSTE/TT only).
506
507              With "dummy", (no-op) access is allowed (=VME HW), otherwise TOS
508              v2 and v3 crash on bootup on MegaSTE and TT.  Supports VME trac‐
509              ing.
510
511              With "none", register access causes errors (=no VME  HW),  which
512              is needed for Linux to boot with TT emulation until there's full
513              SCU interrupt support.  No VME tracing support.
514
515       --timer-d <bool>
516              Patch redundantly high Timer-D frequency set by TOS.   This  can
517              increase  Hatari speed significantly (especially for ST/e emula‐
518              tion) as the original Timer-D frequency causes large  amount  of
519              extra interrupts to emulate.
520
521       --fast-boot <bool>
522              Patch  TOS  and initialize the so-called "memvalid" system vari‐
523              ables to by-pass the memory test of  TOS,  so  that  the  system
524              boots faster.
525
526

Sound options

528       --mic <bool>
529              Enable/disable (Falcon only) microphone
530
531       --sound <x>
532              Sound frequency: 6000-50066. "off" disables the sound and speeds
533              up the emulation. To prevent extra  sound  artifacts,  the  fre‐
534              quency  should be selected so that it either matches evenly with
535              the STE/TT/Falcon sound DMA (6258, 12517, 250033, 50066  Hz)  or
536              your sound card frequencies (11025, 22050, 44100 or 6000...48000
537              Hz).  Check what your sound card supports.
538
539       --sound-buffer-size <x>
540              SDL's sound buffer size: 10-100, or  0  to  use  default  buffer
541              size.   By  default  Hatari uses an SDL buffer size of 1024 sam‐
542              ples, which gives approximatively 20-30 ms of sound depending on
543              the chosen sound frequency. Under some OS or with not fully sup‐
544              ported sound card, this default setting can cause a bigger delay
545              at  lower frequency (nearly 0.5 sec).  In that case, you can use
546              this option to force the size of the sound  buffer  to  a  fixed
547              number of milliseconds of sound (using 20 is often a good choice
548              if you have such problems). Most users will not  need  this  op‐
549              tion.
550
551       --sound-sync <bool>
552              The  emulation rate is nudged by +100 or 0 or -100 micro-seconds
553              on occasion.  This prevents the sound  buffer  from  overflowing
554              (long  latency  and lost samples) or underflowing (short latency
555              and repeated samples).  The emulation rate smoothly deviates  by
556              a  maximum  of 0.58% until synchronized, while the emulator con‐
557              tinuously generates every sound  sample  and  the  crystal  con‐
558              trolled sound system consumes every sample.
559              (on|off, off=default)
560
561       --ym-mixing <x>
562              Select  a  method  for mixing the three YM2149 voice volumes to‐
563              gether.  "model" uses a mathematical model  of  the  YM  voices,
564              "table"  uses a lookup table of audio output voltage values mea‐
565              sured on STF and "linear" just averages the 3 YM voices.
566
567

Debug options

569       -W, --wincon
570              Open console window (Windows only)
571
572       -D, --debug
573              Toggle whether CPU exceptions invoke the debugger
574
575       --debug-except <flags>
576              Specify which exceptions  invoke  debugger,  see  --debug-except
577              help for available (comma separated) exception flags.
578
579       --lilo <string>
580              Boot  m68k  Linux  using  kernel,  ramdisk, and kernel arguments
581              specified in  the  Hatari  configuration  file  [LILO]  section.
582              Hatari  documentation folder contains an example "lilo.cfg" con‐
583              fig file for this. String given to the --lilo option is appended
584              to the kernel command line.
585              NOTE: This is Hatari (and Linux kernel) developer option to test
586              Linux booting.  Unless you know how your kernel  is  configured,
587              and  the state of specific kernel and Hatari features, don't ex‐
588              pect m68k Linux to boot up successfully.
589
590       --bios-intercept <bool>
591              Enable/Disable XBios command parsing. XBios(11) Dbmsg  call  can
592              be  used  to invoke Hatari debugger. XBios(20) printscreen calls
593              produce also Hatari screenshots. XBios(255)  allows  Atari  pro‐
594              grams  to  use  Hatari debugger functionality, which allows e.g.
595              invoking shortcuts and Hatari command line options. Last one  is
596              deprecated  as  it  gives  too much control to emulated program,
597              please use NatFeats and remote control APIs (--natfeats,  --cmd-
598              fifo, hconsole) instead of XBios 11 and 255.
599
600       --conout <device>
601              Enable console (xconout vector functions) output redirection for
602              given <device> to host terminal.  Device 2  is  for  the  (CON:)
603              VT52  console,  which  vector function catches also EmuTOS panic
604              messages and MiNT console output, not just normal  BIOS  console
605              output.
606
607       --disasm <x>
608              Set disassembly options.  'uae' and 'ext' select the disassembly
609              engine to use, bitmask sets output options for the external dis‐
610              assembly engine and 'help' lists them.
611
612       --natfeats <bool>
613              Enable/disable  (basic)  Native Features support. EmuTOS uses it
614              for debug output, and it's supported also by the  Aranym  emula‐
615              tor.   For  more  info,  see  example  code  and  readme.txt  in
616              tests/natfeats/ coming with Hatari sources.
617
618       --trace <flags>
619              Activate debug traces, see --trace  help  for  available  (comma
620              separated) tracing flags
621
622       --trace-file <file>
623              Save trace output to <file> (default=stderr)
624
625       --parse <file>
626              Parse/execute debugger commands from <file>
627
628       --saveconfig
629              Save  Hatari configuration and exit. Hatari UI needs Hatari con‐
630              figuration file to start, this can be used to create it automat‐
631              ically.
632
633       --control-socket <path>
634              Hatari  connects  to  given local socket file and reads commands
635              from it.  Use when the control process life-time is longer  than
636              Hatari's, or control process needs response from Hatari
637
638       --cmd-fifo <path>
639              Hatari  creates  the indicated FIFO file and reads commands from
640              it.  Commands can be echoed to FIFO file, and are same  as  with
641              the  control  socket.  Hatari outputs help for unrecognized com‐
642              mands and subcommands
643
644       --log-file <file>
645              Save log output to <file> (default=stderr)
646
647       --log-level <x>
648              Log output level (x=debug/todo/info/warn/error/fatal)
649
650       --alert-level <x>
651              Show dialog for log messages above given level
652
653       --run-vbls <x>
654              Exit after X VBLs.  Often used with --benchmark option
655
656       --benchmark
657              Start in benchmark mode.  Currently same as --fast-forward mode,
658              except it can't be disabled at run-time. Allows better measuring
659              for the speed of the emulation in  frames  per  second.   Unless
660              you're specifically measuring emulator audio and screen process‐
661              ing speed, disable them (--sound off/--disable-video on) to have
662              as little OS overhead as possible
663
664

INPUT HANDLING

666       Hatari provides special input handling for different purposes.
667
668

Emulated Atari ST joystick

670       Joystick can be emulated either with keyboard or any real joystick sup‐
671       ported by your kernel / SDL library.  First  joystick  button  acts  as
672       FIRE, second as SPACE key.
673
674

Emulated Atari ST mouse

676       Middle button mouse click is interpreted as double click, this is espe‐
677       cially useful in Fast Forward mode.
678
679       Mouse scrollwheel will act as cursor up and down keys.
680
681

Emulated Atari ST keyboard

683       Keys on the keyboard act as the normal Atari ST keys so pressing  SPACE
684       on your PC will result in an emulated press of the SPACE key on the ST.
685       How the PC keys are mapped to Atari key codes, can be changed with key‐
686       board config file (-k option).
687
688       The following keys have special meanings:
689
690       Alt    will act as the ST's ALTERNATE key
691
692       left Ctrl
693              will act as the ST's CONTROL key
694
695       Print  will emulate the ST's HELP key
696
697       Scroll lock
698              will emulate the ST's UNDO key
699
700       AltGr  will act as Alternate as well as long as you do not press it to‐
701       gether with a Hatari hotkey combination.
702
703       The right Ctrl key is used as the fire button of the emulated  joystick
704       when you turn on joystick emulation via keyboard.
705
706       The  cursor keys will act as the cursor keys on the Atari ST as long as
707       joystick emulation via keyboard has been turned off.
708
709

Keyboard shortcuts during emulation

711       The shortcut keys can be configured in the configuration file.  The de‐
712       fault settings are:
713
714       AltGr + a
715              record animation
716
717       AltGr + g
718              grab a screenshot
719
720       AltGr + i
721              boss key: leave full screen mode and iconify window
722
723       AltGr + m
724              (un-)lock the mouse into the window
725
726       AltGr + r
727              warm reset the ST (same as the reset button)
728
729       AltGr + c
730              cold reset the ST (same as the power switch)
731
732       AltGr + d
733              open dialog to select/change disk A
734
735       AltGr + s
736              enable/disable sound
737
738       AltGr + q
739              quit the emulator
740
741       AltGr + x
742              toggle normal/max speed
743
744       AltGr + y
745              enable/disable sound recording
746
747       AltGr + k
748              save memory snapshot
749
750       AltGr + l
751              load memory snapshot
752
753       AltGr + j
754              toggle joystick emulation via cursor keys
755
756       AltGr + F1
757              switch joystick type on joy port 0
758
759       AltGr + F2
760              switch joystick type on joy port 1
761
762       AltGr + F3
763              switch joystick type for joypad A
764
765       AltGr + F4
766              switch joystick type for joypad B
767
768       AltGr + b
769              toggle borders on/off
770
771       AltGr + f or F11
772              toggle between fullscreen and windowed mode
773
774       AltGr + o or F12
775              activate the Hatari options GUI
776              You may need to hold SHIFT down while in windowed mode.
777
778       Pause  Pauses the emulation
779
780       AltGr + Pause
781              Invokes the internal Hatari debugger
782
783

Keyboard shortcuts for the SDL GUI

785       There are multiple ways to interact with the SDL GUI.
786
787       TAB  and  cursor  keys  change  the focus between UI elements. Home key
788       moves focus to the first dialog item, End key to the  last  one.   Ini‐
789       tially focus is on the default UI element, but focus changes are remem‐
790       bered between dialog invocations.
791
792       Enter and Space invoke the focused item, ESC  key  invokes  the  dialog
793       cancel option (if there is one).
794
795       UI  element  which  name has an underlined character can be invoked di‐
796       rectly by pressing Alt + key with that character.   Alt  +  arrow  keys
797       will act on dialog arrow buttons.
798
799       Main interactions:
800
801       Options GUI main view
802              Enter accepts configuration, ESC cancels it.
803
804       Options GUI dialogs
805              Enter  (or End + Enter if focus was moved), returns back to main
806              view.
807
808       Fileselector
809              Page up and down keys move the file  list  by  one  page,  mouse
810              wheel  and Alt + cursor keys scroll it by one item. Enter on the
811              focused file name selects it. Enter on the OK button accepts the
812              selected file. ESC cancels the dialog/selection.
813
814       Alert dialogs
815              Enter accepts and ESC cancels the dialog.
816
817

SEE ALSO

819       The  main  program  documentation,  usually  in /usr/share/doc/.  Among
820       other things it contains an extensive usage manual,  software  compati‐
821       bility list and release notes.
822
823       The homepage of Hatari: http://hatari.tuxfamily.org/
824
825       Other Hatari programs and utilities:
826       hmsa(1),  zip2st(1),  atari-convert-dir(1),  atari-hd-image(1),  hatar‐
827       iui(1), hconsole(1), gst2ascii(1), hatari_profile(1)
828
829

FILES AND DIRECTORIES

831       /etc/hatari.cfg (or /usr/local/etc/hatari.cfg)
832              The global configuration file of Hatari.
833
834       ~/.config/hatari/
835              The  (default)  directory  for  user's  personal  Hatari  files;
836              hatari.cfg  (configuration  file),  hatari.nvram  (NVRAM content
837              file), hatari.sav  (Hatari  memory  state  snapshot  file  which
838              Hatari   can  load/save  automatically  when  it  starts/exits),
839              hatari.prn (printer output file),
840
841       /usr/share/hatari/ (or /usr/local/share/hatari/)
842              The global data directory of Hatari.
843
844       tos.img
845              The TOS ROM image will be loaded  from  the  data  directory  of
846              Hatari unless it is specified on the command line or the config‐
847              uration file.
848
849

AUTHOR

851       This manual page was written by Marco Herrn <marco@mherrn.de>  for  the
852       Debian  project  and later modified by Thomas Huth and Eero Tamminen to
853       suit the latest version of Hatari.
854
855
856
857Hatari                            2020-11-27                         HATARI(1)
Impressum