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>
61
62       --fast-forward <bool>
63              Fast-forward through the boring parts  by  running  emulator  at
64              maximum  speed.   Done by skipping frame update VBL waits. Upper
65              limit for frame skipping is given with the  --frameskips  option
66              and shown in statusbar "FS" field
67
68       --auto <program>
69              Autostarts  given program, if TOS finds it.  Program needs to be
70              given with full path it will have under emulation,  for  example
71              "C:\DIR\PROGRAM.PRG".  This  is  implemented  by providing TOS a
72              virtual INF file for the boot drive (A: or C:), which tells  TOS
73              to start the given program
74
75

Common display options

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

ST/STE specific display options

182       --desktop-st <bool>
183              NOTE:  this  has  effect  only  for  SDL1 Hatari build.  In SDL2
184              build, --desktop option controls also ST/STe mode.
185
186              Whether to use desktop resolution on fullscreen to avoid  issues
187              related  to  resolution  switching (messing multi-screen setups,
188              several seconds delay needed for resolution  switching  by  some
189              LCD   monitors   and   the  resulting  sound  break).  Otherwise
190              fullscreen will use a resolution that is closest to  the  Hatari
191              window size.
192
193              As  Hatari  ST/STe  display code doesn't support zooming (except
194              low-rez doubling) with SDL1, it doesn't get scaled (by Hatari or
195              monitor)  when this is enabled, and you may get large black bor‐
196              ders around ST/STe screen.  Therefore this is mainly useful only
197              if you suffer from the described effects, but still want to grab
198              mouse and remove other distractions from the screen just by tog‐
199              gling fullscreen mode. (disabled by default)
200
201       --spec512 <x>
202              Hatari  uses  this  threshold  to decide when to render a screen
203              with the slower but more accurate Spectrum512 screen  conversion
204              functions (0 <= x <= 512, 0=disable)
205
206       --video-timing <x>
207              Wakeup  State  for  MMU/GLUE  (x=ws1/ws2/ws3/ws4/random, default
208              ws3). When powering on, the STF  will  randomly  choose  one  of
209              these  wake  up  states.  The state will then affect the timings
210              where border removals and other video  tricks  should  be  made,
211              which  can give different results on screen. For example, WS3 is
212              known to be compatible with many demos, while WS1 can show  more
213              problems.
214
215

TT/Falcon specific display options

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

VDI options

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

Screen capture options

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

Devices options

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

Floppy drive options

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

Hard drive options

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

Memory options

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

ROM options

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

Common CPU options

460       --cpulevel <x>
461              Specify  CPU  (680x0)  to  use (use x >= 1 with EmuTOS or TOS >=
462              2.06 only!)
463
464       --cpuclock <x>
465              Set the CPU clock (8, 16 or 32 Mhz)
466
467       --compatible <bool>
468              Use a more compatible, but slower 68000  CPU  mode  with  better
469              prefetch accuracy and cycle counting
470
471

WinUAE CPU core options

473       --cpu-exact <bool>
474              Use cycle exact CPU emulation (cache emulation)
475
476       --addr24 <bool>
477              Use  24-bit instead of 32-bit addressing mode (24-bit is enabled
478              by default)
479
480       --fpu <x>
481              FPU type (x=none/68881/68882/internal)
482
483       --fpu-softfloat <bool>
484              Use full software FPU emulation (Softfloat library)
485
486       --mmu <bool>
487              Use MMU emulation
488
489

Misc system options

491       --machine <x>
492              Select machine type (x = st, megast, ste, megaste, tt or falcon)
493
494       --blitter <bool>
495              Enable blitter emulation (ST only)
496
497       --dsp <x>
498              Falcon DSP emulation (x = none, dummy or emu, Falcon only)
499
500       --timer-d <bool>
501              Patch redundantly high Timer-D frequency set by TOS.  This about
502              doubles Hatari speed (for ST/e emulation) as the original Timer-
503              D frequency causes most of the interrupts.
504
505       --fast-boot <bool>
506              Patch TOS and initialize the so-called "memvalid"  system  vari‐
507              ables  to  by-pass  the  memory  test of TOS, so that the system
508              boots faster.
509
510

Sound options

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

Debug options

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

INPUT HANDLING

655       Hatari provides special input handling for different purposes.
656
657

Emulated Atari ST joystick

659       Joystick can be emulated either with keyboard or any real joystick sup‐
660       ported  by  your  kernel  / SDL library.  First joystick button acts as
661       FIRE, second as SPACE key.
662
663

Emulated Atari ST mouse

665       Middle button mouse click is interpreted as double click, this is espe‐
666       cially useful in Fast Forward mode.
667
668       Mouse scrollwheel will act as cursor up and down keys.
669
670

Emulated Atari ST keyboard

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

Keyboard shortcuts during emulation

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

Keyboard shortcuts for the SDL GUI

774       There are multiple ways to interact with the SDL GUI.
775
776       TAB and cursor keys change focus  between  UI  elements.   Additionally
777       Home  key  moves  focus  to first item, End key to last one.  Initially
778       focus is on default  UI  element,  but  focus  changes  are  remembered
779       between  dialog  invocations.  Enter  and Space invoke focused item. UI
780       elements with underlined characters can be invoked directly with Alt  +
781       key with that character.  Alt + arrow keys will act on arrow buttons.
782
783       Most importantly:
784
785       Options GUI main view
786              Enter accepts configuration, ESC cancels it.
787
788       Options GUI dialogs
789              Enter  (or  End+Enter  if  focus was moved) returns back to main
790              view.
791
792       Fileselector
793              Page up and down keys scroll the file list.   Enter  on  focused
794              file  name  selects it.  Enter on OK button accepts the selected
795              file. ESC cancels the dialog/selection.
796
797       Alert dialogs
798              Enter accepts and ESC cancels the dialog.
799
800

SEE ALSO

802       The main program  documentation,  usually  in  /usr/share/doc/.   Among
803       other  things  it contains an extensive usage manual, software compati‐
804       bility list and release notes.
805
806       The homepage of Hatari: http://hatari.tuxfamily.org/
807
808       Other Hatari programs and utilities:
809       hmsa(1),  zip2st(1),  atari-convert-dir(1),  atari-hd-image(1),  hatar‐
810       iui(1), hconsole(1), gst2ascii(1), hatari_profile(1)
811
812

FILES AND DIRECTORIES

814       /etc/hatari.cfg (or /usr/local/etc/hatari.cfg)
815              The global configuration file of Hatari.
816
817       ~/.config/hatari/
818              The  (default)  directory  for  user's  personal  Hatari  files;
819              hatari.cfg (configuration  file),  hatari.nvram  (NVRAM  content
820              file),  hatari.sav  (Hatari  memory  state  snapshot  file which
821              Hatari  can  load/save  automatically  when  it   starts/exits),
822              hatari.prn (printer output file),
823
824       /usr/share/hatari/ (or /usr/local/share/hatari/)
825              The global data directory of Hatari.
826
827       tos.img
828              The  TOS  ROM  image  will  be loaded from the data directory of
829              Hatari unless it is specified on the command line or the config‐
830              uration file.
831
832

AUTHOR

834       This  manual  page was written by Marco Herrn <marco@mherrn.de> for the
835       Debian project and later modified by Thomas Huth and Eero  Tamminen  to
836       suit the latest version of Hatari.
837
838
839
840Hatari                            2020-11-27                         HATARI(1)
Impressum