|
|
1.1 root 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2: <html>
3: <head>
4: <title>Hatari User's Manual</title>
1.1.1.3 root 5: <meta name="description"
6: content="User's manual for the Atari ST emulator Hatari">
7: <meta name="author" content="Matthias Arndt <[email protected]>">
1.1 root 8: <meta name="keywords" content="hatari, documentation, manual, linux">
9: <meta name="resource-type" content="document">
10: <meta name="distribution" content="global">
1.1.1.5 root 11: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
1.1 root 12: <meta http-equiv="Content-Style-Type" content="text/css">
13: <style type="text/css">
14: <!--
1.1.1.2 root 15: body { background-color:#FFFFFF;
16: color:#000000;
1.1.1.7 ! root 17: margin-left:10px;
1.1.1.2 root 18: margin-right:10px;
19: font-family:Verdana,Arial,Helvetica,sans-serif; font-size:12pt;
20: }
1.1 root 21:
22: h1 { font-size:28pt; }
23: h2 { font-size:22pt; border-bottom:solid thin black;}
24: h3 { font-size:16pt; }
25: h4 { font-size:13pt; }
26:
27: td { font-family:Verdana,Arial,Helvetica,sans-serif; font-size:12pt; }
28:
29: a:link { color:#000099; background-color:#ffffff; text-decoration:none; }
1.1.1.7 ! root 30: a:visited { color:#cc0000; background-color:#ffffff; text-decoration:none;}
! 31: a:hover { color:#0000ff; background-color:#ffffff; text-decoration:none; }
! 32: a:active { color:#993399; background-color:#ffffff; text-decoration:none; }
1.1 root 33:
1.1.1.5 root 34: *.commandline { font-family:Fixed,Courier,monospace; font-size:11pt; }
1.1.1.2 root 35: *.file { color: #000088;}
36: *.button { color: #468E64;}
1.1.1.5 root 37: *.key { color:#550000; font-family:Fixed,Courier,monospace; font-size:11pt; }
1.1 root 38: *.backdropped { background-color:#ffffee; }
1.1.1.5 root 39: *.image {margin-left: 5px; margin-right: 5px; border-width:2px; border-style:solid; border-color:#eeeeff; padding:1cm; text-align:center; }
40: *.floatimage { clear:right; float:right; margin-left:0.5cm; border-width:2px; border-style:solid; border-color:#eeeeff; padding:0.5cm; }
1.1 root 41:
42: -->
43: </style>
44: </head>
1.1.1.5 root 45:
46: <body>
47:
1.1 root 48: <h1 align="center">Hatari User's Manual</h1>
1.1.1.5 root 49:
1.1.1.2 root 50: <p align="center">
1.1.1.7 ! root 51: Version 1.0
1.1.1.3 root 52: </p>
53: <p align="center">
1.1.1.5 root 54: Project initiator and main developer of Hatari: <strong>Thomas Huth</strong>
55: <br>
56: Manual written by: <strong>Matthias Arndt</strong>
1.1.1.2 root 57: </p>
58: <p align="center">
1.1.1.5 root 59: Hatari on the WWW: <strong><a href="http://hatari.sourceforge.net/"
60: target="_blank">http://hatari.sourceforge.net/</a></strong>
1.1.1.2 root 61: </p>
1.1 root 62:
1.1.1.5 root 63: <h2>Index</h2>
64: <ul>
65: <li><a href="#Introduction">Introduction</a>
66: <ul>
67: <li><a href="#General description">General description</a>
68: <li><a href="#Features">Features</a>
1.1.1.7 ! root 69: <li><a href="#STE hardware emulation">STE hardware emulation</a>
! 70: <li><a href="#Very experimental TT hardware emulation">Very experimental TT hardware emulation</a>
! 71: <li><a href="#Very experimental Falcon hardware emulation">Very experimental Falcon hardware emulation</a>
1.1.1.5 root 72: <li><a href="#System requirements">System requirements</a>
73: </ul>
74: <li><a href="#Compiling and running">Compiling and running</a>
75: <ul>
76: <li><a href="#Compiling Hatari">Compiling Hatari</a>
77: <li><a href="#Installation of a TOS ROM">Installation of a TOS ROM</a>
78: <li><a href="#Installation of the binary">Installation of the binary</a>
79: <li><a href="#Running Hatari for the first time">Running Hatari for the first time</a>
80: </ul>
81: <li><a href="#Command line options">Command line options</a>
82: <li><a href="#Using the emulated system">Using the emulated system</a>
83: <ul>
84: <li><a href="#The GUI">The GUI</a>
85: <ul>
86: <li><a href="#The Main Menu">The Main Menu</a>
87: <li><a href="#The System Dialog">The System Dialog</a>
88: <li><a href="#The Disks Dialog">The Disks Dialog</a>
89: <li><a href="#The Memory Dialog">The Memory Dialog</a>
90: <li><a href="#The ROM Dialog">The ROM Dialog</a>
91: <li><a href="#The Joystick Dialog">The Joystick Dialog</a>
92: <li><a href="#The Screen Dialog">The Screen Dialog</a>
93: <li><a href="#The Keyboard Dialog">The Keyboard Dialog</a>
94: <li><a href="#The Sound Dialog">The Sound Dialog</a>
95: <li><a href="#The Devices Dialog">The Devices Dialog</a>
96: </ul>
97: <li><a href="#Keyboard shortcuts">Keyboard shortcuts</a>
98: <li><a href="#Emulated Atari ST keyboard">Emulated Atari ST keyboard</a>
99: <li><a href="#Emulated mouse">Emulated mouse</a>
100: <li><a href="#Emulated joystick">Emulated joystick</a>
101: <li><a href="#Emulated video">Emulated video</a>
102: <li><a href="#Emulated printer">Emulated printer</a>
103: <li><a href="#Emulated RS232">Emulated RS232</a>
104: </ul>
105: <li><a href="#Floppy disk images">Floppy disk images</a>
106: <li><a href="#Hard disk support">Hard disk support</a>
1.1.1.6 root 107: <ul>
108: <li><a href="#ACSI hard disk emulation">ACSI hard disk emulation</a></li>
109: <li><a href="#GEMDOS based hard disk emulation">GEMDOS based hard disk emulation</a></li>
110: </ul>
1.1.1.5 root 111: <li><a href="#Appendix">Appendix</a>
112: <ul>
113: <li><a href="#Copying">Copying</a>
114: <li><a href="#Introduction to Emulation">Introduction to Emulation</a>
115: </ul>
116: </ul>
117:
118:
119: <a name="Introduction"></a><h2>Introduction</h2>
1.1 root 120:
1.1.1.5 root 121: <a name="General description"></a><h3>General description</h3>
1.1 root 122: <p>
1.1.1.7 ! root 123: Hatari is an Atari ST, STE, TT and Falcon emulator for Linux, FreeBSD, BeOS and
! 124: other Systems which are supported by the SDL library.
1.1.1.4 root 125: The emulator is open source software and is distributed under the terms of the
1.1.1.7 ! root 126: <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General
! 127: Public License (GPL)</a>.
1.1.1.4 root 128: </p>
129: <p>
1.1.1.3 root 130: The Atari ST was a 16/32 bit computer system which was first released by Atari
1.1.1.4 root 131: in 1985. Using the Motorola 68000 CPU, it was a very popular computer having
132: quite a lot of CPU power at that time. See Appendix B for details on emulation
133: in general.
1.1.1.3 root 134: </p>
135: <p>
1.1.1.4 root 136: Unlike many other Atari ST emulators which try to give you a good
137: environment for running GEM applications, Hatari tries to emulate the hardware
138: of a ST as close as possible so that it is able to run most of the old ST games
139: and demos. Of course you can run normal GEM applications with Hatari, too.
1.1.1.7 ! root 140: Recent versions of Hatari even feature basic STE, TT and Falcon emulation.
1.1 root 141: </p>
142:
1.1.1.5 root 143: <a name="Features"></a><h3>Features</h3>
1.1 root 144: <ul>
1.1.1.7 ! root 145: <li>68000 - 68040 emulation via the UAE CPU core (no PMMU support though)</li>
! 146: <li>support for all known TOS versions (including EmuTOS)</li>
! 147: <li>ST RAM size variable (from 512kiB up to 14MiB are possible)</li>
1.1.1.3 root 148: <li>optional cartridge images for the ST ROM port</li>
1.1.1.2 root 149: <li>most of the ST specific hardware</li>
1.1 root 150: <li>ST Shifter with ST-High, ST-Medium and ST-Low resolutions,
1.1.1.7 ! root 151: overscan effects for all borders in color resolutions</li>
1.1.1.6 root 152: <li>512 color ST palette</li>
1.1.1.7 ! root 153: <li>many raster effects </li>
! 154: <li>scaling of ST-low resolution by factor two</li>
! 155: <li>interleaved lines rendering of ST-medium and (scaled) ST-low
! 156: resolutions for the TV "monitor type"</li>
1.1.1.5 root 157: <li>Blitter chip emulation (not very accurate)</li>
1.1.1.2 root 158: <li>PSG YM2149 emulation (soundchip) including STFM samples</li>
159: <li>Printer emulation on GEMDOS and Hardware level (print to file)</li>
160: <li>experimental support for RS232</li>
1.1.1.7 ! root 161: <li>experimental MIDI output support (no MIDI input/through support)</li>
1.1 root 162: <li>Mega ST real time clock</li>
1.1.1.3 root 163: <li>IKBD emulation (keyboard, mouse and joystick) with custom
1.1.1.7 ! root 164: keyboard mapping</li>
1.1 root 165: <li>joystick emulation via cursor keys and joystick emulation via a
1.1.1.7 ! root 166: connected PC joystick</li>
1.1.1.3 root 167: <li>FDC emulation using floppy disk images in standard formats (*.ST,
1.1.1.7 ! root 168: *.MSA and *.DIM)</li>
1.1.1.5 root 169: <li>support for packed disk images (PkZip and Gzip)</li>
1.1.1.7 ! root 170: <li>optional write-protection for disk images</li>
1.1.1.2 root 171: <li>partial ACSI emulation for harddisk support</li>
172: <li>GEMDOS interface driver to mount a directory as a harddrive</li>
1.1.1.7 ! root 173: <li>support for memory snapshots (save whole system state)</li>
1.1.1.2 root 174: <li>driver for extended VDI resolutions</li>
175: <li>recording of sound as .WAV and .YM files</li>
176: <li>screenshots in .BMP format</li>
177: <li>animation capturing</li>
1.1.1.7 ! root 178: <li>TOS versions 1.00, 1.02, 1.04 and 2.06 can be used in ST mode.</li>
1.1 root 179: </ul>
1.1.1.5 root 180:
1.1.1.7 ! root 181: <a name="STE hardware emulation"></a>
! 182: <h4>STE hardware emulation</h4>
1.1.1.6 root 183: STE emulation is still a little bit experimental, but basically
1.1.1.7 ! root 184: there is support for most of the enhanced/additional STE features:
1.1.1.5 root 185: <ul>
186: <li>horizontal and vertical hardware fine scrolling</li>
187: <li>split screen techniques / in-screen video address manipulations</li>
1.1.1.6 root 188: <li>(STE specific) right border opening</li>
1.1.1.5 root 189: <li>4096 colors STE palette</li>
1.1.1.7 ! root 190: <li>DMA sample sound ("microwire" audio balance support missing)</li>
! 191: <li>STE joypads</li>
! 192: <li>TOS versions 1.06, 1.62, 2.05 and 2.06 can be used in STE mode.</li>
1.1.1.5 root 193: </ul>
194:
1.1.1.7 ! root 195: <a name="Very experimental TT hardware emulation"></a>
! 196: <h4>Very experimental TT hardware emulation</h4>
! 197: There is support for following additional TT features:
! 198: <ul>
! 199: <li>TT low/med/high resolution support</li>
! 200: <li>ST/TT palette switching and video shifter</li>
! 201: <li>RAM upto 14MiB (ST-RAM only, there is no support for TT-RAM yet)</li>
! 202: <li>Only TOS version 3.06 can be used in TT mode.</li>
! 203: </ul>
! 204:
! 205: <a name="Very experimental Falcon hardware emulation"></a>
! 206: <h4>Very experimental Falcon hardware emulation</h4>
! 207: There is support for following additional Falcon features:
! 208: <ul>
! 209: <li>Videl emulation for all Falcon screen modes</li>
! 210: <li>STE/Falcon palette switching and shifter</li>
! 211: <li>Mono/RGB/VGA/TV monitor types</li>
! 212: <li>Some few parts of the Falcon sound system are emulated
! 213: (e.g. the additional sample rates of the DMA sound)</li>
! 214: <li>TOS versions 4.00, 4.02, 4.04 and 4.92 can be used in Falcon mode.</li>
! 215: </ul>
! 216:
! 217: <p>DSP is not emulated, but there's a dummy mode with which some
! 218: additional demos work.
1.1 root 219: </p>
1.1.1.5 root 220:
221:
222: <a name="System requirements"></a><h3>System requirements</h3>
223:
1.1 root 224: <p> Hatari currently has the following system requirements: </p>
225: <ul>
1.1.1.7 ! root 226: <li>a fast PC (>500MHz, for Falcon and TT emulation even faster) </li>
1.1.1.3 root 227: <li>some sort of Unix (preferable <a href="http://www.linux.org/">GNU/Linux</a>)
228: </li>
1.1 root 229: <li>the SDL library (<a href="http://www.libsdl.org/">http://www.libsdl.org/</a>)</li>
1.1.1.3 root 230: <li>the zLib (<a href="http://www.gzip.org/zlib/">http://www.gzip.org/zlib/</a>)
1.1.1.5 root 231: for support of ZIP-packed disk images (*.zip and *.gz)</li>
1.1 root 232: </ul>
1.1.1.5 root 233:
234: <p>
235: Certain versions of Hatari have successfully been tested by various people on
236: the following systems:
237: </p>
1.1 root 238: <ul>
1.1.1.2 root 239: <li>Linux/i86 with Kernel 2.6.6, AMD Athlon 600MHz</li>
240: <li>Linux/i86 with Kernel 2.4.x, AMD Athlon 600MHz </li>
1.1 root 241: <li>Linux/i86 with Kernel 2.2.18, Pentium MMX 200MHz </li>
1.1.1.2 root 242: <li>Linux/PPC with Kernel 2.4.x </li>
243: <li>BeOS/i86 </li>
1.1 root 244: <li>Apple PowerMac with Mac OS X </li>
245: <li>NetBSD 1.6 </li>
1.1.1.4 root 246: <li>NetBSD on a Digital Alpha</li>
1.1.1.3 root 247: <li>FreeBSD 4.1 on an i486 computer, FreeBSD 4.8 on a Pentium 4 and
248: FreeBSD 5.1 </li>
1.1.1.2 root 249: <li>OpenBSD 3.5 </li>
1.1.1.4 root 250: <li>Solaris 8 on a SUN UltraSparc 1</li>
1.1.1.6 root 251: <li>Zaurus SL-C760 PDA</li>
1.1.1.7 ! root 252: <li>Nokia 770 and N800 Internet Tablets</li>
1.1 root 253: </ul>
1.1.1.5 root 254:
255: <a name="Compiling and running"></a><h2>Compiling and running</h2>
256:
257: <a name="Compiling Hatari"></a><h3>Compiling Hatari</h3>
258:
1.1 root 259: <p> First, you need the SDL library, you can get it at:
1.1.1.3 root 260: <a href="http://www.libsdl.org/">http://www.libsdl.org/</a>. Most
261: distributions already ship a suitable version.
262: Make sure to install the appropriate header files as well often called
263: "libsdl-dev" or the like.
264: </p>
265: <p> Second, you need the zLib compression library. You can get it from <a
266: href="http://www.gzip.org/zlib/">http://www.gzip.org/zlib/</a>
267: but the version shipped with your distribution will be sufficient in
268: most cases. Make sure to have the header files
1.1 root 269: for it installed as well.
270: </p>
271: <p>
272: Of course, you need the GNU C compiler and (GNU) Make, too!
273: </p>
1.1.1.2 root 274: <p> Change to the hatari/ directory and adapt the configuration file
275: <span class="file">Makefile.cnf</span> to suite your system.
276: Alternatively, you can use the supplied configure script to auto-detect
1.1.1.3 root 277: all parameters (type " <span class="commandline">./configure --help</span>"
278: to see the options of the script).
279: Don't forget to use some good CFLAGS for the compiler optimizations, e.g.
280: run <span class="commandline">configure</span> in the following way:
281: </p>
282: <p>
283: <kbd> CFLAGS="-O3 -fomit-frame-pointer" ./configure</kbd>
284: </p>
285: <p>
286: Then compile Hatari by typing <span class="commandline">make</span>.
287: If all
288: works fine, you'll get the executable <span class="commandline">hatari</span>
289: in the src/ subdirectory.
1.1.1.2 root 290: </p>
1.1.1.5 root 291:
292: <a name="Installation of a TOS ROM"></a><h3>Installation of a TOS ROM</h3>
293:
1.1.1.6 root 294: <p>
295: Before you can start Hatari, you have to copy a TOS ROM image to the data
296: directory (the data directory is specified
1.1.1.3 root 297: in the configuration file <span class="file">Makefile.cnf</span>) and
298: rename it to <span class="commandline">tos.img</span>, or use the
299: <span class="commandline">--tos</span> command line option to tell
300: Hatari where to find a TOS ROM.
1.1 root 301: Hatari needs a TOS ROM image because this contains the operating system
1.1.1.6 root 302: of the emulated Atari.
303: </p>
304: <p>
305: Unfortunately it is not possible to ship an original ROM
1.1.1.5 root 306: image with the Hatari package since these images are still copyrighted.
307: But you can easily create an image with a real ST and one of those various
308: ROM-image programs for the ST (search for "TOSDUMP" with your
309: favourite internet search engine). If your old ST does not work anymore, you
310: can also try to search the internet directly for corresponding TOS ROM image,
311: but don't ask the Hatari team where to get one. </p>
312: <p> Another solution is EmuTOS, which is also shipped with the official
313: release versions of Hatari. EmuTOS is an open-source TOS clone. You can find
314: it at:
315: <a href="http://emutos.sourceforge.net/">http://emutos.sourceforge.net/</a>.
316: It is not the best solution for playing games or running other old software
317: due to compatibility issues, but it's free and compatible with Hatari. </p>
1.1 root 318: <p>If you do not specify a TOS image on the commandline nor can Hatari
319: find a suitable TOS image in the default dir, you'll get the chance to
320: select a TOS image file from the GUI. </p>
1.1.1.5 root 321:
322: <a name="Installation of the binary"></a><h3>Installation of the binary</h3>
323:
1.1.1.3 root 324: <p> Type <span class="commandline">make install</span> as root to do a
325: systemwide installation. In this case it is recommended
326: to set the DATADIR variable in Makefile.cnf to a proper value. <tt>/usr/local/share/hatari</tt>
327: is a good value in that case.</p>
328: <p>The Hatari executable should now be in your PATH and accessible from
329: anywhere.</p>
1.1 root 330: <p> When you finally have got a TOS image, try starting Hatari with the
1.1.1.3 root 331: option <span class="commandline">--help</span> to find out more about
332: its command line parameters. </p>
1.1.1.5 root 333:
334: <a name="Running Hatari for the first time"></a><h3>Running Hatari for the first time</h3>
335:
1.1.1.3 root 336: <p> Now type <span class="commandline">hatari</span> to run the
337: emulator for the first time. If all goes
338: well, you should now be presented with a window showing you the
339: familiar
340: little green desktop of the Atari ST. Press <span class="key">F12</span>
341: to turn on the GUI to
342: configure Hatari to suit your needs, press <span class="key">F11</span>
343: to toggle windowed and fullscreen mode. </p>
1.1.1.5 root 344:
345: <a name="Command line options"></a><h2>Command line options</h2>
346:
1.1.1.7 ! root 347: <p>Usage:</p>
! 348: <pre>
! 349: hatari [options] [disk image name]
! 350: </pre>
! 351:
! 352: <p>The command line options are following
! 353: (the long version is in parenthesis): </p>
1.1.1.3 root 354: <table border="1" cellpadding="3">
1.1 root 355: <tbody>
1.1.1.7 ! root 356:
1.1 root 357: <tr class="backdropped">
1.1.1.7 ! root 358: <th align="center">General options</th>
! 359: <th>Description</th>
1.1 root 360: </tr>
361: <tr>
362: <td align="center">-h (--help)</td>
1.1.1.7 ! root 363: <td>Prints command line options and terminates</td>
1.1 root 364: </tr>
365: <tr>
366: <td align="center">-v (--version)</td>
1.1.1.7 ! root 367: <td>Prints version information and terminates</td>
! 368: </tr>
! 369: <tr>
! 370: <td align="center">--confirm-quit <x></td>
! 371: <td>Confirm Hatari quitting (x = y/n)</td>
! 372: </tr>
! 373: <tr>
! 374: <td align="center">-c <file><br>(--configfile <file>)</td>
! 375: <td>Use the given file as configuration file
! 376: instead of ~/.hatari/hatari.cfg</td>
! 377: </tr>
! 378:
! 379: <tr class="backdropped">
! 380: <th align="center">Display options</th>
! 381: <th>Description</th>
1.1 root 382: </tr>
383: <tr>
384: <td align="center">-m (--mono)</td>
1.1.1.7 ! root 385: <td>Starts the emulated Atari ST in monochrome
! 386: resolution (deprecated)</td>
! 387: </tr>
! 388: <tr>
! 389: <td align="center">--monitor <x></td>
! 390: <td>Select monitor type (x = mono/rgb/vga/tv)</td>
1.1 root 391: </tr>
392: <tr>
393: <td align="center">-f (--fullscreen)</td>
1.1.1.7 ! root 394: <td>Start in fullscreen mode</td>
1.1 root 395: </tr>
396: <tr>
1.1.1.3 root 397: <td align="center">--window</td>
1.1.1.7 ! root 398: <td>Forces Hatari to use a windowed mode</td>
1.1.1.3 root 399: </tr>
400: <tr>
1.1.1.7 ! root 401: <td align="center">-z <x><br>(--zoom <x>)</td>
! 402: <td>Doubles ST low resolution (1=no, 2=yes)</td>
1.1 root 403: </tr>
404: <tr>
1.1.1.7 ! root 405: <td align="center">--frameskips <x></td>
! 406: <td>Shows only every <x> frame (speeds up emulation!)</td>
1.1 root 407: </tr>
408: <tr>
1.1.1.7 ! root 409: <td align="center">--borders <bool></td>
! 410: <td>Show screen borders (for overscan demos etc.)</td>
1.1 root 411: </tr>
412: <tr>
1.1.1.7 ! root 413: <td align="center">--spec512 <x></td>
! 414: <td>Use threshold x to decide when to render a screen with the slower
! 415: but more<br> accurate Spectrum512 screen conversion functions
! 416: (0 <= x <= 512, 0=disable)</td>
1.1 root 417: </tr>
418: <tr>
1.1.1.7 ! root 419: <td align="center">--bpp <x></td>
! 420: <td>Force color bitdepth (x=8/16/32, 0=autodetection)</td>
! 421: </tr>
! 422:
! 423: <tr class="backdropped">
! 424: <th align="center">VDI options</th>
! 425: <th>Description</th>
1.1.1.2 root 426: </tr>
427: <tr>
1.1.1.7 ! root 428: <td align="center">--vdi-planes</td>
! 429: <td>Specify extended VDI resolution bit-depth, x = 1/2/4</td>
1.1 root 430: </tr>
431: <tr>
1.1.1.7 ! root 432: <td align="center">--vdi-width <w></td>
! 433: <td>Specify extended VDI resolution width
! 434: (320 < w <= 1024, multiple of 128)</td>
1.1.1.3 root 435: </tr>
436: <tr>
1.1.1.7 ! root 437: <td align="center">--vdi-height <h></td>
! 438: <td>Specify extended VDI resolution height
! 439: (200 < h <= 768, multiple of text height)</td>
! 440: </tr>
! 441:
! 442: <tr class="backdropped">
! 443: <th align="center">Device options</th>
! 444: <th>Description</th>
1.1 root 445: </tr>
446: <tr>
1.1.1.7 ! root 447: <td align="center">-j <port><br>(--joystick <port>)</td>
! 448: <td>Activates joystick emulation via cursor keys
! 449: for given joystick "port"<br>(0-5, see joystick dialog)</td>
! 450: </tr>
! 451: <tr>
! 452: <td align="center">--printer <file></td>
! 453: <td>Enable printer support and write data to the specified file</td>
! 454: </tr>
! 455: <tr>
! 456: <td align="center">--midi <file></td>
! 457: <td>Enable MIDI output and write midi data to the specified file</td>
! 458: </tr>
! 459: <tr>
! 460: <td align="center">--rs232 <file></td>
! 461: <td>Enable RS232 communication via the specified file</td>
! 462: </tr>
! 463:
! 464: <tr class="backdropped">
! 465: <th align="center">Disk options</th>
! 466: <th>Description</th>
1.1 root 467: </tr>
1.1.1.3 root 468: <tr>
1.1.1.7 ! root 469: <td align="center">-d <dir><br>(--harddrive <dir>)</td>
! 470: <td>Emulates a hard disk at the GEMDOS level
! 471: (<dir> = root directory)</td>
1.1 root 472: </tr>
473: <tr>
1.1.1.7 ! root 474: <td align="center">--acsi <imagefile></td>
! 475: <td>Emulate an ACSI hard disk with an image file</td>
1.1 root 476: </tr>
477: <tr>
1.1.1.7 ! root 478: <td align="center">--slowfdc <bool></td>
! 479: <td>Slow down FDC emulation (deprecated)</td>
! 480: </tr>
! 481:
! 482: <tr class="backdropped">
! 483: <th align="center">Memory options</th>
! 484: <th>Description</th>
1.1 root 485: </tr>
486: <tr>
1.1.1.7 ! root 487: <td align="center">-s <x><br>(--memsize <x>)</td>
! 488: <td>set amount of emulated RAM upto 14MB<br>
! 489: x=0 for 512K, x=1,x=2 or x=4 for 1, 2 or 4 MB</td>
1.1 root 490: </tr>
491: <tr>
1.1.1.7 ! root 492: <td align="center">--tos <imagefile></td>
! 493: <td>Specify TOS ROM image to use</td>
1.1 root 494: </tr>
1.1.1.3 root 495: <tr>
1.1.1.7 ! root 496: <td align="center">--cartridge <file></td>
! 497: <td>Use file as the cartridge on the ROM port.<br>
! 498: This currently does not work together with GEMDOS hard disk emulation!</td>
1.1.1.2 root 499: </tr>
500: <tr>
1.1.1.7 ! root 501: <td align="center">--memstate <file></td>
! 502: <td>Load memory snap-shot file</td>
! 503: </tr>
! 504:
! 505: <tr class="backdropped">
! 506: <th align="center">CPU options</th>
! 507: <th>Description</th>
1.1.1.2 root 508: </tr>
509: <tr>
1.1.1.7 ! root 510: <td align="center">--cpulevel <x></td>
! 511: <td>Set the CPU type (x => 680x0) —
! 512: works with EmuTOS / TOS 2.06 only!</td>
1.1.1.2 root 513: </tr>
514: <tr>
1.1.1.7 ! root 515: <td align="center">--cpuclock <x></td>
! 516: <td>Set the CPU frequency in MHz (8, 16 or 32)</td>
1.1.1.2 root 517: </tr>
1.1.1.5 root 518: <tr>
1.1.1.7 ! root 519: <td align="center">--compatible <bool></td>
! 520: <td>Use a more compatible but slower 68000 CPU mode</td>
! 521: </tr>
! 522:
! 523: <tr class="backdropped">
! 524: <th align="center">Misc system options</th>
! 525: <th>Description</th>
1.1.1.6 root 526: </tr>
527: <tr>
1.1.1.5 root 528: <td align="center">--machine <x></td>
1.1.1.7 ! root 529: <td>Select machine type (x = st/ste/tt/falcon)</td>
! 530: </tr>
! 531: <tr>
! 532: <td align="center">--blitter <bool></td>
! 533: <td>Use blitter emulation (for ST only)</td>
! 534: </tr>
! 535: <tr>
! 536: <td align="center">--dsp <x></td>
! 537: <td>Select DSP type (Falcon only, x = none/dummy(/emu))</td>
! 538: </tr>
! 539: <tr>
! 540: <td align="center">--sound <x></td>
! 541: <td>Sound quality (x = off/low/med/hi)</td>
! 542: </tr>
! 543: <tr>
! 544: <td align="center">-k <file><br>(--keymap <file>)</td>
! 545: <td>Read (additional) keyboard mapping from file</td>
! 546: </tr>
! 547:
! 548: <tr class="backdropped">
! 549: <th align="center">Debug options</th>
! 550: <th>Description</th>
! 551: </tr>
! 552: <tr>
! 553: <td align="center">-D (--debug)</td>
! 554: <td>Activates the simple builtin debugger</td>
! 555: </tr>
! 556: <tr>
! 557: <td align="center">--log <file></td>
! 558: <td>Direct log output to the specified file</td>
! 559: </tr>
! 560: <tr>
! 561: <td align="center">--trace <type1,...></td>
! 562: <td>Activate debug traces, use --trace help to see the options</td>
1.1.1.5 root 563: </tr>
1.1 root 564: </tbody>
565: </table>
1.1.1.5 root 566:
1.1.1.7 ! root 567: <p>Type <span class="commandline">hatari --help</span> to list all
! 568: the command line options supported by a given version of Hatari.</p>
! 569:
1.1.1.5 root 570: <a name="Using the emulated system"></a><h2>Using the emulated system</h2>
571:
1.1 root 572: <p> Once you've started Hatari succesfully, you can use the emulator as
573: an allmost complete Atari ST computer system. </p>
1.1.1.5 root 574:
575: <a name="The GUI"></a><h3>The GUI</h3>
576:
1.1.1.3 root 577: <p>Press <span class="key">F12</span> to enter the GUI. Navigate it
578: with the mouse.
1.1 root 579: The GUI is rather self explanatory.</p>
1.1.1.5 root 580:
581: <a name="The Main Menu"></a><h4>The Main Menu</h4>
582:
583: <div class="floatimage">
584: <img src="images/main.png" width="360" height="352" alt="Hatari's GUI - the main menu">
585: </div>
586:
587: <p>From the main menu, you can reach the other setup dialogs by clicking on
588: the appropriate buttons.</p>
589:
590: <p>You can load the current settings from a configuration file by clicking
591: on the <span class="button">Load config</span> button and you can save the
592: current settings to a configuration file with the <span class="button">Save
593: config</span> button.</p>
594:
1.1.1.3 root 595: <p>Click <span class="button">Okay</span> to go back to the emulated
1.1.1.5 root 596: ST. All changed options will be applied.</p>
1.1.1.3 root 597: <p>Check the <span class="button">Reset ST</span> option if you want
1.1.1.5 root 598: the emulated ST to perform a cold reset. This is equal to
599: switching the power off and on again on a real ST.
1.1.1.3 root 600: </p>
601: <p>Click <span class="button">Quit</span> to terminate Hatari and
602: return to the host OS.</p>
603: <p>Click <span class="button">Cancel</span> to abandon any changes
1.1.1.5 root 604: that you have made.</p>
605:
606: <a name="The System Dialog"></a><h4>The System Dialog</h4>
607:
608: <div class="floatimage">
609: <img src="images/system.png" width="360" height="368" alt="Hatari's GUI - the system dialog">
610: </div>
611:
1.1.1.7 ! root 612: <p>
! 613: First you can select the CPU type here. Here are some important hints for
! 614: choosing the correct CPU type:
! 615: </p>
! 616: <ul>
! 617: <li>
! 618: Atari ST and STE have only been shipped with a 68000 CPU, so for best
! 619: compatibility with old programs, choose this CPU type.
! 620: </li>
! 621: <li>
! 622: Atari TT and Falcon computers were using the 68030 CPU, so you should switch
! 623: either to 68020 or 68020+FPU when you want to use TT or Falcon mode.
! 624: (The 68020 and 68030 were pretty much the same apart from some minor details).
! 625: </li>
! 626: <li>
! 627: TOS 1.0x only works with 68000, while TOS 3.0x and 4.0x work only with a CPU
! 628: >= 68020.
! 629: </li>
! 630: <li>
! 631: 68010 and 68040 have never been used in official Atari computers, so don't
! 632: use these CPU types unless you've got some good reasons.
! 633: </li>
! 634: </ul>
! 635:
! 636: <p>
! 637: Beside the CPU type, you can also choose the machine type to emulate.
! 638: The ST was the very first 16/32-bit computer from Atari. Most older games
! 639: and demos require an ST. The STE was introduced some years later and had
! 640: some more advanced hardware features. There are not that many demos or
! 641: games that really require an STE but since most normal ST games/demos also
! 642: work with an STE, it's normally safe to always work in STE mode.
! 643: <br>
! 644: TT and Falcon are more advanced, but they are not as compatible to the ST as
! 645: the STE was. So many old games and demos do not work with these machine types
! 646: anymore. There were only very few programs that were made for the TT
! 647: exclusively, while there were some interesting games and demos specially made
! 648: for the Falcon.
! 649: <em>Note:</em> TT and Falcon emulation are very incomplete. They may not work
! 650: very well.
! 651: </p>
! 652: <p>
! 653: For STE emulation a STE compatible TOS image, e.q. version 1.06, 1.62 or
! 654: 2.x, is strongly recommended. For TT emulation you need TOS 3.0x and for Falcon
! 655: emulation you need TOS 4.0x. EmuTOS can be used on all machine types.
! 656: </p>
! 657: <p>
! 658: Select the CPU clock you want to use. 8Mhz is ST standard and the most
! 659: compatible. Use 16MHz for Mega STE and Falcon emulation.
! 660: The CPU in the TT was clocked with 32 MHz.
! 661: </p>
1.1.1.5 root 662: <p>With the "Slower but more compatible CPU" option, you can enable
663: the emulation of 68k address errors and the CPU prefetch buffer. This is needed
664: for best compatibility, but it slows down emulation a little bit so you can
665: disable it if you don't need it.</p>
666: <p>You can also enable/disable Blitter emulation here. The Blitter is a custom
667: chip that accelerates some graphical operations. This switch only toggles the
668: Blitter in plain ST mode. In STE mode, the Blitter is always enabled (since all
669: STEs have been sold with a Blitter chip).</p>
670: <p>If you enable the "Real time clock emulation" switch, a RTC will
671: be emulated based on the time of the host computer. Note that you need at least
672: TOS 1.02 for proper RTC emulation, TOS 1.00 does not support this.</p>
673: <p>The Timer-D patch changes the Timer-D initialization from TOS. TOS uses
674: the MFP timer D as a baudrate generator for RS232. However, the TOS default
675: value slows down the emulation. The patch gives you a better performance.
1.1.1.7 ! root 676: It is normally safe to enable the patch, but if you encounter a program that
1.1.1.5 root 677: does not work, you can try to disable the patch to see if it works then.</p>
678: <p>Select if you want to use slow FDC emulation. Slow is more compatible esp.
679: with games and demos that use custom loaders.</p>
1.1.1.3 root 680: <p><em>NOTE:</em> These parameters are very sensitive to the emulated
681: ST and it is strongly recommended to
1.1 root 682: reset the emulated ST after changing these options.</p>
1.1.1.5 root 683:
684: <a name="The Disks Dialog"></a><h4>The Disks Dialog</h4>
685:
686: <div class="image" align="center">
687: <img src="images/discs.png" width="768" height="534" alt="Hatari's GUI - the disks dialog">
688: </div>
689:
1.1.1.3 root 690: <p>Use the upper dialog to choose which floppy disks should be emulated
691: in the disk drives.</p>
1.1.1.5 root 692:
1.1.1.3 root 693: <p>You can use most standard Atari ST disk image files. See the chapter
694: "Floppy disk images"
1.1 root 695: for details.</p>
1.1.1.3 root 696: <p>Click on the button <span class="button">Browse</span> next to the
697: A: and B: option to go to the fileselector.
1.1.1.2 root 698: You may select and browse zipped disk images as well.</p>
1.1.1.5 root 699:
700: <p>
701: The fileselector looks like this:
702: </p>
703:
704: <div class="image" align="center">
705: <img src="images/fileselector.png" width="640" height="400" alt="Hatari's GUI - the fileselector">
706: </div>
707:
1.1.1.3 root 708: <p>Click on <span class="button">Eject</span> to eject a disk image
709: from the emulated drive. The emulated ST will act as if had no floppy
710: disk in its drive.</p>
711: <p>You can specify a default directory where Hatari will start to
712: browse the filesystem.</p>
1.1.1.2 root 713: <p>
1.1.1.6 root 714: Check the "Auto insert B" option if you want Hatari to be smart and
715: insert the second disk of a two disk game automatically.
716: Some games then use the second drive automatically.
717: In the case that a game is not able to find the disk in the second drive,
718: you have to insert the second disk in drive A: manually when prompted.
719: <br>
720: <em>NOTE:</em> This option only works properly if the file name of the
721: first disks ends with an 'a' before the extension and the second disk name
722: ends with a 'b'.
1.1.1.2 root 723: </p>
1.1.1.3 root 724: <p>If you need to create a new blank disk image, click on <span
725: class="button">Create disk image</span>.
726: Parameters for the new image can be set in the following dialog. Click
727: on <span class="create">create</span> to create the image or on <span
728: class="button">back</span> to get back to the
1.1.1.2 root 729: disk dialog.
730: </p>
731: <p>
1.1.1.3 root 732: After clicking <span class="button">create</span>, a fileselector
733: appears. You can browse the filesystem now. Select the target
734: directory, click beside File:
735: and type in a name for the new disk image. The name should terminate
736: with .st or .msa.
1.1.1.2 root 737: </p>
1.1.1.3 root 738: <p>Hatari can currently create plain .ST and .MSA disk images
739: exclusively.</p>
1.1.1.4 root 740: <p>You can choose if you want Hatari to writeprotect your disks. Atari ST virii can spread on disk images too so it is ok to
741: enable the write protection option. However you can't save highscores or games to your disk images then.</p>
1.1.1.2 root 742: <p>Use the lower dialog to change the harddisk settings.</p>
1.1.1.3 root 743: <p>You can select a harddrive image for harddrive emulation via image
744: file here or you may select
745: a directory of your local filesystem to be emulated as the ST's
746: harddrive.</p>
747: <p>Check "Boot from HD" if you want Hatari to execute the AUTO folder
748: on the harddrive.
749: This option is checked by default if you specify a harddrive image or a
750: directory via the command line.</p>
1.1.1.5 root 751:
752: <a name="The Memory Dialog"></a><h4>The Memory Dialog</h4>
753:
754: <div class="image" align="center">
755: <img src="images/memory.png" width="768" height="534" alt="Hatari's GUI - the memory dialog">
756: </div>
757:
1.1.1.3 root 758: <p>You can select the amount of RAM for the emulated ST here. Only
759: amounts that were valid on a real unmodified STFM can be selected.</p>
760: <p><em>Note:</em> This option is critical and you are strongly advised
761: to reset the emulated ST
1.1 root 762: when changing this option.</p>
1.1.1.2 root 763: <p>Here you will find the options to save memory snapshots as well.</p>
1.1.1.3 root 764: <p>Click on <span class="button">Save</span> to save a memory snapshot
765: to file. You can select a new filename here.</p>
766: <p>Click on <span class="button">Restore</span> to restore a memory
767: snapshot from a file. Use the fileselector to select the snapshot to be
768: restored.</p>
769: <p><em>NOTE:</em> Memory snapshots are not interchangeable between
770: different versions of Hatari. E.q. if you compile a newer Hatari, you
771: cannot load your old memory snapshots back.</p>
772:
1.1.1.5 root 773: <a name="The ROM Dialog"></a><h4>The ROM Dialog</h4>
774:
775: <div class="image" align="center">
776: <img src="images/tos.png" width="768" height="534" alt="Hatari's GUI - the ROM dialog">
777: </div>
778:
1.1.1.3 root 779: <p>Here you can select the TOS image to use. Click on <span
1.1.1.5 root 780: class="button">Browse</span> to select it via the fileselector.
1.1.1.3 root 781: You can also select an optional cartridge image to use. Click on <span
1.1.1.4 root 782: class="button">Browse</span> to select one via the fileselector. Click on <span
1.1.1.5 root 783: class="button">Eject</span> to disconnect the custom cartridge image.
784: </p>
1.1.1.7 ! root 785: <p>
! 786: For ST mode, use TOS 1.00, 1.02, 1.04 or 2.06.
! 787: For STE mode, use TOS 1.06, 1.62, 2.05 or 2.06.
! 788: If you want to use the TT mode, you must specify a TOS 3.06 image here.
! 789: And in Falcon mode, you have to use either TOS 4.00, 4.02, 4.04 or 4.92.
! 790: However, you should always use TOS 4.04 for Falcon mode, it's the most common one.
! 791: Also note that TOS 4.92 can not be booted from a boot disk (like it's done on a
! 792: real Falcon), you have to specify it directly in the TOS ROM setup dialog here.
! 793: </p>
! 794: <p>
! 795: Keep in mind that any custom cartridge image will not work together with
1.1.1.5 root 796: GEMDOS hard disk emulation or the VDI extended resolution emulation
1.1.1.3 root 797: since some additional driver code will be used in the cartridge memory
1.1.1.7 ! root 798: space for these emulations.
! 799: </p>
! 800: <p>
! 801: <em>Note:</em> These options are critical and you are strongly
1.1.1.3 root 802: advised to reset the emulated ST
1.1.1.7 ! root 803: when changing one of these option.
! 804: </p>
1.1.1.5 root 805:
806: <a name="The Joystick Dialog"></a><h4>The Joystick Dialog</h4>
807:
808: <div class="floatimage">
809: <img src="images/joystick.png" width="320" height="288" alt="Hatari's GUI - the joystick dialog">
810: </div>
811:
812: <p>In this dialog, you can configure the emulated joysticks.
813: With the upper two arrows, you can choose the joystick which you want to
814: configure.</p>
1.1.1.3 root 815: <p>Joystick 1 is the normal ST joystick port and 99.9% of all ST games
1.1.1.5 root 816: use this port.
817: Joystick 0 emulates a joystick plugged into the ST mouse port
818: and is often used in games for two players.</p>
819: <p>With STE joypad A and B, you can enable the emulation of Jaguar joypads
820: which are plugged in the enhanced joystick ports of the Atari STE.
821: Only very few STE games support these joypads, so you often won't need this.</p>
822: <p>Finally, Hatari also emulates joysticks which were plugged on the parallel
823: port with a special adapter on a real ST. These were used in some few
824: multi-player games like "Gauntlet 2".</p>
825: <p>For each ST joystick, choose whether you want to disable it,
826: use the keyboard for emulation or use a real PC joystick.</p>
827: <p>For keyboard emulation, you can select the keys by pressing the
828: <span class="button">Define keys</span> button. You will be prompted to press
829: the keys for up, down, left, right and fire.</p>
830: <p>If you want to use a real PC joystick for the emulation, you should connect
831: it to your PC before you start Hatari. Then you can choose the joystick with
832: the two lower arrows.</p>
833: <p>Check the "Enable autofire" option if you are too lazy to pound
834: on the fire button in shoot'em-up games. However, this option only works with
835: certain games. In some other games, it gets worse if you enable this option.</p>
836: <p>See also the chapter "Emulated Joystick" for details.</p>
837:
838: <a name="The Screen Dialog"></a><h4>The Screen Dialog</h4>
839:
1.1.1.7 ! root 840: <div class="floatimage">
! 841: <img src="images/screen.png" width="500" height="400" alt="Hatari's GUI - the screen dialog">
1.1.1.5 root 842: </div>
1.1 root 843:
1.1.1.7 ! root 844: <p>
! 845: Here you control the video output of the emulated Atari.
! 846: </p>
! 847: <p>
! 848: Check "Fullscreen" to run Hatari fullscreen, default is windowed.
! 849: </p>
! 850: <p>
! 851: "Use Borders" toggles the displaying of the borders around the ST
! 852: screen. Some few demos/games use the borders for displaying additional
! 853: graphics. However, when you enable this option, it increases CPU computing
! 854: time, so you should not enable it if you have a slow computer.
! 855: Please note that this option also only affects the ST and STE mode, TT and
! 856: Falcon modes are always displayed without borders.
! 857: </p>
! 858: <p>
! 859: "Zoom ST-Low res." controls whether Hatari doubles the low
! 860: resolutions. For example Hatari then zooms the ST low resolution 320x200 to
! 861: 640x400 and it doubles 384x267 (ST low with borders) to 768x534.
! 862: Note that zooming also takes a lot of CPU computing time and should not be
! 863: enabled on slow computers.
! 864: </p>
! 865: <p>
! 866: "Force 8Bpp" will force Hatari to use an 8bit video mode.
! 867: You don't need this for modern video cards.
! 868: </p>
! 869: <p>
! 870: The "Frame Skip" option can be set to speed up the emulator
! 871: if it is running too slow on your system. 1 to 8 frames will be dropped
! 872: after each frame that has been drawn. Disable frame-skip if you have a
! 873: fast computer.
! 874: </p>
! 875: <p>
! 876: You can select which sort of monitor to use. This option depends on the
! 877: machine type which you have selected in the "System options"
! 878: dialog. In ST and STE mode, you can choose between monochrome mode (select
! 879: "Mono") and color mode (select one of the other monitor types).
! 880: Note that when you select "TV" and use zoomed low resolution or
! 881: switch to ST medium resolution, you will get a TV-like screen rendering
! 882: which is a little bit faster but darker compared to the normal "RGB"
! 883: monitor mode. Switching between mono and a color monitor acts like a monitor
! 884: switch on a real ST - so beware, this will reboot your emulated system!<br>
! 885: In TT mode, you can only choose between TT-high resolution ("Mono")
! 886: and normal modes (select one of the other monitor types).
! 887: Finally the Falcon mode supports all four types of monitors. Note that most
! 888: Falcon demos/games require a RGB or TV mode and do not work with VGA.
! 889: </p>
! 890: <p>
1.1.1.3 root 891: Extended GEM resolutions will emulate some sort of extended graphics
892: card in the emulated ST giving you larger resolutions and a higher
893: colordepth in GEM. Select a resolution and color depth. Check to
894: activate. It will disable all other video options mentioned above.
895: Uncheck to get back to a normal ST behaviour.<br>
896: <em>Note:</em> Using an extended resolution will only work with GEM
897: conformant applications. 99% of all games and demos will not run if you
1.1.1.7 ! root 898: activate any extended resolution here.
! 899: </p>
1.1.1.3 root 900: <p>Click <span class="button">Capture Screen</span> to create a
901: screenshot in .BMP format to the current working directory or click <span
902: class="button">Record Animation</span> to record a sequence of single
903: screenshots. You can opt to only record new movie frames when the
904: screen content really changed.
1.1 root 905: </p>
1.1.1.5 root 906:
907: <a name="The Keyboard Dialog"></a><h4>The Keyboard Dialog</h4>
908:
909: <div class="floatimage">
910: <img src="images/keyboard.png" width="400" height="192" alt="Hatari's GUI - the keyboard dialog">
911: </div>
912:
913: <p>Here you can select the keyboard mapping to use. Two different mappings
914: called "Symbolic" and "Scancode" are predefined.</p>
915: <p>"Symbolic" tries to map the symbolic values of your PC keys
916: to the ST keys. It should be working pretty good on all systems as long
917: as your keyboard layout looks close to the standard english keyboard
918: layout. However, you might experience some problems with special keys like
919: brackets etc.</p>
920: <p>"Scancode" uses the scancode values of your PC keys for keyboard
921: mapping. This only works on certain architectures like Linux where the
922: scancodes are similar to the ST scancodes (e.g. it does not work on Mac OS X).
923: If it works on your system, this often gives better results than the symbolic
924: mapping. Note that you also need a TOS version with the right language
925: (e.g. use a French TOS if you are using a French keyboard).</p>
926: <p>You can also load a custom keyboard mapping file here if you wish. Please
1.1.1.6 root 927: note that the custom keyboard mapping will use the "symbolic"
928: mapping for all keys that are not defined by your map file. Have a look
929: at the supplied example mapfile (keymap-sample.txt) to see how to create
930: your own keyboard mapping.</p>
1.1.1.5 root 931:
932: <a name="The Sound Dialog"></a><h4>The Sound Dialog</h4>
933:
934: <div class="image" align="center">
935: <img src="images/sound.png" width="768" height="534" alt="Hatari's GUI - the sound dialog">
936: </div>
937:
1.1.1.2 root 938: <p>Here you can control the sound subsystem.</p>
1.1.1.3 root 939: <p>Check if you want emulated sound at all. Emulation is faster if
940: sound emulation is turned off.</p>
941: <p>3 frequencies from low to high quality are available. Experiment a
942: little bit to find out which fits best for your setup.
1.1 root 943: Medium quality will work ok in most cases.</p>
1.1.1.3 root 944: <p>You can select to record a piece of sound here. Check which format
945: to use and click the button. It is a toggle button so
1.1 root 946: you will need to return to the GUI to switch sound recording off again.</p>
1.1.1.5 root 947:
948: <a name="The Devices Dialog"></a><h4>The Devices Dialog</h4>
949:
1.1.1.3 root 950: <p>Check here if you want to enable experimental printer support. See
951: the chapter "Emulated printer" for details.</p>
1.1.1.5 root 952:
953: <div class="image" align="center">
954: <img src="images/devices.png" width="768" height="534" alt="Hatari's GUI - the device dialog">
955: </div>
956:
1.1.1.3 root 957: <p>As Hatari currently only supports printing to file, click on <span
958: class="button">Select</span> to select the file to print to. You can
959: enter a new filename as well.</p>
960: <p><em>NOTE:</em> As the printer emulation is not perfect yet,
961: activated printer support may interfere with the emulated sound.
962: This is due to the fact that the Atari ST uses some general I/O ports
963: of the soundchip for the printer port. The Hatari team suggests to
1.1.1.2 root 964: disable printing while using games and demos.
965: </p>
1.1.1.3 root 966: <p>Check the second checkmark if you want to enable experimental RS232
967: support. The RS232 device is configured according to the settings of
968: the emulated RS232 of the Atari ST. This means Hatari will
969: automatically use baudrate and handshaking as configured for the
970: emulated ST.</p>
971: <p>Select a suitable device file for input and output. Click on <span
972: class="button">Browse</span> to select.
1.1.1.2 root 973: A good choice is /dev/ttyS0 or /dev/ttyS1.
974: </p>
1.1.1.3 root 975: <p>You can enable MIDI as well. This currently works for outputting
976: MIDI data only. A good choice is /dev/midi00.</p>
977: <p>Click on <span class="button">Browse</span> to select a suitable
978: MIDI device file for output.</p>
1.1.1.2 root 979: <p>Your sound driver must support MIDI to make this work.</p>
980: <p><em>NOTE:</em> RS232 and MIDI emulation are very experimental, too.
981: Don't enable them unless you really need them!
982: </p>
1.1.1.5 root 983:
984: <a name="Keyboard shortcuts"></a><h3>Keyboard shortcuts</h3>
985:
1.1 root 986: <p> While the emulator is running, you can activate or toggle various
1.1.1.6 root 987: features via Hatari keyboard shortcuts. Below are listed the default
988: shortcut key bindings:</p>
1.1.1.3 root 989: <table border="1" cellpadding="3">
1.1 root 990: <tbody>
991: <tr class="backdropped">
992: <td align="center">Shortcut</td>
993: <td align="center">Purpose</td>
994: </tr>
995: <tr>
1.1.1.2 root 996: <td align="center"><span class="key">ALTGR+a</span></td>
997: <td align="center">record animation</td>
998: </tr>
999: <tr>
1.1 root 1000: <td align="center"><span class="key">ALTGR+g</span></td>
1001: <td align="center">grabs a screenshot</td>
1002: </tr>
1003: <tr>
1.1.1.2 root 1004: <td align="center"><span class="key">ALTGR+i</span></td>
1.1.1.3 root 1005: <td align="center">boss key: leave full screen mode and iconify
1006: window</td>
1.1.1.2 root 1007: </tr>
1008: <tr>
1.1 root 1009: <td align="center"><span class="key">ALTGR+j</span></td>
1.1.1.6 root 1010: <td align="center">toggles joystick emulation via cursor keys
1011: between port 0, port 1 and being off from those ports</td>
1.1 root 1012: </tr>
1013: <tr>
1014: <td align="center"><span class="key">ALTGR+m</span></td>
1015: <td align="center">(un-)locks the mouse into the window</td>
1016: </tr>
1017: <tr>
1018: <td align="center"><span class="key">ALTGR+r</span></td>
1.1.1.2 root 1019: <td align="center">(warm) reset the ST</td>
1.1 root 1020: </tr>
1021: <tr>
1022: <td align="center"><span class="key">ALTGR+c</span></td>
1.1.1.3 root 1023: <td align="center">coldreset the ST (same as the original power
1024: switch)</td>
1.1 root 1025: </tr>
1026: <tr>
1.1.1.2 root 1027: <td align="center"><span class="key">ALTGR+s</span></td>
1028: <td align="center">enable/disable sound</td>
1029: </tr>
1030: <tr>
1.1 root 1031: <td align="center"><span class="key">ALTGR+q</span></td>
1032: <td align="center">quit the emulator</td>
1033: </tr>
1034: <tr>
1.1.1.2 root 1035: <td align="center"><span class="key">ALTGR+x</span></td>
1036: <td align="center">toggle normal/max speed</td>
1037: </tr>
1038: <tr>
1039: <td align="center"><span class="key">ALTGR+y</span></td>
1040: <td align="center">enable/disable sound recording</td>
1041: </tr>
1042: <tr>
1.1.1.7 ! root 1043: <td align="center"><span class="key">ALTGR+k</span></td>
! 1044: <td align="center">save memory snapshot</td>
! 1045: </tr>
! 1046: <tr>
! 1047: <td align="center"><span class="key">ALTGR+l</span></td>
! 1048: <td align="center">load memory snapshot</td>
! 1049: </tr>
! 1050: <tr>
1.1.1.5 root 1051: <td align="center"><span class="key">ALTGR+f or F11</span></td>
1.1 root 1052: <td align="center">toggles fullscreen and windowed mode</td>
1053: </tr>
1054: <tr>
1.1.1.5 root 1055: <td align="center"><span class="key">ALTGR+o or F12</span></td>
1056: <td align="center">activate the GUI</td>
1.1 root 1057: </tr>
1058: <tr>
1059: <td align="center"><span class="key">PAUSE</span></td>
1.1.1.5 root 1060: <td align="center">will go to the debugger if Hatari was started with
1061: the -D option</td>
1.1 root 1062: </tr>
1063: </tbody>
1064: </table>
1.1.1.5 root 1065:
1.1.1.6 root 1066: <p>You can change the key bindings from the Hatari configuration file.
1067: The required key values you can see from the SDL_keysym.h include file
1068: (usually in /usr/include/SDL/).
1069:
1070:
1.1.1.5 root 1071: <a name="Emulated Atari ST keyboard"></a><h3>Emulated Atari ST keyboard</h3>
1072:
1.1 root 1073: <p> All other keys on the keyboard act as the normal Atari ST keys so
1074: pressing SPACE on your PC will result in an emulated press of the SPACE
1075: key on the ST. The following keys have special meanings: </p>
1.1.1.3 root 1076: <table border="1" cellpadding="3">
1.1 root 1077: <tbody>
1078: <tr class="backdropped">
1079: <td align="center">Key</td>
1080: <td align="center">Meaning</td>
1081: </tr>
1082: <tr>
1083: <td align="center"><span class="key">Alt</span></td>
1084: <td align="center">will act as the ST's ALTERNATE key</td>
1085: </tr>
1086: <tr>
1087: <td align="center"><span class="key">left CTRL</span></td>
1088: <td align="center">will act as the ST's CONTROL key</td>
1089: </tr>
1090: <tr>
1.1.1.2 root 1091: <td align="center"><span class="key">Print Screen</span></td>
1.1 root 1092: <td align="center">will emulate the ST's HELP key</td>
1093: </tr>
1094: <tr>
1.1.1.2 root 1095: <td align="center"><span class="key">Scroll Lock</span></td>
1.1 root 1096: <td align="center">will emulate the ST's UNDO key</td>
1097: </tr>
1.1.1.2 root 1098: <tr>
1099: <td align="center"><span class="key">Page Up</span></td>
1100: <td align="center">will emulate the ST's ( key in the keypad</td>
1101: </tr>
1102: <tr>
1103: <td align="center"><span class="key">Page Down</span></td>
1104: <td align="center">will emulate the ST's ) in the keypad</td>
1105: </tr>
1.1 root 1106: </tbody>
1107: </table>
1.1.1.5 root 1108:
1109: <p> The <span class="key">right CTRL</span> key is used by default as the
1110: fire button of the emulated joystick when you turn on joystick emulation
1111: via keyboard. </p>
1112: <p> The cursor keys will be used by default as the emulated ST joystick,
1113: unless you are using joystick emulation via a real joystick or have disabled
1114: joystick emulation completely. Then the cursor keys will act as the cursor
1115: keys of the emulated Atari ST, of course.</p>
1116:
1117: <a name="Emulated mouse"></a><h3>Emulated mouse</h3>
1118:
1.1 root 1119: <p>For obvious reasons your PC mouse will act as the emulated Atari ST
1120: mouse. In fullscreen mode it will act as expected, directly controlling
1121: the ST mouse pointer. </p>
1122: <p>However it is a little bit different in windowed mode. To make the
1123: mouse work there as expected you need to grab it first or lock it into
1.1.1.3 root 1124: the Hatari window. Do this by pressing the <span class="key">ALTGR+m</span>
1125: hotkey combination.
1.1 root 1126: Press it again to go back to normal mouse behaviour which allows you to
1127: work in other X11 windows while Hatari is up and running. </p>
1.1.1.6 root 1128: <p>Mouse scrollwheel will act as cursor up and down keys. </p>
1.1.1.5 root 1129:
1130: <a name="Emulated joystick"></a><h3>Emulated joystick</h3>
1131:
1.1 root 1132: <p>The Atari ST joysticks are emulated ofcourse allowing you to play
1133: your favourite games with Hatari. </p>
1134: <p>The default mode is to use a connected PC joystick. You can use any
1135: joystick that is supported by your kernel. If your joystick works with
1136: other applications, it will likely work with Hatari as well. Make sure
1137: it is calibrated and then off you go. Move the stick to point into the
1138: desired direction. Please note that Hatari will not detect analogue
1139: movement as the Atari ST only had digital joysticks. The first
1.1.1.3 root 1140: firebutton will act as the normal firebutton on the Atari ST while the
1141: second
1142: firebutton will emulate a keypress of the <span class="key">SPACE</span>
1143: key on the ST as many ST
1144: games utilitze the SPACE bar for secondary game functions. (Xenon for
1145: example)</p>
1.1 root 1146: <p>If you do not have a PC joystick or joypad, then you do not need to
1147: desperate. You can emulate one of the two Atari ST joysticks via the
1148: cursor keys. Just activate it in the GUI. Then the cursor keys will act
1149: as the joystick directions, the right CTRL key will act as the
1150: firebutton. You can still use the cursor keys as the ST's
1.1.1.3 root 1151: cursorkeys in this mode as long as you press <span class="key">SHIFT</span>
1152: along with the cursorkeys. </p>
1.1.1.5 root 1153:
1154: <a name="Emulated video"></a><h3>Emulated video</h3>
1155:
1.1.1.2 root 1156: <p>Hatari by default only handles ST modes, ST-LOW, ST-MED and ST-HIGH.</p>
1.1.1.7 ! root 1157: <p>Overscan effects and so called "Border Removal" are possible too.</p>
1.1.1.3 root 1158: <p>Due to the fact that these effects are achieved by using quirks and
1159: glitches in the original chips to do things beyond their specification
1160: emulation is a bit tricky for these and not all ST applications
1161: utilizing these techniques will work properly in Hatari.
1.1.1.7 ! root 1162: Especially so called "Sync Scrolling", a special technique to emulate
1.1.1.3 root 1163: the low byte of the video address, currently does not work properly in
1164: Hatari.
1165: </p>
1166: <p>Beside that you can setup extended VDI modes. These only work with
1167: GEM-compliant applications and they are equal to fitting a videocard
1168: into your Mega ST.</p>
1169: <p>Make sure to disable extended VDI modes for playing games as 99% of
1170: all ST games will not be able to make use of higher resolutions.</p>
1.1.1.5 root 1171:
1172: <a name="Emulated printer"></a><h3>Emulated printer</h3>
1173:
1.1.1.3 root 1174: <p>Due to the fact that printer handling is very different between Unix
1175: style machines and the Atari ST, emulation
1.1.1.2 root 1176: of the printer is achieved by writing all printer output to a file.</p>
1.1.1.3 root 1177: <p>The file will contain a sequence of data, the same that would appear
1178: on the data pins of the Atari ST printer port.
1179: That would include control characters and commands for graphic
1180: printing. Clicking "Print desktop" on the GEM desktop would result
1.1.1.2 root 1181: in a messy data dump in the printer output.</p>
1.1.1.3 root 1182: <p>Printer emulation works best for plain text files or programs that
1183: do not format the output for a specific printer.
1184: The file contents can be used with your favourite text editor for
1185: further processing and printing to a real printer.</p>
1186: <p>To get real direct printing out of Hatari on a PostScript printer,
1187: you may set up a GDOS printer with a PostScript driver on the emulated
1188: Atari and set your printer device file as Hatari's printer output.<br>
1189: <em>NOTE:</em> This has not been tested yet and the Hatari team cannot
1190: guarantee that it will work.</p>
1.1.1.5 root 1191:
1192: <a name="Emulated RS232"></a><h3>Emulated RS232</h3>
1193:
1.1.1.3 root 1194: <p>Serial communications in Hatari is designed to directly use a serial
1195: port on your PC.</p>
1196: <p>Communications parameters are set automatically upon the settings of
1197: the emulated ST. This means all you do is to set
1198: the communication parameters like baudrate from your ST communications
1199: software. Hatari will do the rest and handle
1.1.1.2 root 1200: the serial input and output for you.</p>
1.1.1.5 root 1201:
1202: <a name="Floppy disk images"></a><h2>Floppy disk images</h2>
1203:
1.1 root 1204: <p>Hatari does not use floppy disks directly but disk images due to
1205: differences between the floppy disk controllers of the ST and the PC.
1.1.1.3 root 1206: Three types of disk images are currently supported: The raw "ST" type,
1207: the similar "DIM" type and
1.1.1.2 root 1208: the compressed "MSA" (Magic-Shadow-Archiver) type. </p>
1.1 root 1209: <p> The raw type (file suffix should be "*.st") is simply a sector by
1210: sector image of a real floppy disk. You can easily create such an image
1.1.1.3 root 1211: with the <span class="commandline">dd</span> program which should
1212: normally be pre-installed on every
1213: Unix-like system. Simply type something like <span class="commandline">dd
1214: if=/dev/fd0 of=myimage.st</span> to create a disk image. Of course you
1215: need access to
1.1 root 1216: /dev/fd0, and depending on your system and the type of floppy disk you
1217: might have to use another device name here (for example I use
1.1.1.3 root 1218: /dev/fd0u720 for 720kB disks). However, if the disk is copy-protected
1219: or
1.1 root 1220: doesn't use a MSDOS compatible file system, this might fail. So be very
1221: careful if you're not sure about the disk format. </p>
1.1.1.3 root 1222: <p> The other possibility is to image the disk on a real Atari ST.
1223: There
1.1 root 1224: are programs like the Magic Shadow Archiver for this task. Hatari
1.1.1.3 root 1225: supports this slightly compressed MSA disk images, too. Note that
1226: Hatari
1227: only supports the "old" MSA format, there are some Magic Shadow
1228: Archiver
1.1 root 1229: clones (like Jay-MSA) that create better compressed but
1.1.1.2 root 1230: Hatari-incompatible disk images. However, if you have got such a MSA
1.1.1.3 root 1231: disk and want to use it with Hatari, you can still run the
1232: corresponding
1.1.1.2 root 1233: MSA program within Hatari to extract the incompatible disk image to a
1234: normal floppy disk image. </p>
1.1 root 1235: <p> While *.ST and *.MSA are more or less the "standard" types of Atari
1.1.1.2 root 1236: disk images, you might sometimes also find STT or ADF images on the
1.1.1.3 root 1237: internet. These currently do not work with Hatari. </p>
1238: <p>Hatari can now also utilize *.DIM images just as *.ST ones without
1239: any problems.
1.1.1.2 root 1240: Note that DIM images are nearly the same as the raw ST images
1.1.1.3 root 1241: (they only have an additional 32 bytes header), so you can easily
1242: transform
1.1.1.2 root 1243: the DIM images into ST images by stripping the header from the files.
1244: For example try something like:
1245: <span class="commandline">dd if=input.dim of=output.st bs=32 skip=1</span>
1246: </p>
1.1 root 1247: <p> If you've got a disk image that has been created with the old ST
1248: emulator PaCifiST (for DOS) or with early versions of the program
1249: Makedisk, and the disk image does not work with Hatari, then the disk
1.1.1.3 root 1250: probably suffers from the "PaCifiST bootsector bug" (Hatari will
1251: display a
1.1 root 1252: warning message then). In this case, the bootsector of the disk
1253: contains some illegal data, so that the disk even does not work on a
1254: real ST any more. However, if it is a .ST and not a .MSA disk, you can
1.1.1.3 root 1255: easily fix it by using a hex-editor to change the byte at offset $D
1256: (13)
1.1 root 1257: from 0 to 1 (don't forget to backup your disk image first, since you
1258: can also easily destroy your disk image when changing a wrong byte
1259: there). If the disk contains a bootsector program, you probably have to
1260: adjust the boot sector check sum, too (it can be found at offset $1FE +
1261: $1FF). </p>
1.1.1.2 root 1262: <p>Hatari supports disk images that are compressed with (Pk-)ZIP
1263: (file suffix must be ".zip") or GZip (file suffix must be ".st.gz" or
1.1.1.3 root 1264: ".msa.gz"), so you can archive your disk images into zip archives.
1.1.1.2 root 1265: You can also directly run the zip archives you may download from the
1266: net as long as the archive contains a disk image in .ST or .MSA format.</p>
1.1.1.3 root 1267: <p><em>Note:</em> Hatari does not save disk images back to *.ZIP files
1268: so
1.1.1.2 root 1269: your highscores and savegames are lost if you load the game from such
1270: a zipped disk image.</p>
1.1.1.5 root 1271:
1272: <a name="Hard disk support"></a><h2>Hard disk support</h2>
1273:
1.1 root 1274: <p>Hatari supports two ways of emulating a ST hard drive: The low-level
1275: ACSI hard disk emulation and a GEMDOS based drive emulation. </p>
1.1.1.6 root 1276:
1277: <a name="ACSI hard disk emulation"></a><h3>ACSI hard disk emulation</h3>
1278: <p>
1279: To use the ACSI hard disk emulation, you need a hard disk image file
1.1.1.3 root 1280: with a pre-installed HD driver in it. So either try to image your old
1.1.1.6 root 1281: ST hard disk or grab one from the internet (e.g. from the Hatari website).
1282: Please note that AHDI 5.0 is the <em>only</em> hard disk driver that
1283: is currently working and supported. Other hard disk drivers likely will not
1284: work.
1285: </p>
1286: <p>
1287: To create a new ACSI hard disk image, you can start with an empty image that
1288: you have for example created with the following command:
1289: <span class="commandline">dd if=/dev/zero of=hd.img bs=512 count=xxx</span>.
1290: Then copy the complete AHDI 5.0 package to a floppy disk image, and enable
1291: this floppy disk image and the fresh hard disk image in the emulator.
1292: Start HDX.PRG from the floppy disk and format and partition the hard disk
1293: with this tool. When you're finished, you have to restart the emulated system,
1294: run AHDI.PRG from the floppy disk and HINSTALL.PRG afterwards.
1295: With HINSTALL.PRG you can install the hard disk driver to the fresh HD image,
1296: so you can directly boot from the hard disk image in the future.
1297: </p>
1298:
1299: <a name="GEMDOS based hard disk emulation"></a><h3>GEMDOS based hard disk emulation</h3>
1.1 root 1300: <p>With the GEMDOS based drive emulation, you can easily "mount" a
1301: folder from the host file system to a drive of the emulated Atari. To
1302: use the GEMDOS based drive emulation, you should use a folder on your
1.1.1.3 root 1303: hard disk that only contains files and folders with valid TOS
1304: filenames.
1.1 root 1305: That means that all files/folders should be written in capital letters
1306: and their length mustn't exceed the 8+3 file name length limit. If you
1307: don't want to rename all files to get capital letters, it is also
1308: possible to store that folder on a FAT filesystem since those
1309: filesystems are case-insensitive. </p>
1310: <p>GEMDOS drive emulation is an easy way to share files between the
1.1.1.3 root 1311: host system and the emulated Atari, but it is known to be incomplete
1312: and
1.1 root 1313: a little bit unstable, especially if you use it together with the ACSI
1314: hard disk emulation. So if your programs complain that they could not
1315: find/read/write files on the GEMDOS HD drive, you should try to copy
1.1.1.3 root 1316: them to a floppy disk image or a real hard disk image!</p>
1317: <p>Due to the way the GEMDOS drive emulation is implemented at the
1318: moment, it is not possible to use a cartridge image together with
1319: GEMDOS drive emulation. </p>
1.1 root 1320: <p> Note that changing the HD-image or the GEMDOS HD-folder will reset
1321: the emulated Atari since it is not possible to switch the hard disk
1322: while the emulator is running. </p>
1.1.1.6 root 1323:
1324: <p>
1325: That's all for the moment.
1326: May the fun without the price to be with you ;-) !
1327: </p>
1.1.1.4 root 1328:
1.1.1.5 root 1329: <a name="Appendix"></a><h2>Appendix</h2>
1330:
1331: <a name="Copying"></a><h3>Copying</h3>
1.1.1.4 root 1332:
1.1 root 1333: <div class="backdropped">
1334: <p>This program is free software; you can redistribute it and/or modify
1.1.1.3 root 1335: it under the terms of the GNU General Public License as published by
1336: the
1.1 root 1337: Free Software Foundation; either version 2 of the License, or (at your
1338: option) any later version. </p>
1339: <p>This program is distributed in the hope that it will be useful, but <em>WITHOUT
1340: ANY WARRANTY</em>; without even the implied warranty of <em>MERCHANTABILITY</em>
1.1.1.3 root 1341: or <em>FITNESS FOR A PARTICULAR PURPOSE</em>. See the GNU General
1.1.1.4 root 1342: Public License for more details. </p>
1343: <p>
1344: You should have received a copy of the GNU General Public License
1345: along with this program; if not, write to the Free Software Foundation,
1346: Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1347: </p>
1.1 root 1348: </div>
1.1.1.3 root 1349: <p><a href="http://www.gnu.org/">The GNU Project and the Free Software
1350: Foundation</a> | <a href="http://www.fsf.org/licenses/gpl.html">The
1351: GNU General Public License</a></p>
1.1.1.4 root 1352:
1.1.1.5 root 1353: <a name="Introduction to Emulation"></a><h3>Introduction to Emulation</h3>
1354:
1.1 root 1355: <p>Emulation via software is an art and Hatari is an example of this.</p>
1.1.1.3 root 1356: <p>Emulation is to make a computer behave like a (probably) completely
1357: different machine on the lowest possible niveau.
1358: This includes CPU and custom chip emulation allowing software written
1359: for the emulated machine to be run without notice.
1360: A good emulator will run most of the software intended for the emulated
1361: platform without trouble.
1.1 root 1362: </p>
1363: <p>
1.1.1.3 root 1364: The key to emulation is to simply do those things with a software
1365: program, the emulator, that normally chips would perform.
1366: So you have an CPU emulator that basically consists of a large loop
1367: that does exactly what the real thing would do:
1.1 root 1368: </p>
1369: <ul>
1.1.1.3 root 1370: <li>fetch an instruction from virtual memory</li>
1371: <li>interpret this instruction</li>
1372: <li>fetch operands from the emulated registers and memory</li>
1373: <li>perform the operation like addition or changing the program
1374: counter on a jump instruction</li>
1375: <li>writes results back into the intended registers or memory
1376: locations</li>
1377: <li>increment of the program counter and loop</li>
1.1 root 1378: </ul>
1379: <p>
1.1.1.3 root 1380: The typical von-Neumann CPU can be emulated very fast, stable and
1381: error-free using such a simple loop system.
1.1 root 1382: </p>
1383: <p>
1.1.1.3 root 1384: But in most cases the CPU emulation is the simplest part. Correct
1385: emulation of the various custom chips and hardware
1.1 root 1386: parts of the emulated system is much trickier.
1387: </p>
1388:
1.1.1.6 root 1389: <br>
1390:
1.1.1.3 root 1391: <hr style="width: 100%; height: 2px;">
1.1 root 1392: <table border="0" width="100%">
1.1.1.3 root 1393: <tbody>
1.1 root 1394: <tr>
1.1.1.3 root 1395: <td align="left"><a href="http://validator.w3.org/check/referer"><img
1396: src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"
1397: border="0" height="31" width="88"></a></td>
1398: <td align="right">
1.1.1.7 ! root 1399: February 29th 2008
1.1.1.3 root 1400: </td>
1.1 root 1401: </tr>
1.1.1.3 root 1402: </tbody>
1.1 root 1403: </table>
1404: </body>
1405: </html>
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.