Annotation of hatari/doc/manual.html, revision 1.1.1.8

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">
1.1.1.8 ! root        7:   <meta name="author" content="Hatari development team">
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;
1.1.1.8 ! root       19:                font-family:Verdana,Arial,Helvetica,sans-serif;
1.1.1.2   root       20:                }
1.1       root       21: 
1.1.1.8 ! root       22:        h2 { border-bottom:solid thin black;}
        !            23:        h4.gui { clear:right }
1.1       root       24: 
1.1.1.8 ! root       25:        td { font-family:Verdana,Arial,Helvetica,sans-serif; }
1.1       root       26: 
                     27:        a:link { color:#000099; background-color:#ffffff; text-decoration:none; }
1.1.1.7   root       28:        a:visited { color:#cc0000; background-color:#ffffff; text-decoration:none;}
                     29:        a:hover { color:#0000ff; background-color:#ffffff; text-decoration:none; }
                     30:        a:active { color:#993399; background-color:#ffffff; text-decoration:none; }
1.1       root       31: 
1.1.1.8 ! root       32:        *.commandline { font-family:Fixed,Courier,monospace; font-size:90% }
1.1.1.2   root       33:        *.file { color: #000088;}
                     34:        *.button { color: #468E64;}
1.1.1.8 ! root       35:        *.key { color:#550000; font-family:Fixed,Courier,monospace; font-size:90% }
1.1       root       36:        *.backdropped { background-color:#ffffee; }
1.1.1.5   root       37:        *.image {margin-left: 5px; margin-right: 5px; border-width:2px; border-style:solid; border-color:#eeeeff; padding:1cm; text-align:center; }
                     38:        *.floatimage { clear:right; float:right; margin-left:0.5cm; border-width:2px; border-style:solid; border-color:#eeeeff; padding:0.5cm; }
1.1       root       39: 
                     40:   -->
                     41:   </style>
                     42: </head>
1.1.1.5   root       43: 
                     44: <body>
                     45: 
1.1       root       46: <h1 align="center">Hatari User's Manual</h1>
1.1.1.5   root       47: 
1.1.1.2   root       48: <p align="center">
1.1.1.8 ! root       49: Version 1.1
1.1.1.3   root       50: </p>
                     51: <p align="center">
1.1.1.8 ! root       52: Manual written by: <strong>Thomas Huth</strong>, <strong>Matthias Arndt</strong>
        !            53:  &amp; <strong>Eero Tamminen</strong>  
1.1.1.2   root       54: </p>
                     55: <p align="center">
1.1.1.5   root       56: Hatari on the WWW: <strong><a href="http://hatari.sourceforge.net/"
                     57:  target="_blank">http://hatari.sourceforge.net/</a></strong>
1.1.1.2   root       58: </p>
1.1       root       59: 
1.1.1.5   root       60: <h2>Index</h2>
                     61: <ul>
                     62:   <li><a href="#Introduction">Introduction</a>
                     63:   <ul>
                     64:     <li><a href="#General description">General description</a>
                     65:     <li><a href="#Features">Features</a>
1.1.1.7   root       66:     <li><a href="#STE hardware emulation">STE hardware emulation</a>
                     67:     <li><a href="#Very experimental TT hardware emulation">Very experimental TT hardware emulation</a>
                     68:     <li><a href="#Very experimental Falcon hardware emulation">Very experimental Falcon hardware emulation</a>
1.1.1.5   root       69:     <li><a href="#System requirements">System requirements</a>
                     70:   </ul>
                     71:   <li><a href="#Compiling and running">Compiling and running</a>
                     72:   <ul>
                     73:     <li><a href="#Compiling Hatari">Compiling Hatari</a>
                     74:     <li><a href="#Installation of a TOS ROM">Installation of a TOS ROM</a>
                     75:     <li><a href="#Installation of the binary">Installation of the binary</a>
                     76:     <li><a href="#Running Hatari for the first time">Running Hatari for the first time</a>
                     77:   </ul>
                     78:   <li><a href="#Command line options">Command line options</a>
                     79:   <li><a href="#Using the emulated system">Using the emulated system</a>
                     80:   <ul>
                     81:     <li><a href="#The GUI">The GUI</a>
                     82:     <ul>
                     83:       <li><a href="#The Main Menu">The Main Menu</a>
                     84:       <li><a href="#The System Dialog">The System Dialog</a>
                     85:       <li><a href="#The Disks Dialog">The Disks Dialog</a>
                     86:       <li><a href="#The Memory Dialog">The Memory Dialog</a>
                     87:       <li><a href="#The ROM Dialog">The ROM Dialog</a>
                     88:       <li><a href="#The Joystick Dialog">The Joystick Dialog</a>
                     89:       <li><a href="#The Screen Dialog">The Screen Dialog</a>
                     90:       <li><a href="#The Keyboard Dialog">The Keyboard Dialog</a>
                     91:       <li><a href="#The Sound Dialog">The Sound Dialog</a>
                     92:       <li><a href="#The Devices Dialog">The Devices Dialog</a>
                     93:     </ul>
                     94:     <li><a href="#Keyboard shortcuts">Keyboard shortcuts</a>
                     95:     <li><a href="#Emulated Atari ST keyboard">Emulated Atari ST keyboard</a>
                     96:     <li><a href="#Emulated mouse">Emulated mouse</a>
                     97:     <li><a href="#Emulated joystick">Emulated joystick</a>
                     98:     <li><a href="#Emulated video">Emulated video</a>
                     99:     <li><a href="#Emulated printer">Emulated printer</a>
                    100:     <li><a href="#Emulated RS232">Emulated RS232</a>
                    101:   </ul>
                    102:   <li><a href="#Floppy disk images">Floppy disk images</a>
                    103:   <li><a href="#Hard disk support">Hard disk support</a>
1.1.1.6   root      104:   <ul>
                    105:     <li><a href="#ACSI hard disk emulation">ACSI hard disk emulation</a></li>
                    106:     <li><a href="#GEMDOS based hard disk emulation">GEMDOS based hard disk emulation</a></li>
                    107:   </ul>
1.1.1.5   root      108:   <li><a href="#Appendix">Appendix</a>
                    109:   <ul>
                    110:     <li><a href="#Copying">Copying</a>
                    111:     <li><a href="#Introduction to Emulation">Introduction to Emulation</a>
                    112:   </ul>
                    113: </ul>
                    114: 
                    115: 
                    116: <a name="Introduction"></a><h2>Introduction</h2>
1.1       root      117: 
1.1.1.5   root      118: <a name="General description"></a><h3>General description</h3>
1.1       root      119: <p>
1.1.1.7   root      120: Hatari is an Atari ST, STE, TT and Falcon emulator for Linux, FreeBSD, BeOS and
                    121: other Systems which are supported by the SDL library.
1.1.1.4   root      122: The emulator is open source software and is distributed under the terms of the
1.1.1.7   root      123: <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General
                    124: Public License (GPL)</a>.
1.1.1.4   root      125: </p>
                    126: <p>
1.1.1.3   root      127: The Atari ST was a 16/32 bit computer system which was first released by Atari
1.1.1.4   root      128: in 1985. Using the Motorola 68000 CPU, it was a very popular computer having
                    129: quite a lot of CPU power at that time. See Appendix B for details on emulation
                    130: in general.
1.1.1.3   root      131: </p>
                    132: <p>
1.1.1.4   root      133: Unlike many other Atari ST emulators which try to give you a good
                    134: environment for running GEM applications, Hatari tries to emulate the hardware
                    135: of a ST as close as possible so that it is able to run most of the old ST games
                    136: and demos. Of course you can run normal GEM applications with Hatari, too.
1.1.1.7   root      137: Recent versions of Hatari even feature basic STE, TT and Falcon emulation.
1.1       root      138: </p>
                    139: 
1.1.1.5   root      140: <a name="Features"></a><h3>Features</h3>
1.1       root      141: <ul>
1.1.1.7   root      142:   <li>68000 - 68040 emulation via the UAE CPU core (no PMMU support though)</li>
                    143:   <li>ST RAM size variable (from 512kiB up to 14MiB are possible)</li>
1.1.1.3   root      144:   <li>optional cartridge images for the ST ROM port</li>
1.1.1.2   root      145:   <li>most of the ST specific hardware</li>
1.1       root      146:   <li>ST Shifter with ST-High, ST-Medium and ST-Low resolutions,
1.1.1.7   root      147:     overscan effects for all borders in color resolutions</li>
1.1.1.6   root      148:   <li>512 color ST palette</li>
1.1.1.7   root      149:   <li>many raster effects </li>
1.1.1.8 ! root      150:   <li>scaling of low resolutions by factor two</li>
1.1.1.7   root      151:   <li>interleaved lines rendering of ST-medium and (scaled) ST-low
                    152:     resolutions for the TV "monitor type"</li>
1.1.1.8 ! root      153:   <li>Blitter chip emulation</li>
1.1.1.2   root      154:   <li>PSG YM2149 emulation (soundchip) including STFM samples</li>
1.1.1.8 ! root      155:   <li>Printer port emulation on hardware level (print to file)</li>
1.1.1.2   root      156:   <li>experimental support for RS232</li>
1.1.1.7   root      157:   <li>experimental MIDI output support (no MIDI input/through support)</li>
1.1       root      158:   <li>Mega ST real time clock</li>
1.1.1.3   root      159:   <li>IKBD emulation (keyboard, mouse and joystick) with custom
1.1.1.7   root      160:     keyboard mapping</li>
1.1       root      161:   <li>joystick emulation via cursor keys and joystick emulation via a
1.1.1.7   root      162:     connected PC joystick</li>
1.1.1.3   root      163:   <li>FDC emulation using floppy disk images in standard formats (*.ST,
1.1.1.7   root      164:     *.MSA and *.DIM)</li>
1.1.1.5   root      165:   <li>support for packed disk images (PkZip and Gzip)</li>
1.1.1.7   root      166:   <li>optional write-protection for disk images</li>
1.1.1.2   root      167:   <li>partial ACSI emulation for harddisk support</li>
                    168:   <li>GEMDOS interface driver to mount a directory as a harddrive</li>
1.1.1.7   root      169:   <li>support for memory snapshots (save whole system state)</li>
1.1.1.2   root      170:   <li>driver for extended VDI resolutions</li>
                    171:   <li>recording of sound as .WAV and .YM files</li>
1.1.1.8 ! root      172:   <li>screenshots in PNG or BMP format</li>
1.1.1.2   root      173:   <li>animation capturing</li>
1.1.1.8 ! root      174:   <li>TOS versions 1.00, 1.02, 1.04 and 2.06 (and EmuTOS) can be used in ST mode.</li>
1.1       root      175: </ul>
1.1.1.5   root      176: 
1.1.1.7   root      177: <a name="STE hardware emulation"></a>
                    178: <h4>STE hardware emulation</h4>
1.1.1.6   root      179: STE emulation is still a little bit experimental, but basically
1.1.1.7   root      180: there is support for most of the enhanced/additional STE features:
1.1.1.5   root      181: <ul>
                    182:   <li>horizontal and vertical hardware fine scrolling</li>
                    183:   <li>split screen techniques / in-screen video address manipulations</li>
1.1.1.8 ! root      184:   <li>(STE specific) left border opening</li>
1.1.1.5   root      185:   <li>4096 colors STE palette</li>
1.1.1.8 ! root      186:   <li>Stereo DMA sample sound ("microwire" audio balance support missing)</li>
1.1.1.7   root      187:   <li>STE joypads</li>
1.1.1.8 ! root      188:   <li>TOS versions 1.06, 1.62, 2.05 and 2.06 (and EmuTOS) can be used in STE mode.</li>
1.1.1.5   root      189: </ul>
                    190: 
1.1.1.7   root      191: <a name="Very experimental TT hardware emulation"></a>
                    192: <h4>Very experimental TT hardware emulation</h4>
                    193: There is support for following additional TT features:
                    194: <ul>
                    195:   <li>TT low/med/high resolution support</li>
                    196:   <li>ST/TT palette switching and video shifter</li>
                    197:   <li>RAM upto 14MiB (ST-RAM only, there is no support for TT-RAM yet)</li>
1.1.1.8 ! root      198:   <li>Only TOS version 3.06 (and EmuTOS) can be used in TT mode.</li>
1.1.1.7   root      199: </ul>
                    200: 
                    201: <a name="Very experimental Falcon hardware emulation"></a>
                    202: <h4>Very experimental Falcon hardware emulation</h4>
                    203: There is support for following additional Falcon features:
                    204: <ul>
                    205:   <li>Videl emulation for all Falcon screen modes</li>
                    206:   <li>STE/Falcon palette switching and shifter</li>
                    207:   <li>Mono/RGB/VGA/TV monitor types</li>
                    208:   <li>Some few parts of the Falcon sound system are emulated
                    209:       (e.g. the additional sample rates of the DMA sound)</li>
1.1.1.8 ! root      210:   <li>TOS versions 4.00, 4.02, 4.04 and 4.92 (and EmuTOS) can be used in Falcon mode.</li>
1.1.1.7   root      211: </ul>
                    212: 
1.1.1.8 ! root      213: <p>
        !           214: DSP emulation is still very experimental and unstable, but there's a dummy mode,
        !           215: too, which helps to get some demos and games running.
1.1       root      216: </p>
1.1.1.5   root      217: 
                    218: 
                    219: <a name="System requirements"></a><h3>System requirements</h3>
                    220: 
1.1       root      221: <p> Hatari currently has the following system requirements: </p>
                    222: <ul>
1.1.1.7   root      223:   <li>a fast PC (&gt;500MHz, for Falcon and TT emulation even faster) </li>
1.1.1.3   root      224:   <li>some sort of Unix (preferable <a href="http://www.linux.org/">GNU/Linux</a>)
                    225:   </li>
1.1       root      226:   <li>the SDL library (<a href="http://www.libsdl.org/">http://www.libsdl.org/</a>)</li>
1.1.1.3   root      227:   <li>the zLib (<a href="http://www.gzip.org/zlib/">http://www.gzip.org/zlib/</a>)
1.1.1.5   root      228: for support of ZIP-packed disk images (*.zip and *.gz)</li>
1.1       root      229: </ul>
1.1.1.5   root      230: 
                    231: <p>
                    232: Certain versions of Hatari have successfully been tested by various people on
                    233: the following systems:
                    234: </p>
1.1       root      235: <ul>
1.1.1.8 ! root      236:   <li>Linux/i86 with Kernel 2.4.x and 2.6.x</li>
        !           237:   <li>Linux/PPC with Kernel 2.4.x and 2.6.x</li>
1.1.1.2   root      238:   <li>BeOS/i86 </li>
1.1       root      239:   <li>Apple PowerMac with Mac OS X </li>
                    240:   <li>NetBSD 1.6 </li>
1.1.1.4   root      241:   <li>NetBSD on a Digital Alpha</li>
1.1.1.8 ! root      242:   <li>FreeBSD 4.1 on an i486, FreeBSD 4.8 on a Pentium 4 and FreeBSD 5.1</li>
1.1.1.2   root      243:   <li>OpenBSD 3.5 </li>
1.1.1.4   root      244:   <li>Solaris 8 on a SUN UltraSparc 1</li>
1.1.1.8 ! root      245:   <li>Linux/ARM (oabi) on Sharp Zaurus SL-C760 PDA</li>
        !           246:   <li>Linux/ARM (eabi) on Nokia 770, N800 and N810 Internet Tablets</li>
1.1       root      247: </ul>
1.1.1.5   root      248: 
                    249: <a name="Compiling and running"></a><h2>Compiling and running</h2>
                    250: 
                    251: <a name="Compiling Hatari"></a><h3>Compiling Hatari</h3>
                    252: 
1.1       root      253: <p> First, you need the SDL library, you can get it at:
1.1.1.3   root      254: <a href="http://www.libsdl.org/">http://www.libsdl.org/</a>. Most
                    255: distributions already ship a suitable version.
                    256: Make sure to install the appropriate header files as well often called
                    257: "libsdl-dev" or the like.
                    258: </p>
                    259: <p> Second, you need the zLib compression library. You can get it from <a
                    260:  href="http://www.gzip.org/zlib/">http://www.gzip.org/zlib/</a>
                    261: but the version shipped with your distribution will be sufficient in
                    262: most cases. Make sure to have the header files
1.1       root      263: for it installed as well.
                    264: </p>
                    265: <p>
1.1.1.8 ! root      266: For optional features like PNG format screenshots and Hatari window
        !           267: embedding, you need to have the header files for libpng and libX11.
        !           268: </p>
        !           269: <p>
1.1       root      270: Of course, you need the GNU C compiler and (GNU) Make, too!
                    271: </p>
1.1.1.8 ! root      272: <p> Change to the <span class="file">hatari/</span> directory, copy
        !           273: <span class="file">Makefile-default.cnf</span> to
        !           274: <span class="file">Makefile.cnf</span> and adapt the configuration file
        !           275: to suite your system. Alternatively, you can use the supplied configure
        !           276: script to auto-detect all parameters (type
        !           277: "<span class="commandline">./configure --help</span>"
1.1.1.3   root      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 &quot;TOSDUMP&quot; 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
1.1.1.8 ! root      317: due to compatibility issues (see <span class="file">emutos.txt</span> for
        !           318: more details), but it's free and compatible with Hatari.</p>
1.1       root      319: <p>If you do not specify a TOS image on the commandline nor can Hatari
                    320: find a suitable TOS image in the default dir, you'll get the chance to
                    321: select a TOS image file from the GUI. </p>
1.1.1.5   root      322: 
                    323: <a name="Installation of the binary"></a><h3>Installation of the binary</h3>
                    324: 
1.1.1.3   root      325: <p> Type <span class="commandline">make install</span> as root to do a
                    326: systemwide installation. In this case it is recommended
                    327: to set the DATADIR variable in Makefile.cnf to a proper value. <tt>/usr/local/share/hatari</tt>
                    328: is a good value in that case.</p>
                    329: <p>The Hatari executable should now be in your PATH and accessible from
                    330: anywhere.</p>
1.1       root      331: <p> When you finally have got a TOS image, try starting Hatari with the
1.1.1.3   root      332: option <span class="commandline">--help</span> to find out more about
                    333: its command line parameters. </p>
1.1.1.5   root      334: 
                    335: <a name="Running Hatari for the first time"></a><h3>Running Hatari for the first time</h3>
                    336: 
1.1.1.3   root      337: <p> Now type <span class="commandline">hatari</span> to run the
                    338: emulator for the first time. If all goes
                    339: well, you should now be presented with a window showing you the
                    340: familiar
                    341: little green desktop of the Atari ST. Press <span class="key">F12</span>
                    342: to turn on the GUI to
                    343: configure Hatari to suit your needs, press <span class="key">F11</span>
                    344: to toggle windowed and fullscreen mode. </p>
1.1.1.5   root      345: 
                    346: <a name="Command line options"></a><h2>Command line options</h2>
                    347: 
1.1.1.7   root      348: <p>Usage:</p>
                    349: <pre>
                    350:  hatari [options] [disk image name]
                    351: </pre>
                    352: 
1.1.1.8 ! root      353: <p>Hatari command line options are split into several categories:</p>
1.1.1.7   root      354: 
1.1.1.8 ! root      355: <!--
        !           356: Generated from hatari.1 options section by changing subheaders to h3
        !           357: and removing extra paragraphs:
        !           358:   groff -man -Thtml hatari.1 | awk '
        !           359:   /OPTIONS<\/h/ { out = 1; next }
        !           360:   /INDENTATION/ { next }
        !           361:   /COMMANDS/ { out = 0; next }
        !           362:   { if(out) print }' | sed -e 's/h2/h3/g' -e 's/<\/*p>//g'
        !           363: -->
        !           364: 
        !           365: <a name="General options"></a>
        !           366: <h3>General options</h3>
        !           367: <table width="100%" border=0 rules="none" frame="void"
        !           368:        cols="2" cellspacing="0" cellpadding="0">
        !           369: <tr valign="top" align="left">
        !           370: <td width="10%"></td>
        !           371: <td width="89%">
        !           372: <b>&minus;h, &minus;&minus;help</b></td>
        !           373: </table>
        !           374: <table width="100%" border=0 rules="none" frame="void"
        !           375:        cols="2" cellspacing="0" cellpadding="0">
        !           376: <tr valign="top" align="left">
        !           377: <td width="21%"></td>
        !           378: <td width="77%">
        !           379: Print command line options and terminate
        !           380: </td>
        !           381: </table>
        !           382: <table width="100%" border=0 rules="none" frame="void"
        !           383:        cols="2" cellspacing="0" cellpadding="0">
        !           384: <tr valign="top" align="left">
        !           385: <td width="10%"></td>
        !           386: <td width="89%">
        !           387: <b>&minus;v, &minus;&minus;version</b></td>
        !           388: </table>
        !           389: <table width="100%" border=0 rules="none" frame="void"
        !           390:        cols="2" cellspacing="0" cellpadding="0">
        !           391: <tr valign="top" align="left">
        !           392: <td width="21%"></td>
        !           393: <td width="77%">
        !           394: Print version information and terminate
        !           395: </td>
        !           396: </table>
        !           397: <table width="100%" border=0 rules="none" frame="void"
        !           398:        cols="2" cellspacing="0" cellpadding="0">
        !           399: <tr valign="top" align="left">
        !           400: <td width="10%"></td>
        !           401: <td width="89%">
        !           402: <b>&minus;&minus;confirm-quit &lt;bool&gt;</b></td>
        !           403: </table>
        !           404: <table width="100%" border=0 rules="none" frame="void"
        !           405:        cols="2" cellspacing="0" cellpadding="0">
        !           406: <tr valign="top" align="left">
        !           407: <td width="21%"></td>
        !           408: <td width="77%">
        !           409: Whether Hatari confirms quitting
        !           410: </td>
        !           411: </table>
        !           412: <table width="100%" border=0 rules="none" frame="void"
        !           413:        cols="2" cellspacing="0" cellpadding="0">
        !           414: <tr valign="top" align="left">
        !           415: <td width="10%"></td>
        !           416: <td width="89%">
        !           417: <b>&minus;c, &minus;&minus;configfile
        !           418: &lt;filename&gt;</b></td>
        !           419: </table>
        !           420: <table width="100%" border=0 rules="none" frame="void"
        !           421:        cols="2" cellspacing="0" cellpadding="0">
        !           422: <tr valign="top" align="left">
        !           423: <td width="21%"></td>
        !           424: <td width="77%">
        !           425: use the given file as configuration file instead of
        !           426: ~/.hatari/hatari.cfg
        !           427: </td>
        !           428: </table>
        !           429: <table width="100%" border=0 rules="none" frame="void"
        !           430:        cols="2" cellspacing="0" cellpadding="0">
        !           431: <tr valign="top" align="left">
        !           432: <td width="10%"></td>
        !           433: <td width="89%">
        !           434: <b>&minus;&minus;fast-forward &lt;bool&gt;</b></td>
        !           435: </table>
        !           436: <table width="100%" border=0 rules="none" frame="void"
        !           437:        cols="2" cellspacing="0" cellpadding="0">
        !           438: <tr valign="top" align="left">
        !           439: <td width="21%"></td>
        !           440: <td width="77%">
        !           441: On fast machine helps skipping (fast forwarding) Hatari
        !           442: output
        !           443: </td>
        !           444: </table>
        !           445: <a name="Display options"></a>
        !           446: <h3>Display options</h3>
        !           447: <table width="100%" border=0 rules="none" frame="void"
        !           448:        cols="2" cellspacing="0" cellpadding="0">
        !           449: <tr valign="top" align="left">
        !           450: <td width="10%"></td>
        !           451: <td width="89%">
        !           452: <b>&minus;m, &minus;&minus;mono</b></td>
        !           453: </table>
        !           454: <table width="100%" border=0 rules="none" frame="void"
        !           455:        cols="2" cellspacing="0" cellpadding="0">
        !           456: <tr valign="top" align="left">
        !           457: <td width="21%"></td>
        !           458: <td width="77%">
        !           459: Start in monochrome mode instead of color
        !           460: </td>
        !           461: </table>
        !           462: <table width="100%" border=0 rules="none" frame="void"
        !           463:        cols="2" cellspacing="0" cellpadding="0">
        !           464: <tr valign="top" align="left">
        !           465: <td width="10%"></td>
        !           466: <td width="89%">
        !           467: <b>&minus;&minus;monitor &lt;x&gt;</b></td>
        !           468: </table>
        !           469: <table width="100%" border=0 rules="none" frame="void"
        !           470:        cols="2" cellspacing="0" cellpadding="0">
        !           471: <tr valign="top" align="left">
        !           472: <td width="21%"></td>
        !           473: <td width="77%">
        !           474: Select monitor type (x = mono/rgb/vga/tv)
        !           475: </td>
        !           476: </table>
        !           477: <table width="100%" border=0 rules="none" frame="void"
        !           478:        cols="2" cellspacing="0" cellpadding="0">
        !           479: <tr valign="top" align="left">
        !           480: <td width="10%"></td>
        !           481: <td width="89%">
        !           482: <b>&minus;f, &minus;&minus;fullscreen</b></td>
1.1       root      483: </table>
1.1.1.8 ! root      484: <table width="100%" border=0 rules="none" frame="void"
        !           485:        cols="2" cellspacing="0" cellpadding="0">
        !           486: <tr valign="top" align="left">
        !           487: <td width="21%"></td>
        !           488: <td width="77%">
        !           489: Start the emulator in fullscreen mode
        !           490: </td>
        !           491: </table>
        !           492: <table width="100%" border=0 rules="none" frame="void"
        !           493:        cols="2" cellspacing="0" cellpadding="0">
        !           494: <tr valign="top" align="left">
        !           495: <td width="10%"></td>
        !           496: <td width="89%">
        !           497: <b>&minus;w, &minus;&minus;window</b></td>
        !           498: </table>
        !           499: <table width="100%" border=0 rules="none" frame="void"
        !           500:        cols="2" cellspacing="0" cellpadding="0">
        !           501: <tr valign="top" align="left">
        !           502: <td width="21%"></td>
        !           503: <td width="77%">
        !           504: Start the emulator in window mode
        !           505: </td>
        !           506: </table>
        !           507: <table width="100%" border=0 rules="none" frame="void"
        !           508:        cols="2" cellspacing="0" cellpadding="0">
        !           509: <tr valign="top" align="left">
        !           510: <td width="10%"></td>
        !           511: <td width="89%">
        !           512: <b>&minus;z, &minus;&minus;zoom &lt;x&gt;</b></td>
        !           513: </table>
        !           514: <table width="100%" border=0 rules="none" frame="void"
        !           515:        cols="2" cellspacing="0" cellpadding="0">
        !           516: <tr valign="top" align="left">
        !           517: <td width="21%"></td>
        !           518: <td width="77%">
        !           519: Zoom low resolution (1=no, 2=yes)
        !           520: </td>
        !           521: </table>
        !           522: <table width="100%" border=0 rules="none" frame="void"
        !           523:        cols="2" cellspacing="0" cellpadding="0">
        !           524: <tr valign="top" align="left">
        !           525: <td width="10%"></td>
        !           526: <td width="89%">
        !           527: <b>&minus;&minus;frameskips &lt;x&gt;</b></td>
        !           528: </table>
        !           529: <table width="100%" border=0 rules="none" frame="void"
        !           530:        cols="2" cellspacing="0" cellpadding="0">
        !           531: <tr valign="top" align="left">
        !           532: <td width="21%"></td>
        !           533: <td width="77%">
        !           534: Skip &lt;x&gt; frames after each displayed frame to
        !           535: accelerate emulation (0=disabled, &gt;4 uses automatic
        !           536: frameskip with given value as maximum)
        !           537: </td>
        !           538: </table>
        !           539: <table width="100%" border=0 rules="none" frame="void"
        !           540:        cols="2" cellspacing="0" cellpadding="0">
        !           541: <tr valign="top" align="left">
        !           542: <td width="10%"></td>
        !           543: <td width="89%">
        !           544: <b>&minus;&minus;borders &lt;bool&gt;</b></td>
        !           545: </table>
        !           546: <table width="100%" border=0 rules="none" frame="void"
        !           547:        cols="2" cellspacing="0" cellpadding="0">
        !           548: <tr valign="top" align="left">
        !           549: <td width="21%"></td>
        !           550: <td width="77%">
        !           551: Show screen borders (for overscan demos, ST(e) color mode
        !           552: specific etc)
        !           553: </td>
        !           554: </table>
        !           555: <table width="100%" border=0 rules="none" frame="void"
        !           556:        cols="2" cellspacing="0" cellpadding="0">
        !           557: <tr valign="top" align="left">
        !           558: <td width="10%"></td>
        !           559: <td width="89%">
        !           560: <b>&minus;&minus;statusbar &lt;bool&gt;</b></td>
        !           561: </table>
        !           562: <table width="100%" border=0 rules="none" frame="void"
        !           563:        cols="2" cellspacing="0" cellpadding="0">
        !           564: <tr valign="top" align="left">
        !           565: <td width="21%"></td>
        !           566: <td width="77%">
        !           567: Show statusbar (with floppy leds etc etc)
        !           568: </td>
        !           569: </table>
        !           570: <table width="100%" border=0 rules="none" frame="void"
        !           571:        cols="2" cellspacing="0" cellpadding="0">
        !           572: <tr valign="top" align="left">
        !           573: <td width="10%"></td>
        !           574: <td width="89%">
        !           575: <b>&minus;&minus;drive-led &lt;bool&gt;</b></td>
        !           576: </table>
        !           577: <table width="100%" border=0 rules="none" frame="void"
        !           578:        cols="2" cellspacing="0" cellpadding="0">
        !           579: <tr valign="top" align="left">
        !           580: <td width="21%"></td>
        !           581: <td width="77%">
        !           582: Show overlay drive led when statusbar isn&rsquo;t
        !           583: shown
        !           584: </td>
        !           585: </table>
        !           586: <table width="100%" border=0 rules="none" frame="void"
        !           587:        cols="2" cellspacing="0" cellpadding="0">
        !           588: <tr valign="top" align="left">
        !           589: <td width="10%"></td>
        !           590: <td width="89%">
        !           591: <b>&minus;&minus;spec512 &lt;x&gt;</b></td>
        !           592: </table>
        !           593: <table width="100%" border=0 rules="none" frame="void"
        !           594:        cols="2" cellspacing="0" cellpadding="0">
        !           595: <tr valign="top" align="left">
        !           596: <td width="21%"></td>
        !           597: <td width="77%">
        !           598: Hatari uses this threshold to decide when to render a
        !           599: screen with the slower but more accurate Spectrum512 screen
        !           600: conversion functions (0 &lt;= x &lt;= 512, 0=disable)
        !           601: </td>
        !           602: </table>
        !           603: <table width="100%" border=0 rules="none" frame="void"
        !           604:        cols="2" cellspacing="0" cellpadding="0">
        !           605: <tr valign="top" align="left">
        !           606: <td width="10%"></td>
        !           607: <td width="89%">
        !           608: <b>&minus;&minus;bpp &lt;bool&gt;</b></td>
        !           609: </table>
        !           610: <table width="100%" border=0 rules="none" frame="void"
        !           611:        cols="2" cellspacing="0" cellpadding="0">
        !           612: <tr valign="top" align="left">
        !           613: <td width="21%"></td>
        !           614: <td width="77%">
        !           615: Force internal bitdepth (x = 8/15/16/32, 0=disable)
        !           616: </td>
        !           617: </table>
        !           618: <a name="VDI options"></a>
        !           619: <h3>VDI options</h3>
        !           620: <table width="100%" border=0 rules="none" frame="void"
        !           621:        cols="2" cellspacing="0" cellpadding="0">
        !           622: <tr valign="top" align="left">
        !           623: <td width="10%"></td>
        !           624: <td width="89%">
        !           625: <b>&minus;&minus;vdi &lt;bool&gt;</b></td>
        !           626: </table>
        !           627: <table width="100%" border=0 rules="none" frame="void"
        !           628:        cols="2" cellspacing="0" cellpadding="0">
        !           629: <tr valign="top" align="left">
        !           630: <td width="21%"></td>
        !           631: <td width="77%">
        !           632: Whether to use VDI screen mode
        !           633: </td>
        !           634: </table>
        !           635: <table width="100%" border=0 rules="none" frame="void"
        !           636:        cols="2" cellspacing="0" cellpadding="0">
        !           637: <tr valign="top" align="left">
        !           638: <td width="10%"></td>
        !           639: <td width="89%">
        !           640: <b>&minus;&minus;vdi&minus;planes &lt;x&gt;</b></td>
        !           641: </table>
        !           642: <table width="100%" border=0 rules="none" frame="void"
        !           643:        cols="2" cellspacing="0" cellpadding="0">
        !           644: <tr valign="top" align="left">
        !           645: <td width="21%"></td>
        !           646: <td width="77%">
        !           647: Use extended VDI resolution with bit depth &lt;x&gt; (x =
        !           648: 1, 2 or 4)
        !           649: </td>
        !           650: </table>
        !           651: <table width="100%" border=0 rules="none" frame="void"
        !           652:        cols="2" cellspacing="0" cellpadding="0">
        !           653: <tr valign="top" align="left">
        !           654: <td width="10%"></td>
        !           655: <td width="89%">
        !           656: <b>&minus;&minus;vdi&minus;width &lt;w&gt;</b></td>
        !           657: </table>
        !           658: <table width="100%" border=0 rules="none" frame="void"
        !           659:        cols="2" cellspacing="0" cellpadding="0">
        !           660: <tr valign="top" align="left">
        !           661: <td width="21%"></td>
        !           662: <td width="77%">
        !           663: Use extended VDI resolution with width &lt;w&gt; (384
        !           664: &lt;= w &lt;= 1024)
        !           665: </td>
        !           666: </table>
        !           667: <table width="100%" border=0 rules="none" frame="void"
        !           668:        cols="2" cellspacing="0" cellpadding="0">
        !           669: <tr valign="top" align="left">
        !           670: <td width="10%"></td>
        !           671: <td width="89%">
        !           672: <b>&minus;&minus;vdi&minus;height &lt;h&gt;</b></td>
        !           673: </table>
        !           674: <table width="100%" border=0 rules="none" frame="void"
        !           675:        cols="2" cellspacing="0" cellpadding="0">
        !           676: <tr valign="top" align="left">
        !           677: <td width="21%"></td>
        !           678: <td width="77%">
        !           679: Use extended VDI resolution with height &lt;h&gt; (200
        !           680: &lt; h &lt;= 768)
        !           681: </td>
        !           682: </table>
        !           683: <a name="Devices options"></a>
        !           684: <h3>Devices options</h3>
        !           685: <table width="100%" border=0 rules="none" frame="void"
        !           686:        cols="2" cellspacing="0" cellpadding="0">
        !           687: <tr valign="top" align="left">
        !           688: <td width="10%"></td>
        !           689: <td width="89%">
        !           690: <b>&minus;j, &minus;&minus;joystick
        !           691: &lt;port&gt;</b></td>
        !           692: </table>
        !           693: <table width="100%" border=0 rules="none" frame="void"
        !           694:        cols="2" cellspacing="0" cellpadding="0">
        !           695: <tr valign="top" align="left">
        !           696: <td width="21%"></td>
        !           697: <td width="77%">
        !           698: Emulate joystick with cursor keys in given port (0-5)
        !           699: </td>
        !           700: </table>
        !           701: <table width="100%" border=0 rules="none" frame="void"
        !           702:        cols="2" cellspacing="0" cellpadding="0">
        !           703: <tr valign="top" align="left">
        !           704: <td width="10%"></td>
        !           705: <td width="89%">
        !           706: <b>&minus;&minus;joy&lt;port&gt;
        !           707: &lt;type&gt;</b></td>
        !           708: </table>
        !           709: <table width="100%" border=0 rules="none" frame="void"
        !           710:        cols="2" cellspacing="0" cellpadding="0">
        !           711: <tr valign="top" align="left">
        !           712: <td width="21%"></td>
        !           713: <td width="77%">
        !           714: Set joystick type (none/keys/real) for given port
        !           715: </td>
        !           716: </table>
        !           717: <table width="100%" border=0 rules="none" frame="void"
        !           718:        cols="2" cellspacing="0" cellpadding="0">
        !           719: <tr valign="top" align="left">
        !           720: <td width="10%"></td>
        !           721: <td width="89%">
        !           722: <b>&minus;&minus;printer &lt;file&gt;</b></td>
        !           723: </table>
        !           724: <table width="100%" border=0 rules="none" frame="void"
        !           725:        cols="2" cellspacing="0" cellpadding="0">
        !           726: <tr valign="top" align="left">
        !           727: <td width="21%"></td>
        !           728: <td width="77%">
        !           729: Enable printer support and write data to &lt;file&gt;
        !           730: </td>
        !           731: </table>
        !           732: <table width="100%" border=0 rules="none" frame="void"
        !           733:        cols="2" cellspacing="0" cellpadding="0">
        !           734: <tr valign="top" align="left">
        !           735: <td width="10%"></td>
        !           736: <td width="89%">
        !           737: <b>&minus;&minus;midi &lt;filename&gt;</b></td>
        !           738: </table>
        !           739: <table width="100%" border=0 rules="none" frame="void"
        !           740:        cols="2" cellspacing="0" cellpadding="0">
        !           741: <tr valign="top" align="left">
        !           742: <td width="21%"></td>
        !           743: <td width="77%">
        !           744: Enable midi support and write midi data to
        !           745: &lt;file&gt;
        !           746: </td>
        !           747: </table>
        !           748: <table width="100%" border=0 rules="none" frame="void"
        !           749:        cols="2" cellspacing="0" cellpadding="0">
        !           750: <tr valign="top" align="left">
        !           751: <td width="10%"></td>
        !           752: <td width="89%">
        !           753: <b>&minus;&minus;rs232 &lt;filename&gt;</b></td>
        !           754: </table>
        !           755: <table width="100%" border=0 rules="none" frame="void"
        !           756:        cols="2" cellspacing="0" cellpadding="0">
        !           757: <tr valign="top" align="left">
        !           758: <td width="21%"></td>
        !           759: <td width="77%">
        !           760: Enable serial port support and use &lt;file&gt; as the
        !           761: device
        !           762: </td>
        !           763: </table>
        !           764: <a name="Disk options"></a>
        !           765: <h3>Disk options</h3>
        !           766: <table width="100%" border=0 rules="none" frame="void"
        !           767:        cols="2" cellspacing="0" cellpadding="0">
        !           768: <tr valign="top" align="left">
        !           769: <td width="10%"></td>
        !           770: <td width="89%">
        !           771: <b>&minus;&minus;disk-a &lt;file&gt;</b></td>
        !           772: </table>
        !           773: <table width="100%" border=0 rules="none" frame="void"
        !           774:        cols="2" cellspacing="0" cellpadding="0">
        !           775: <tr valign="top" align="left">
        !           776: <td width="21%"></td>
        !           777: <td width="77%">
        !           778: Set disk image for floppy drive A
        !           779: </td>
        !           780: </table>
        !           781: <table width="100%" border=0 rules="none" frame="void"
        !           782:        cols="2" cellspacing="0" cellpadding="0">
        !           783: <tr valign="top" align="left">
        !           784: <td width="10%"></td>
        !           785: <td width="89%">
        !           786: <b>&minus;&minus;disk-b &lt;file&gt;</b></td>
        !           787: </table>
        !           788: <table width="100%" border=0 rules="none" frame="void"
        !           789:        cols="2" cellspacing="0" cellpadding="0">
        !           790: <tr valign="top" align="left">
        !           791: <td width="21%"></td>
        !           792: <td width="77%">
        !           793: Set disk image for floppy drive B
        !           794: </td>
        !           795: </table>
        !           796: <table width="100%" border=0 rules="none" frame="void"
        !           797:        cols="2" cellspacing="0" cellpadding="0">
        !           798: <tr valign="top" align="left">
        !           799: <td width="10%"></td>
        !           800: <td width="89%">
        !           801: <b>&minus;d, &minus;&minus;harddrive
        !           802: &lt;dir&gt;</b></td>
        !           803: </table>
        !           804: <table width="100%" border=0 rules="none" frame="void"
        !           805:        cols="2" cellspacing="0" cellpadding="0">
        !           806: <tr valign="top" align="left">
        !           807: <td width="21%"></td>
        !           808: <td width="77%">
        !           809: Emulate an ST harddrive (&lt;dir&gt; = root
        !           810: directory)
        !           811: </td>
        !           812: </table>
        !           813: <table width="100%" border=0 rules="none" frame="void"
        !           814:        cols="2" cellspacing="0" cellpadding="0">
        !           815: <tr valign="top" align="left">
        !           816: <td width="10%"></td>
        !           817: <td width="89%">
        !           818: <b>&minus;&minus;acsi &lt;file&gt;</b></td>
        !           819: </table>
        !           820: <table width="100%" border=0 rules="none" frame="void"
        !           821:        cols="2" cellspacing="0" cellpadding="0">
        !           822: <tr valign="top" align="left">
        !           823: <td width="21%"></td>
        !           824: <td width="77%">
        !           825: Emulate an ACSI hard disk with an image &lt;file&gt;
        !           826: </td>
        !           827: </table>
        !           828: <table width="100%" border=0 rules="none" frame="void"
        !           829:        cols="2" cellspacing="0" cellpadding="0">
        !           830: <tr valign="top" align="left">
        !           831: <td width="10%"></td>
        !           832: <td width="89%">
        !           833: <b>&minus;&minus;ide &lt;file&gt;</b></td>
        !           834: </table>
        !           835: <table width="100%" border=0 rules="none" frame="void"
        !           836:        cols="2" cellspacing="0" cellpadding="0">
        !           837: <tr valign="top" align="left">
        !           838: <td width="21%"></td>
        !           839: <td width="77%">
        !           840: Emulate an IDE hard disk with an image &lt;file&gt; (not
        !           841: working yet)
        !           842: </td>
        !           843: </table>
        !           844: <table width="100%" border=0 rules="none" frame="void"
        !           845:        cols="2" cellspacing="0" cellpadding="0">
        !           846: <tr valign="top" align="left">
        !           847: <td width="10%"></td>
        !           848: <td width="89%">
        !           849: <b>&minus;&minus;slowfdc &lt;bool&gt;</b></td>
        !           850: </table>
        !           851: <table width="100%" border=0 rules="none" frame="void"
        !           852:        cols="2" cellspacing="0" cellpadding="0">
        !           853: <tr valign="top" align="left">
        !           854: <td width="21%"></td>
        !           855: <td width="77%">
        !           856: slow down FDC emulation (deprecated)
        !           857: </td>
        !           858: </table>
        !           859: <a name="Memory options"></a>
        !           860: <h3>Memory options</h3>
        !           861: <table width="100%" border=0 rules="none" frame="void"
        !           862:        cols="2" cellspacing="0" cellpadding="0">
        !           863: <tr valign="top" align="left">
        !           864: <td width="10%"></td>
        !           865: <td width="89%">
        !           866: <b>&minus;s, &minus;&minus;memsize &lt;x&gt;</b></td>
        !           867: </table>
        !           868: <table width="100%" border=0 rules="none" frame="void"
        !           869:        cols="2" cellspacing="0" cellpadding="0">
        !           870: <tr valign="top" align="left">
        !           871: <td width="21%"></td>
        !           872: <td width="77%">
        !           873: Set amount of emulated RAM, x = 1 to 14 MiB, or 0 for 512
        !           874: KiB
        !           875: </td>
        !           876: </table>
        !           877: <table width="100%" border=0 rules="none" frame="void"
        !           878:        cols="2" cellspacing="0" cellpadding="0">
        !           879: <tr valign="top" align="left">
        !           880: <td width="10%"></td>
        !           881: <td width="89%">
        !           882: <b>&minus;t, &minus;&minus;tos
        !           883: &lt;imagefile&gt;</b></td>
        !           884: </table>
        !           885: <table width="100%" border=0 rules="none" frame="void"
        !           886:        cols="2" cellspacing="0" cellpadding="0">
        !           887: <tr valign="top" align="left">
        !           888: <td width="21%"></td>
        !           889: <td width="77%">
        !           890: Specify TOS ROM image to use
        !           891: </td>
        !           892: </table>
        !           893: <table width="100%" border=0 rules="none" frame="void"
        !           894:        cols="2" cellspacing="0" cellpadding="0">
        !           895: <tr valign="top" align="left">
        !           896: <td width="10%"></td>
        !           897: <td width="89%">
        !           898: <b>&minus;&minus;cartridge &lt;imagefile&gt;</b></td>
        !           899: </table>
        !           900: <table width="100%" border=0 rules="none" frame="void"
        !           901:        cols="2" cellspacing="0" cellpadding="0">
        !           902: <tr valign="top" align="left">
        !           903: <td width="21%"></td>
        !           904: <td width="77%">
        !           905: Use ROM cartridge image &lt;file&gt; (only works if
        !           906: GEMDOS HD emulation and extended VDI resolution are
        !           907: disabled)
        !           908: </td>
        !           909: </table>
        !           910: <table width="100%" border=0 rules="none" frame="void"
        !           911:        cols="2" cellspacing="0" cellpadding="0">
        !           912: <tr valign="top" align="left">
        !           913: <td width="10%"></td>
        !           914: <td width="89%">
        !           915: <b>&minus;&minus;memstate &lt;file&gt;</b></td>
        !           916: </table>
        !           917: <table width="100%" border=0 rules="none" frame="void"
        !           918:        cols="2" cellspacing="0" cellpadding="0">
        !           919: <tr valign="top" align="left">
        !           920: <td width="21%"></td>
        !           921: <td width="77%">
        !           922: Load memory snap-shot &lt;file&gt;
        !           923: </td>
        !           924: </table>
        !           925: <a name="CPU options"></a>
        !           926: <h3>CPU options</h3>
        !           927: <table width="100%" border=0 rules="none" frame="void"
        !           928:        cols="2" cellspacing="0" cellpadding="0">
        !           929: <tr valign="top" align="left">
        !           930: <td width="10%"></td>
        !           931: <td width="89%">
        !           932: <b>&minus;&minus;cpulevel &lt;x&gt;</b></td>
        !           933: </table>
        !           934: <table width="100%" border=0 rules="none" frame="void"
        !           935:        cols="2" cellspacing="0" cellpadding="0">
        !           936: <tr valign="top" align="left">
        !           937: <td width="21%"></td>
        !           938: <td width="77%">
        !           939: Specify CPU (680x0) to use (use x &gt;= 1 with EmuTOS or
        !           940: TOS &gt;= 2.06 only!)
        !           941: </td>
        !           942: </table>
        !           943: <table width="100%" border=0 rules="none" frame="void"
        !           944:        cols="2" cellspacing="0" cellpadding="0">
        !           945: <tr valign="top" align="left">
        !           946: <td width="10%"></td>
        !           947: <td width="89%">
        !           948: <b>&minus;&minus;cpuclock &lt;x&gt;</b></td>
        !           949: </table>
        !           950: <table width="100%" border=0 rules="none" frame="void"
        !           951:        cols="2" cellspacing="0" cellpadding="0">
        !           952: <tr valign="top" align="left">
        !           953: <td width="21%"></td>
        !           954: <td width="77%">
        !           955: Set the CPU clock (8, 16 or 32 Mhz)
        !           956: </td>
        !           957: </table>
        !           958: <table width="100%" border=0 rules="none" frame="void"
        !           959:        cols="2" cellspacing="0" cellpadding="0">
        !           960: <tr valign="top" align="left">
        !           961: <td width="10%"></td>
        !           962: <td width="89%">
        !           963: <b>&minus;&minus;compatible &lt;bool&gt;</b></td>
        !           964: </table>
        !           965: <table width="100%" border=0 rules="none" frame="void"
        !           966:        cols="2" cellspacing="0" cellpadding="0">
        !           967: <tr valign="top" align="left">
        !           968: <td width="21%"></td>
        !           969: <td width="77%">
        !           970: Use a more compatible but slower 68000 CPU mode
        !           971: </td>
        !           972: </table>
        !           973: <a name="Misc system options"></a>
        !           974: <h3>Misc system options</h3>
        !           975: <table width="100%" border=0 rules="none" frame="void"
        !           976:        cols="2" cellspacing="0" cellpadding="0">
        !           977: <tr valign="top" align="left">
        !           978: <td width="10%"></td>
        !           979: <td width="89%">
        !           980: <b>&minus;&minus;machine &lt;x&gt;</b></td>
        !           981: </table>
        !           982: <table width="100%" border=0 rules="none" frame="void"
        !           983:        cols="2" cellspacing="0" cellpadding="0">
        !           984: <tr valign="top" align="left">
        !           985: <td width="21%"></td>
        !           986: <td width="77%">
        !           987: select machine type (x = st, ste, tt or falcon)
        !           988: </td>
        !           989: </table>
        !           990: <table width="100%" border=0 rules="none" frame="void"
        !           991:        cols="2" cellspacing="0" cellpadding="0">
        !           992: <tr valign="top" align="left">
        !           993: <td width="10%"></td>
        !           994: <td width="89%">
        !           995: <b>&minus;&minus;blitter &lt;bool&gt;</b></td>
        !           996: </table>
        !           997: <table width="100%" border=0 rules="none" frame="void"
        !           998:        cols="2" cellspacing="0" cellpadding="0">
        !           999: <tr valign="top" align="left">
        !          1000: <td width="21%"></td>
        !          1001: <td width="77%">
        !          1002: Enable blitter emulation (ST only)
        !          1003: </td>
        !          1004: </table>
        !          1005: <table width="100%" border=0 rules="none" frame="void"
        !          1006:        cols="2" cellspacing="0" cellpadding="0">
        !          1007: <tr valign="top" align="left">
        !          1008: <td width="10%"></td>
        !          1009: <td width="89%">
        !          1010: <b>&minus;&minus;dsp &lt;x&gt;</b></td>
        !          1011: </table>
        !          1012: <table width="100%" border=0 rules="none" frame="void"
        !          1013:        cols="2" cellspacing="0" cellpadding="0">
        !          1014: <tr valign="top" align="left">
        !          1015: <td width="21%"></td>
        !          1016: <td width="77%">
        !          1017: Falcon DSP emulation (x = none, dummy or emu, Falcon
        !          1018: only)
        !          1019: </td>
        !          1020: </table>
        !          1021: <table width="100%" border=0 rules="none" frame="void"
        !          1022:        cols="2" cellspacing="0" cellpadding="0">
        !          1023: <tr valign="top" align="left">
        !          1024: <td width="10%"></td>
        !          1025: <td width="89%">
        !          1026: <b>&minus;&minus;sound &lt;x&gt;</b></td>
        !          1027: </table>
        !          1028: <table width="100%" border=0 rules="none" frame="void"
        !          1029:        cols="2" cellspacing="0" cellpadding="0">
        !          1030: <tr valign="top" align="left">
        !          1031: <td width="21%"></td>
        !          1032: <td width="77%">
        !          1033: Sound quality (off/low/med/hi, off=faster)
        !          1034: </td>
        !          1035: </table>
        !          1036: <table width="100%" border=0 rules="none" frame="void"
        !          1037:        cols="2" cellspacing="0" cellpadding="0">
        !          1038: <tr valign="top" align="left">
        !          1039: <td width="10%"></td>
        !          1040: <td width="89%">
        !          1041: <b>&minus;k, &minus;&minus;keymap
        !          1042: &lt;file&gt;</b></td>
        !          1043: </table>
        !          1044: <table width="100%" border=0 rules="none" frame="void"
        !          1045:        cols="2" cellspacing="0" cellpadding="0">
        !          1046: <tr valign="top" align="left">
        !          1047: <td width="21%"></td>
        !          1048: <td width="77%">
        !          1049: load keyboard mapping from &lt;file&gt;
        !          1050: </td>
        !          1051: </table>
        !          1052: <a name="Debug options"></a>
        !          1053: <h3>Debug options</h3>
        !          1054: <table width="100%" border=0 rules="none" frame="void"
        !          1055:        cols="2" cellspacing="0" cellpadding="0">
        !          1056: <tr valign="top" align="left">
        !          1057: <td width="10%"></td>
        !          1058: <td width="89%">
        !          1059: <b>&minus;D, &minus;&minus;debug
        !          1060: &lt;bool&gt;</b></td>
        !          1061: </table>
        !          1062: <table width="100%" border=0 rules="none" frame="void"
        !          1063:        cols="2" cellspacing="0" cellpadding="0">
        !          1064: <tr valign="top" align="left">
        !          1065: <td width="21%"></td>
        !          1066: <td width="77%">
        !          1067: Enable Hatari debugger console interface
        !          1068: </td>
        !          1069: </table>
        !          1070: <table width="100%" border=0 rules="none" frame="void"
        !          1071:        cols="2" cellspacing="0" cellpadding="0">
        !          1072: <tr valign="top" align="left">
        !          1073: <td width="10%"></td>
        !          1074: <td width="89%">
        !          1075: <b>&minus;&minus;bios-intercept</b></td>
        !          1076: </table>
        !          1077: <table width="100%" border=0 rules="none" frame="void"
        !          1078:        cols="2" cellspacing="0" cellpadding="0">
        !          1079: <tr valign="top" align="left">
        !          1080: <td width="21%"></td>
        !          1081: <td width="77%">
        !          1082: Enable Bios/XBios interception
        !          1083: </td>
        !          1084: </table>
        !          1085: <table width="100%" border=0 rules="none" frame="void"
        !          1086:        cols="2" cellspacing="0" cellpadding="0">
        !          1087: <tr valign="top" align="left">
        !          1088: <td width="10%"></td>
        !          1089: <td width="89%">
        !          1090: <b>&minus;&minus;trace &lt;trace1,...&gt;</b></td>
        !          1091: </table>
        !          1092: <table width="100%" border=0 rules="none" frame="void"
        !          1093:        cols="2" cellspacing="0" cellpadding="0">
        !          1094: <tr valign="top" align="left">
        !          1095: <td width="21%"></td>
        !          1096: <td width="77%">
        !          1097: Activate debug traces, see <b>--trace help</b> for available tracing options
        !          1098: </td>
        !          1099: </table>
        !          1100: <table width="100%" border=0 rules="none" frame="void"
        !          1101:        cols="2" cellspacing="0" cellpadding="0">
        !          1102: <tr valign="top" align="left">
        !          1103: <td width="10%"></td>
        !          1104: <td width="89%">
        !          1105: <b>&minus;&minus;control-socket &lt;file&gt;</b></td>
        !          1106: </table>
        !          1107: <table width="100%" border=0 rules="none" frame="void"
        !          1108:        cols="2" cellspacing="0" cellpadding="0">
        !          1109: <tr valign="top" align="left">
        !          1110: <td width="21%"></td>
        !          1111: <td width="77%">
        !          1112: Hatari reads options from given socket at run-time
        !          1113: </td>
        !          1114: </table>
        !          1115: <table width="100%" border=0 rules="none" frame="void"
        !          1116:        cols="2" cellspacing="0" cellpadding="0">
        !          1117: <tr valign="top" align="left">
        !          1118: <td width="10%"></td>
        !          1119: <td width="89%">
        !          1120: <b>&minus;&minus;log-file &lt;file&gt;</b></td>
        !          1121: </table>
        !          1122: <table width="100%" border=0 rules="none" frame="void"
        !          1123:        cols="2" cellspacing="0" cellpadding="0">
        !          1124: <tr valign="top" align="left">
        !          1125: <td width="21%"></td>
        !          1126: <td width="77%">
        !          1127: Save log output to &lt;file&gt; (default=stderr)
        !          1128: </td>
        !          1129: </table>
        !          1130: <table width="100%" border=0 rules="none" frame="void"
        !          1131:        cols="2" cellspacing="0" cellpadding="0">
        !          1132: <tr valign="top" align="left">
        !          1133: <td width="10%"></td>
        !          1134: <td width="89%">
        !          1135: <b>&minus;&minus;log-level &lt;x&gt;</b></td>
        !          1136: </table>
        !          1137: <table width="100%" border=0 rules="none" frame="void"
        !          1138:        cols="2" cellspacing="0" cellpadding="0">
        !          1139: <tr valign="top" align="left">
        !          1140: <td width="21%"></td>
        !          1141: <td width="77%">
        !          1142: Log output level (x=debug/todo/info/warn/error/fatal)
        !          1143: </td>
        !          1144: </table>
        !          1145: <table width="100%" border=0 rules="none" frame="void"
        !          1146:        cols="2" cellspacing="0" cellpadding="0">
        !          1147: <tr valign="top" align="left">
        !          1148: <td width="10%"></td>
        !          1149: <td width="89%">
        !          1150: <b>&minus;&minus;alert-level &lt;x&gt;</b></td>
        !          1151: </table>
        !          1152: <table width="100%" border=0 rules="none" frame="void"
        !          1153:        cols="2" cellspacing="0" cellpadding="0">
        !          1154: <tr valign="top" align="left">
        !          1155: <td width="21%"></td>
        !          1156: <td width="77%">
        !          1157: Show dialog for log messages above given level
        !          1158: </td>
        !          1159: </table>
        !          1160: 
1.1.1.5   root     1161: 
1.1.1.7   root     1162: <p>Type <span class="commandline">hatari --help</span> to list all
                   1163: the command line options supported by a given version of Hatari.</p>
                   1164: 
1.1.1.5   root     1165: <a name="Using the emulated system"></a><h2>Using the emulated system</h2>
                   1166: 
1.1       root     1167: <p> Once you've started Hatari succesfully, you can use the emulator as
                   1168: an allmost complete Atari ST computer system. </p>
1.1.1.5   root     1169: 
                   1170: <a name="The GUI"></a><h3>The GUI</h3>
                   1171: 
1.1.1.3   root     1172: <p>Press <span class="key">F12</span> to enter the GUI. Navigate it
                   1173: with the mouse.
1.1       root     1174: The GUI is rather self explanatory.</p>
1.1.1.5   root     1175: 
1.1.1.8 ! root     1176: <a name="The Main Menu"></a><h4 class="gui">The Main Menu</h4>
1.1.1.5   root     1177: 
                   1178: <div class="floatimage">
                   1179: <img src="images/main.png" width="360" height="352" alt="Hatari's GUI - the main menu">
                   1180: </div>
                   1181: 
                   1182: <p>From the main menu, you can reach the other setup dialogs by clicking on
                   1183: the appropriate buttons.</p>
                   1184: 
                   1185: <p>You can load the current settings from a configuration file by clicking
                   1186: on the <span class="button">Load config</span> button and you can save the
                   1187: current settings to a configuration file with the <span class="button">Save
                   1188: config</span> button.</p>
                   1189: 
1.1.1.3   root     1190: <p>Click <span class="button">Okay</span> to go back to the emulated
1.1.1.5   root     1191: ST. All changed options will be applied.</p>
1.1.1.3   root     1192: <p>Check the <span class="button">Reset ST</span> option if you want
1.1.1.5   root     1193: the emulated ST to perform a cold reset. This is equal to
                   1194: switching the power off and on again on a real ST.
1.1.1.3   root     1195: </p>
                   1196: <p>Click <span class="button">Quit</span> to terminate Hatari and
                   1197: return to the host OS.</p>
                   1198: <p>Click <span class="button">Cancel</span> to abandon any changes
1.1.1.5   root     1199: that you have made.</p>
                   1200: 
1.1.1.8 ! root     1201: <a name="The System Dialog"></a><h4 class="gui">The System Dialog</h4>
1.1.1.5   root     1202: 
                   1203: <div class="floatimage">
                   1204: <img src="images/system.png" width="360" height="368" alt="Hatari's GUI - the system dialog">
                   1205: </div>
                   1206: 
1.1.1.7   root     1207: <p>
                   1208:  First you can select the CPU type here. Here are some important hints for
                   1209:  choosing the correct CPU type:
                   1210: </p>
                   1211: <ul>
                   1212:  <li>
                   1213:   Atari ST and STE have only been shipped with a 68000 CPU, so for best
                   1214:   compatibility with old programs, choose this CPU type.
                   1215:  </li>
                   1216:  <li>
                   1217:   Atari TT and Falcon computers were using the 68030 CPU, so you should switch
                   1218:   either to 68020 or 68020+FPU when you want to use TT or Falcon mode.
                   1219:   (The 68020 and 68030 were pretty much the same apart from some minor details).
                   1220:  </li>
                   1221:  <li>
                   1222:   TOS 1.0x only works with 68000, while TOS 3.0x and 4.0x work only with a CPU
                   1223:   &gt;= 68020.
                   1224:  </li>
                   1225:  <li>
                   1226:   68010 and 68040 have never been used in official Atari computers, so don't
                   1227:   use these CPU types unless you've got some good reasons.
                   1228:  </li>
                   1229: </ul>
                   1230: 
                   1231: <p>
                   1232:  Beside the CPU type, you can also choose the machine type to emulate.
                   1233:  The ST was the very first 16/32-bit computer from Atari. Most older games
                   1234:  and demos require an ST. The STE was introduced some years later and had
                   1235:  some more advanced hardware features. There are not that many demos or
                   1236:  games that really require an STE but since most normal ST games/demos also
                   1237:  work with an STE, it's normally safe to always work in STE mode.
                   1238:  <br>
                   1239:  TT and Falcon are more advanced, but they are not as compatible to the ST as
1.1.1.8 ! root     1240:  the STE was. Therefore many old games and demos do not work with these machine
        !          1241:  types anymore. There were only very few programs that were made for the TT
1.1.1.7   root     1242:  exclusively, while there were some interesting games and demos specially made
                   1243:  for the Falcon.
                   1244:  <em>Note:</em> TT and Falcon emulation are very incomplete. They may not work
                   1245:  very well.
                   1246: </p>
                   1247: <p>
                   1248:  For STE emulation a STE compatible TOS image, e.q. version 1.06, 1.62 or
                   1249:  2.x, is strongly recommended. For TT emulation you need TOS 3.0x and for Falcon
                   1250:  emulation you need TOS 4.0x. EmuTOS can be used on all machine types.
                   1251: </p>
                   1252: <p>
                   1253:  Select the CPU clock you want to use. 8Mhz is ST standard and the most
                   1254:  compatible. Use 16MHz for Mega STE and Falcon emulation.
                   1255:  The CPU in the TT was clocked with 32 MHz.
                   1256: </p>
1.1.1.5   root     1257: <p>With the &quot;Slower but more compatible CPU&quot; option, you can enable
                   1258:  the emulation of 68k address errors and the CPU prefetch buffer. This is needed
                   1259:  for best compatibility, but it slows down emulation a little bit so you can
                   1260:  disable it if you don't need it.</p>
                   1261: <p>You can also enable/disable Blitter emulation here. The Blitter is a custom
                   1262:  chip that accelerates some graphical operations. This switch only toggles the
                   1263:  Blitter in plain ST mode. In STE mode, the Blitter is always enabled (since all
                   1264:  STEs have been sold with a Blitter chip).</p>
                   1265: <p>If you enable the &quot;Real time clock emulation&quot; switch, a RTC will
                   1266:  be emulated based on the time of the host computer. Note that you need at least
                   1267:  TOS 1.02 for proper RTC emulation, TOS 1.00 does not support this.</p>
                   1268: <p>The Timer-D patch changes the Timer-D initialization from TOS. TOS uses
                   1269:  the MFP timer D as a baudrate generator for RS232. However, the TOS default
                   1270:  value slows down the emulation. The patch gives you a better performance.
1.1.1.7   root     1271:  It is normally safe to enable the patch, but if you encounter a program that
1.1.1.5   root     1272:  does not work, you can try to disable the patch to see if it works then.</p>
1.1.1.8 ! root     1273: <p>
        !          1274:  Select if you want to use slow FDC emulation. &quot;Slow down FDC&quot; is
        !          1275:  normally not required, except for some few slideshows / intros which run too
        !          1276:  fast without this option.
        !          1277: </p>
1.1.1.3   root     1278: <p><em>NOTE:</em> These parameters are very sensitive to the emulated
                   1279: ST and it is strongly recommended to
1.1       root     1280: reset the emulated ST after changing these options.</p>
1.1.1.5   root     1281: 
1.1.1.8 ! root     1282: <a name="The Disks Dialog"></a><h4 class="gui">The Disks Dialog</h4>
1.1.1.5   root     1283: 
                   1284: <div class="image" align="center">
1.1.1.8 ! root     1285: <img src="images/discs.png" width="640" height="399" alt="Hatari's GUI - the disks dialog">
1.1.1.5   root     1286: </div>
                   1287: 
1.1.1.3   root     1288: <p>Use the upper dialog to choose which floppy disks should be emulated
                   1289: in the disk drives.</p>
1.1.1.5   root     1290: 
1.1.1.8 ! root     1291: <p>You can use most standard Atari ST disk image files. You may select
        !          1292: and browse also zipped disk images. See the chapter "Floppy disk images"
1.1       root     1293: for details.</p>
1.1.1.5   root     1294: 
1.1.1.8 ! root     1295: <p>Click on the button <span class="button">Browse</span> next to the
        !          1296: A: and B: option to go to the fileselector:
1.1.1.5   root     1297: </p>
                   1298: 
                   1299: <div class="image" align="center">
1.1.1.8 ! root     1300: <img src="images/fileselector.png" width="640" height="399" alt="Hatari's GUI - the fileselector">
1.1.1.5   root     1301: </div>
                   1302: 
1.1.1.3   root     1303: <p>Click on <span class="button">Eject</span> to eject a disk image
                   1304: from the emulated drive. The emulated ST will act as if had no floppy
                   1305: disk in its drive.</p>
                   1306: <p>You can specify a default directory where Hatari will start to
                   1307: browse the filesystem.</p>
1.1.1.2   root     1308: <p>
1.1.1.6   root     1309: Check the "Auto insert B" option if you want Hatari to be smart and
                   1310: insert the second disk of a two disk game automatically.
                   1311: Some games then use the second drive automatically.
                   1312: In the case that a game is not able to find the disk in the second drive,
                   1313: you have to insert the second disk in drive A: manually when prompted.
                   1314: <br>
                   1315: <em>NOTE:</em> This option only works properly if the file name of the
                   1316: first disks ends with an 'a' before the extension and the second disk name
                   1317: ends with a 'b'.
1.1.1.2   root     1318: </p>
1.1.1.3   root     1319: <p>If you need to create a new blank disk image, click on <span
                   1320:  class="button">Create disk image</span>.
                   1321: Parameters for the new image can be set in the following dialog. Click
                   1322: on <span class="create">create</span> to create the image or on <span
                   1323:  class="button">back</span> to get back to the
1.1.1.2   root     1324: disk dialog.
                   1325: </p>
                   1326: <p>
1.1.1.3   root     1327: After clicking <span class="button">create</span>, a fileselector
                   1328: appears. You can browse the filesystem now. Select the target
                   1329: directory, click beside File:
                   1330: and type in a name for the new disk image. The name should terminate
                   1331: with .st or .msa.
1.1.1.2   root     1332: </p>
1.1.1.3   root     1333: <p>Hatari can currently create plain .ST and .MSA disk images
                   1334: exclusively.</p>
1.1.1.4   root     1335: <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
                   1336: enable the write protection option. However you can't save highscores or games to your disk images then.</p>
1.1.1.2   root     1337: <p>Use the lower dialog to change the harddisk settings.</p>
1.1.1.3   root     1338: <p>You can select a harddrive image for harddrive emulation via image
                   1339: file here or you may select
                   1340: a directory of your local filesystem to be emulated as the ST's
                   1341: harddrive.</p>
                   1342: <p>Check "Boot from HD" if you want Hatari to execute the AUTO folder
                   1343: on the harddrive.
                   1344: This option is checked by default if you specify a harddrive image or a
                   1345: directory via the command line.</p>
1.1.1.5   root     1346: 
1.1.1.8 ! root     1347: <a name="The Memory Dialog"></a><h4 class="gui">The Memory Dialog</h4>
1.1.1.5   root     1348: 
1.1.1.8 ! root     1349: <div class="floatimage">
        !          1350: <img src="images/memory.png" width="398" height="349" alt="Hatari's GUI - the memory dialog">
1.1.1.5   root     1351: </div>
                   1352: 
1.1.1.3   root     1353: <p>You can select the amount of RAM for the emulated ST here. Only
                   1354: amounts that were valid on a real unmodified STFM can be selected.</p>
                   1355: <p><em>Note:</em> This option is critical and you are strongly advised
                   1356: to reset the emulated ST
1.1       root     1357: when changing this option.</p>
1.1.1.2   root     1358: <p>Here you will find the options to save memory snapshots as well.</p>
1.1.1.3   root     1359: <p>Click on <span class="button">Save</span> to save a memory snapshot
                   1360: to file. You can select a new filename here.</p>
                   1361: <p>Click on <span class="button">Restore</span> to restore a memory
                   1362: snapshot from a file. Use the fileselector to select the snapshot to be
                   1363: restored.</p>
                   1364: <p><em>NOTE:</em> Memory snapshots are not interchangeable between
                   1365: different versions of Hatari. E.q. if you compile a newer Hatari, you
                   1366: cannot load your old memory snapshots back.</p>
                   1367: 
1.1.1.5   root     1368: 
1.1.1.8 ! root     1369: <a name="The ROM Dialog"></a><h4 class="gui">The ROM Dialog</h4>
        !          1370: 
        !          1371: <div class="floatimage">
        !          1372: <img src="images/tos.png" width="519" height="367" alt="Hatari's GUI - the ROM dialog">
1.1.1.5   root     1373: </div>
                   1374: 
1.1.1.3   root     1375: <p>Here you can select the TOS image to use. Click on <span
1.1.1.5   root     1376:  class="button">Browse</span> to select it via the fileselector.
1.1.1.3   root     1377: You can also select an optional cartridge image to use. Click on <span
1.1.1.4   root     1378:  class="button">Browse</span> to select one via the fileselector. Click on <span
1.1.1.5   root     1379:  class="button">Eject</span> to disconnect the custom cartridge image.
                   1380: </p>
1.1.1.7   root     1381: <p>
                   1382: For ST mode, use TOS 1.00, 1.02, 1.04 or 2.06.
                   1383: For STE mode, use TOS 1.06, 1.62, 2.05 or 2.06.
                   1384: If you want to use the TT mode, you must specify a TOS 3.06 image here.
                   1385: And in Falcon mode, you have to use either TOS 4.00, 4.02, 4.04 or 4.92.
                   1386: However, you should always use TOS 4.04 for Falcon mode, it's the most common one.
                   1387: Also note that TOS 4.92 can not be booted from a boot disk (like it's done on a
                   1388: real Falcon), you have to specify it directly in the TOS ROM setup dialog here.
                   1389: </p>
                   1390: <p>
                   1391: Keep in mind that any custom cartridge image will not work together with
1.1.1.5   root     1392: GEMDOS hard disk emulation or the VDI extended resolution emulation
1.1.1.3   root     1393: since some additional driver code will be used in the cartridge memory
1.1.1.7   root     1394: space for these emulations.
                   1395: </p>
                   1396: <p>
                   1397: <em>Note:</em> These options are critical and you are strongly
1.1.1.3   root     1398: advised to reset the emulated ST
1.1.1.7   root     1399: when changing one of these option.
                   1400: </p>
1.1.1.5   root     1401: 
1.1.1.8 ! root     1402: 
        !          1403: <a name="The Joystick Dialog"></a><h4 class="gui">The Joystick Dialog</h4>
1.1.1.5   root     1404: 
                   1405: <div class="floatimage">
                   1406: <img src="images/joystick.png" width="320" height="288" alt="Hatari's GUI - the joystick dialog">
                   1407: </div>
                   1408: 
                   1409: <p>In this dialog, you can configure the emulated joysticks.
                   1410: With the upper two arrows, you can choose the joystick which you want to
                   1411: configure.</p>
1.1.1.3   root     1412: <p>Joystick 1 is the normal ST joystick port and 99.9% of all ST games
1.1.1.5   root     1413: use this port.
                   1414: Joystick 0 emulates a joystick plugged into the ST mouse port
                   1415: and is often used in games for two players.</p>
                   1416: <p>With STE joypad A and B, you can enable the emulation of Jaguar joypads
                   1417: which are plugged in the enhanced joystick ports of the Atari STE.
                   1418: Only very few STE games support these joypads, so you often won't need this.</p>
                   1419: <p>Finally, Hatari also emulates joysticks which were plugged on the parallel
                   1420: port with a special adapter on a real ST. These were used in some few
                   1421: multi-player games like &quot;Gauntlet 2&quot;.</p>
                   1422: <p>For each ST joystick, choose whether you want to disable it,
                   1423: use the keyboard for emulation or use a real PC joystick.</p>
                   1424: <p>For keyboard emulation, you can select the keys by pressing the
                   1425: <span class="button">Define keys</span> button. You will be prompted to press
                   1426: the keys for up, down, left, right and fire.</p>
                   1427: <p>If you want to use a real PC joystick for the emulation, you should connect
                   1428: it to your PC before you start Hatari. Then you can choose the joystick with
                   1429: the two lower arrows.</p>
                   1430: <p>Check the &quot;Enable autofire&quot; option if you are too lazy to pound
                   1431: on the fire button in shoot'em-up games. However, this option only works with
                   1432: certain games. In some other games, it gets worse if you enable this option.</p>
                   1433: <p>See also the chapter "Emulated Joystick" for details.</p>
                   1434: 
1.1.1.8 ! root     1435: 
        !          1436: <a name="The Screen Dialog"></a><h4 class="gui">The Screen Dialog</h4>
1.1.1.5   root     1437: 
1.1.1.7   root     1438: <div class="floatimage">
1.1.1.8 ! root     1439: <img src="images/screen.png" width="498" height="399" alt="Hatari's GUI - the screen dialog">
1.1.1.5   root     1440: </div>
1.1       root     1441: 
1.1.1.7   root     1442: <p>
                   1443:  Here you control the video output of the emulated Atari.
                   1444: </p>
                   1445: <p>
                   1446:  Check &quot;Fullscreen&quot; to run Hatari fullscreen, default is windowed.
                   1447: </p>
                   1448: <p>
                   1449:  &quot;Use Borders&quot; toggles the displaying of the borders around the ST
                   1450:  screen. Some few demos/games use the borders for displaying additional
                   1451:  graphics. However, when you enable this option, it increases CPU computing
                   1452:  time, so you should not enable it if you have a slow computer.
                   1453:  Please note that this option also only affects the ST and STE mode, TT and
                   1454:  Falcon modes are always displayed without borders.
                   1455: </p>
                   1456: <p>
                   1457:  &quot;Zoom ST-Low res.&quot; controls whether Hatari doubles the low
                   1458:  resolutions. For example Hatari then zooms the ST low resolution 320x200 to
                   1459:  640x400 and it doubles 384x267 (ST low with borders) to 768x534.
                   1460:  Note that zooming also takes a lot of CPU computing time and should not be
                   1461:  enabled on slow computers.
                   1462: </p>
                   1463: <p>
1.1.1.8 ! root     1464:  &quot;Statusbar&quot; toggles the statusbar at the bottom of the screen.
        !          1465:  The statusbar shows the floppy drive LEDs, the current frameskip value,
        !          1466:  the machine type including TOS version and memory size, and whether
        !          1467:  recording is currently active.
1.1.1.7   root     1468: </p>
                   1469: <p>
                   1470:  The &quot;Frame Skip&quot; option can be set to speed up the emulator
1.1.1.8 ! root     1471:  if it is running too slow on your system. Disable frame-skip if you have
        !          1472:  a fast computer. When selecting 1, 2 or 4, drawing of corresponding number
        !          1473:  of frames will be skipped after each frame actually shown by Hatari.
        !          1474:  Select &quot;Auto&quot; to let the emulator to decide whether, and
        !          1475:  how many frames will be skipped.<br>
        !          1476:  <em>Note:</em> The frameskip option also affects the frame rate of the
        !          1477:  screen animation recording!
1.1.1.7   root     1478: </p>
                   1479: <p>
                   1480:  You can select which sort of monitor to use. This option depends on the
                   1481:  machine type which you have selected in the &quot;System options&quot;
                   1482:  dialog. In ST and STE mode, you can choose between monochrome mode (select
                   1483:  &quot;Mono&quot;) and color mode (select one of the other monitor types).
                   1484:  Note that when you select &quot;TV&quot; and use zoomed low resolution or
                   1485:  switch to ST medium resolution, you will get a TV-like screen rendering
                   1486:  which is a little bit faster but darker compared to the normal &quot;RGB&quot;
                   1487:  monitor mode. Switching between mono and a color monitor acts like a monitor
                   1488:  switch on a real ST - so beware, this will reboot your emulated system!<br>
                   1489:  In TT mode, you can only choose between TT-high resolution (&quot;Mono&quot;)
                   1490:  and normal modes (select one of the other monitor types).
                   1491:  Finally the Falcon mode supports all four types of monitors. Note that most
                   1492:  Falcon demos/games require a RGB or TV mode and do not work with VGA.
                   1493: </p>
                   1494: <p>
1.1.1.3   root     1495: Extended GEM resolutions will emulate some sort of extended graphics
                   1496: card in the emulated ST giving you larger resolutions and a higher
                   1497: colordepth in GEM. Select a resolution and color depth. Check to
                   1498: activate. It will disable all other video options mentioned above.
                   1499: Uncheck to get back to a normal ST behaviour.<br>
                   1500: <em>Note:</em> Using an extended resolution will only work with GEM
                   1501: conformant applications. 99% of all games and demos will not run if you
1.1.1.7   root     1502: activate any extended resolution here.
                   1503: </p>
1.1.1.3   root     1504: <p>Click <span class="button">Capture Screen</span> to create a
1.1.1.8 ! root     1505: screenshot in PNG (or BMP) format to the current working directory or click
        !          1506: <span class="button">Record Animation</span> to record a sequence of single
1.1.1.3   root     1507: screenshots. You can opt to only record new movie frames when the
                   1508: screen content really changed.
1.1       root     1509: </p>
1.1.1.5   root     1510: 
1.1.1.8 ! root     1511: 
        !          1512: <a name="The Keyboard Dialog"></a><h4 class="gui">The Keyboard Dialog</h4>
1.1.1.5   root     1513: 
                   1514: <div class="floatimage">
1.1.1.8 ! root     1515: <img src="images/keyboard.png" width="459" height="223" alt="Hatari's GUI - the keyboard dialog">
1.1.1.5   root     1516: </div>
                   1517: 
                   1518: <p>Here you can select the keyboard mapping to use. Two different mappings
                   1519:  called &quot;Symbolic&quot; and &quot;Scancode&quot; are predefined.</p>
                   1520: <p>&quot;Symbolic&quot; tries to map the symbolic values of your PC keys
                   1521:  to the ST keys. It should be working pretty good on all systems as long
                   1522:  as your keyboard layout looks close to the standard english keyboard
                   1523:  layout. However, you might experience some problems with special keys like
                   1524:  brackets etc.</p>
                   1525: <p>&quot;Scancode&quot; uses the scancode values of your PC keys for keyboard
                   1526:  mapping. This only works on certain architectures like Linux where the
                   1527:  scancodes are similar to the ST scancodes (e.g. it does not work on Mac OS X).
                   1528:  If it works on your system, this often gives better results than the symbolic
                   1529:  mapping. Note that you also need a TOS version with the right language
                   1530:  (e.g. use a French TOS if you are using a French keyboard).</p>
                   1531: <p>You can also load a custom keyboard mapping file here if you wish. Please
1.1.1.6   root     1532:  note that the custom keyboard mapping will use the &quot;symbolic&quot;
                   1533:  mapping for all keys that are not defined by your map file. Have a look
                   1534:  at the supplied example mapfile (keymap-sample.txt) to see how to create
                   1535:  your own keyboard mapping.</p>
1.1.1.8 ! root     1536: <p>
        !          1537:  When the emulator runs in fast forward mode, and you want to type text,
        !          1538:  it can be annoying that the emulated system detects multiple key events
        !          1539:  due to the key repetition of the emulated system. To avoid this you can
        !          1540:  disable the key repetition in fast forward mode here.
        !          1541: </p>
1.1.1.5   root     1542: 
                   1543: 
1.1.1.8 ! root     1544: <a name="The Sound Dialog"></a><h4 class="gui">The Sound Dialog</h4>
        !          1545: 
        !          1546: <div class="floatimage">
        !          1547: <img src="images/sound.png" width="379" height="383" alt="Hatari's GUI - the sound dialog">
1.1.1.5   root     1548: </div>
                   1549: 
1.1.1.2   root     1550: <p>Here you can control the sound subsystem.</p>
1.1.1.3   root     1551: <p>Check if you want emulated sound at all. Emulation is faster if
                   1552: sound emulation is turned off.</p>
                   1553: <p>3 frequencies from low to high quality are available. Experiment a
                   1554: little bit to find out which fits best for your setup.
1.1       root     1555: Medium quality will work ok in most cases.</p>
1.1.1.8 ! root     1556: <p>You can select to record a piece of sound here. The file name
        !          1557: extension you use (.WAV or .YM), determines in which format the sound
        !          1558: is recorded in.  The record button is a toggle so you will need to
        !          1559: return to the GUI to switch sound recording off again
        !          1560: (or to use the keyboard shortcut for that).</p>
1.1.1.5   root     1561: 
                   1562: 
1.1.1.8 ! root     1563: <a name="The Devices Dialog"></a><h4 class="gui">The Devices Dialog</h4>
1.1.1.5   root     1564: 
1.1.1.8 ! root     1565: <div class="floatimage">
        !          1566: <img src="images/devices.png" width="519" height="351" alt="Hatari's GUI - the device dialog">
1.1.1.5   root     1567: </div>
                   1568: 
1.1.1.8 ! root     1569: <p>Check here if you want to enable experimental printer support. See
        !          1570: the chapter "Emulated printer" for details.</p>
        !          1571: 
1.1.1.3   root     1572: <p>As Hatari currently only supports printing to file, click on <span
                   1573:  class="button">Select</span> to select the file to print to. You can
                   1574: enter a new filename as well.</p>
                   1575: <p>Check the second checkmark if you want to enable experimental RS232
                   1576: support. The RS232 device is configured according to the settings of
                   1577: the emulated RS232 of the Atari ST. This means Hatari will
                   1578: automatically use baudrate and handshaking as configured for the
                   1579: emulated ST.</p>
                   1580: <p>Select a suitable device file for input and output. Click on <span
                   1581:  class="button">Browse</span> to select.
1.1.1.2   root     1582: A good choice is /dev/ttyS0 or /dev/ttyS1.
                   1583: </p>
1.1.1.3   root     1584: <p>You can enable MIDI as well. This currently works for outputting
                   1585: MIDI data only. A good choice is /dev/midi00.</p>
                   1586: <p>Click on <span class="button">Browse</span> to select a suitable
                   1587: MIDI device file for output.</p>
1.1.1.2   root     1588: <p>Your sound driver must support MIDI to make this work.</p>
                   1589: <p><em>NOTE:</em> RS232 and MIDI emulation are very experimental, too.
                   1590: Don't enable them unless you really need them!
                   1591: </p>
1.1.1.5   root     1592: 
1.1.1.8 ! root     1593: 
        !          1594: <a name="Keyboard shortcuts"></a><h3 style="clear:both;">Keyboard shortcuts</h3>
1.1.1.5   root     1595: 
1.1       root     1596: <p> While the emulator is running, you can activate or toggle various
1.1.1.6   root     1597: features via Hatari keyboard shortcuts. Below are listed the default
                   1598: shortcut key bindings:</p>
1.1.1.3   root     1599: <table border="1" cellpadding="3">
1.1       root     1600:   <tbody>
                   1601:     <tr class="backdropped">
                   1602:       <td align="center">Shortcut</td>
                   1603:       <td align="center">Purpose</td>
                   1604:     </tr>
                   1605:     <tr>
1.1.1.2   root     1606:       <td align="center"><span class="key">ALTGR+a</span></td>
                   1607:       <td align="center">record animation</td>
                   1608:     </tr>
                   1609:     <tr>
1.1       root     1610:       <td align="center"><span class="key">ALTGR+g</span></td>
1.1.1.8 ! root     1611:       <td align="center">grab a screenshot</td>
1.1       root     1612:     </tr>
                   1613:     <tr>
1.1.1.2   root     1614:       <td align="center"><span class="key">ALTGR+i</span></td>
1.1.1.8 ! root     1615:       <td align="center">boss key: leave full screen mode, pause Hatari
        !          1616: and iconify its window</td>
1.1.1.2   root     1617:     </tr>
                   1618:     <tr>
1.1       root     1619:       <td align="center"><span class="key">ALTGR+j</span></td>
1.1.1.8 ! root     1620:       <td align="center">toggle joystick emulation via cursor keys
        !          1621: on/off between ports 0 and 1</td>
1.1       root     1622:     </tr>
                   1623:     <tr>
                   1624:       <td align="center"><span class="key">ALTGR+m</span></td>
1.1.1.8 ! root     1625:       <td align="center">(un-)lock the mouse into the window</td>
1.1       root     1626:     </tr>
                   1627:     <tr>
                   1628:       <td align="center"><span class="key">ALTGR+r</span></td>
1.1.1.2   root     1629:       <td align="center">(warm) reset the ST</td>
1.1       root     1630:     </tr>
                   1631:     <tr>
                   1632:       <td align="center"><span class="key">ALTGR+c</span></td>
1.1.1.3   root     1633:       <td align="center">coldreset the ST (same as the original power
                   1634: switch)</td>
1.1       root     1635:     </tr>
                   1636:     <tr>
1.1.1.8 ! root     1637:       <td align="center"><span class="key">ALTGR+d</span></td>
        !          1638:       <td align="center">open dialog to select/change disk A</td>
        !          1639:     </tr>
        !          1640:     <tr>
1.1.1.2   root     1641:       <td align="center"><span class="key">ALTGR+s</span></td>
                   1642:       <td align="center">enable/disable sound</td>
                   1643:     </tr>
                   1644:     <tr>
1.1       root     1645:       <td align="center"><span class="key">ALTGR+q</span></td>
                   1646:       <td align="center">quit the emulator</td>
                   1647:     </tr>
                   1648:     <tr>
1.1.1.2   root     1649:       <td align="center"><span class="key">ALTGR+x</span></td>
                   1650:       <td align="center">toggle normal/max speed</td>
                   1651:     </tr>
                   1652:     <tr>
                   1653:       <td align="center"><span class="key">ALTGR+y</span></td>
                   1654:       <td align="center">enable/disable sound recording</td>
                   1655:     </tr>
                   1656:     <tr>
1.1.1.7   root     1657:       <td align="center"><span class="key">ALTGR+k</span></td>
                   1658:       <td align="center">save memory snapshot</td>
                   1659:     </tr>
                   1660:     <tr>
                   1661:       <td align="center"><span class="key">ALTGR+l</span></td>
                   1662:       <td align="center">load memory snapshot</td>
                   1663:     </tr>
                   1664:     <tr>
1.1.1.5   root     1665:       <td align="center"><span class="key">ALTGR+f or F11</span></td>
1.1.1.8 ! root     1666:       <td align="center">toggle between fullscreen and windowed mode</td>
1.1       root     1667:     </tr>
                   1668:     <tr>
1.1.1.5   root     1669:       <td align="center"><span class="key">ALTGR+o or F12</span></td>
1.1.1.8 ! root     1670:       <td align="center">activate the options GUI</td>
1.1       root     1671:     </tr>
                   1672:     <tr>
                   1673:       <td align="center"><span class="key">PAUSE</span></td>
1.1.1.8 ! root     1674:       <td align="center">pause emulation or go to the debugger
        !          1675:           if Hatari was started with the -D option</td>
1.1       root     1676:     </tr>
                   1677:   </tbody>
                   1678: </table>
1.1.1.5   root     1679: 
1.1.1.6   root     1680: <p>You can change the key bindings from the Hatari configuration file.
                   1681: The required key values you can see from the SDL_keysym.h include file
1.1.1.8 ! root     1682: (usually in /usr/include/SDL/).</p>
1.1.1.6   root     1683: 
                   1684: 
1.1.1.5   root     1685: <a name="Emulated Atari ST keyboard"></a><h3>Emulated Atari ST keyboard</h3>
                   1686: 
1.1       root     1687: <p> All other keys on the keyboard act as the normal Atari ST keys so
                   1688: pressing SPACE on your PC will result in an emulated press of the SPACE
                   1689: key on the ST. The following keys have special meanings: </p>
1.1.1.3   root     1690: <table border="1" cellpadding="3">
1.1       root     1691:   <tbody>
                   1692:     <tr class="backdropped">
                   1693:       <td align="center">Key</td>
                   1694:       <td align="center">Meaning</td>
                   1695:     </tr>
                   1696:     <tr>
                   1697:       <td align="center"><span class="key">Alt</span></td>
                   1698:       <td align="center">will act as the ST's ALTERNATE key</td>
                   1699:     </tr>
                   1700:     <tr>
                   1701:       <td align="center"><span class="key">left CTRL</span></td>
                   1702:       <td align="center">will act as the ST's CONTROL key</td>
                   1703:     </tr>
                   1704:     <tr>
1.1.1.2   root     1705:       <td align="center"><span class="key">Print Screen</span></td>
1.1       root     1706:       <td align="center">will emulate the ST's HELP key</td>
                   1707:     </tr>
                   1708:     <tr>
1.1.1.2   root     1709:       <td align="center"><span class="key">Scroll Lock</span></td>
1.1       root     1710:       <td align="center">will emulate the ST's UNDO key</td>
                   1711:     </tr>
1.1.1.2   root     1712:     <tr>
                   1713:       <td align="center"><span class="key">Page Up</span></td>
                   1714:       <td align="center">will emulate the ST's ( key in the keypad</td>
                   1715:     </tr>
                   1716:     <tr>
                   1717:       <td align="center"><span class="key">Page Down</span></td>
                   1718:       <td align="center">will emulate the ST's ) in the keypad</td>
                   1719:     </tr>
1.1       root     1720:   </tbody>
                   1721: </table>
1.1.1.5   root     1722: 
1.1.1.8 ! root     1723: <p>If joystick emulation via keyboard is enabled, by default cursor keys
        !          1724: are used for the directions and <span class="key">right CTRL</span> key
        !          1725: as the fire button. Otherwise they act as corresponding keys of the emulated
        !          1726: Atari ST.</p>
        !          1727: 
1.1.1.5   root     1728: 
                   1729: <a name="Emulated mouse"></a><h3>Emulated mouse</h3>
                   1730: 
1.1       root     1731: <p>For obvious reasons your PC mouse will act as the emulated Atari ST
                   1732: mouse. In fullscreen mode it will act as expected, directly controlling
                   1733: the ST mouse pointer. </p>
                   1734: <p>However it is a little bit different in windowed mode. To make the
                   1735: mouse work there as expected you need to grab it first or lock it into
1.1.1.3   root     1736: the Hatari window. Do this by pressing the <span class="key">ALTGR+m</span>
                   1737: hotkey combination.
1.1       root     1738: Press it again to go back to normal mouse behaviour which allows you to
                   1739: work in other X11 windows while Hatari is up and running. </p>
1.1.1.6   root     1740: <p>Mouse scrollwheel will act as cursor up and down keys. </p>
1.1.1.5   root     1741: 
                   1742: <a name="Emulated joystick"></a><h3>Emulated joystick</h3>
                   1743: 
1.1       root     1744: <p>The Atari ST joysticks are emulated ofcourse allowing you to play
                   1745: your favourite games with Hatari. </p>
                   1746: <p>The default mode is to use a connected PC joystick. You can use any
                   1747: joystick that is supported by your kernel. If your joystick works with
                   1748: other applications, it will likely work with Hatari as well. Make sure
                   1749: it is calibrated and then off you go. Move the stick to point into the
                   1750: desired direction. Please note that Hatari will not detect analogue
                   1751: movement as the Atari ST only had digital joysticks. The first
1.1.1.3   root     1752: firebutton will act as the normal firebutton on the Atari ST while the
                   1753: second
                   1754: firebutton will emulate a keypress of the <span class="key">SPACE</span>
                   1755: key on the ST as many ST
1.1.1.8 ! root     1756: games utilize the SPACE bar for secondary game functions. (Xenon for
1.1.1.3   root     1757: example)</p>
1.1       root     1758: <p>If you do not have a PC joystick or joypad, then you do not need to
                   1759: desperate. You can emulate one of the two Atari ST joysticks via the
                   1760: cursor keys. Just activate it in the GUI. Then the cursor keys will act
                   1761: as the joystick directions, the right CTRL key will act as the
                   1762: firebutton. You can still use the cursor keys as the ST's
1.1.1.3   root     1763: cursorkeys in this mode as long as you press <span class="key">SHIFT</span>
1.1.1.8 ! root     1764: along with the cursorkeys.  You can also configure these keys from the
        !          1765: joystick options.</p>
1.1.1.5   root     1766: 
                   1767: <a name="Emulated video"></a><h3>Emulated video</h3>
                   1768: 
1.1.1.8 ! root     1769: <p>Hatari emulates all screen modes of the original machine.</p>
        !          1770: <p>
        !          1771: ST/STE shifter overscan effects are emulated, but due to the fact
        !          1772: that these effects are achieved by using quirks and glitches in the
        !          1773: original chips to do things beyond their specification, emulation is
        !          1774: a bit tricky for these effects. As a result, some demos using these
        !          1775: techniques might not be displayed correctly in Hatari, known ones are
        !          1776: listed in the <span class="file">compatibility.html</span> file.
1.1.1.3   root     1777: </p>
                   1778: <p>Beside that you can setup extended VDI modes. These only work with
                   1779: GEM-compliant applications and they are equal to fitting a videocard
                   1780: into your Mega ST.</p>
                   1781: <p>Make sure to disable extended VDI modes for playing games as 99% of
                   1782: all ST games will not be able to make use of higher resolutions.</p>
1.1.1.5   root     1783: 
                   1784: <a name="Emulated printer"></a><h3>Emulated printer</h3>
                   1785: 
1.1.1.3   root     1786: <p>Due to the fact that printer handling is very different between Unix
                   1787: style machines and the Atari ST, emulation
1.1.1.2   root     1788: of the printer is achieved by writing all printer output to a file.</p>
1.1.1.3   root     1789: <p>The file will contain a sequence of data, the same that would appear
                   1790: on the data pins of the Atari ST printer port.
                   1791: That would include control characters and commands for graphic
                   1792: printing. Clicking "Print desktop" on the GEM desktop would result
1.1.1.2   root     1793: in a messy data dump in the printer output.</p>
1.1.1.3   root     1794: <p>Printer emulation works best for plain text files or programs that
                   1795: do not format the output for a specific printer.
                   1796: The file contents can be used with your favourite text editor for
                   1797: further processing and printing to a real printer.</p>
                   1798: <p>To get real direct printing out of Hatari on a PostScript printer,
                   1799: you may set up a GDOS printer with a PostScript driver on the emulated
                   1800: Atari and set your printer device file as Hatari's printer output.<br>
                   1801: <em>NOTE:</em> This has not been tested yet and the Hatari team cannot
                   1802: guarantee that it will work.</p>
1.1.1.5   root     1803: 
                   1804: <a name="Emulated RS232"></a><h3>Emulated RS232</h3>
                   1805: 
1.1.1.3   root     1806: <p>Serial communications in Hatari is designed to directly use a serial
                   1807: port on your PC.</p>
                   1808: <p>Communications parameters are set automatically upon the settings of
                   1809: the emulated ST. This means all you do is to set
                   1810: the communication parameters like baudrate from your ST communications
                   1811: software. Hatari will do the rest and handle
1.1.1.2   root     1812: the serial input and output for you.</p>
1.1.1.5   root     1813: 
                   1814: <a name="Floppy disk images"></a><h2>Floppy disk images</h2>
                   1815: 
1.1       root     1816: <p>Hatari does not use floppy disks directly but disk images due to
                   1817: differences between the floppy disk controllers of the ST and the PC.
1.1.1.3   root     1818: Three types of disk images are currently supported: The raw "ST" type,
                   1819: the similar "DIM" type and
1.1.1.2   root     1820: the compressed "MSA" (Magic-Shadow-Archiver) type. </p>
1.1       root     1821: <p> The raw type (file suffix should be "*.st") is simply a sector by
                   1822: sector image of a real floppy disk. You can easily create such an image
1.1.1.3   root     1823: with the <span class="commandline">dd</span> program which should
                   1824: normally be pre-installed on every
                   1825: Unix-like system. Simply type something like <span class="commandline">dd
                   1826: if=/dev/fd0 of=myimage.st</span> to create a disk image. Of course you
                   1827: need access to
1.1       root     1828: /dev/fd0, and depending on your system and the type of floppy disk you
                   1829: might have to use another device name here (for example I use
1.1.1.3   root     1830: /dev/fd0u720 for 720kB disks). However, if the disk is copy-protected
                   1831: or
1.1       root     1832: doesn't use a MSDOS compatible file system, this might fail. So be very
                   1833: careful if you're not sure about the disk format. </p>
1.1.1.3   root     1834: <p> The other possibility is to image the disk on a real Atari ST.
                   1835: There
1.1       root     1836: are programs like the Magic Shadow Archiver for this task. Hatari
1.1.1.3   root     1837: supports this slightly compressed MSA disk images, too. Note that
                   1838: Hatari
                   1839: only supports the "old" MSA format, there are some Magic Shadow
                   1840: Archiver
1.1       root     1841: clones (like Jay-MSA) that create better compressed but
1.1.1.2   root     1842: Hatari-incompatible disk images. However, if you have got such a MSA
1.1.1.3   root     1843: disk and want to use it with Hatari, you can still run the
                   1844: corresponding
1.1.1.2   root     1845: MSA program within Hatari to extract the incompatible disk image to a
                   1846: normal floppy disk image. </p>
1.1       root     1847: <p> While *.ST and *.MSA are more or less the "standard" types of Atari
1.1.1.2   root     1848: disk images, you might sometimes also find STT or ADF images on the
1.1.1.3   root     1849: internet. These currently do not work with Hatari. </p>
                   1850: <p>Hatari can now also utilize *.DIM images just as *.ST ones without
                   1851: any problems.
1.1.1.2   root     1852: Note that DIM images are nearly the same as the raw ST images
1.1.1.3   root     1853: (they only have an additional 32 bytes header), so you can easily
                   1854: transform
1.1.1.2   root     1855: the DIM images into ST images by stripping the header from the files.
                   1856: For example try something like:
                   1857: <span class="commandline">dd if=input.dim of=output.st bs=32 skip=1</span>
                   1858: </p>
1.1       root     1859: <p> If you've got a disk image that has been created with the old ST
                   1860: emulator PaCifiST (for DOS) or with early versions of the program
                   1861: Makedisk, and the disk image does not work with Hatari, then the disk
1.1.1.3   root     1862: probably suffers from the "PaCifiST bootsector bug" (Hatari will
                   1863: display a
1.1       root     1864: warning message then). In this case, the bootsector of the disk
                   1865: contains some illegal data, so that the disk even does not work on a
                   1866: real ST any more. However, if it is a .ST and not a .MSA disk, you can
1.1.1.3   root     1867: easily fix it by using a hex-editor to change the byte at offset $D
                   1868: (13)
1.1       root     1869: from 0 to 1 (don't forget to backup your disk image first, since you
                   1870: can also easily destroy your disk image when changing a wrong byte
                   1871: there). If the disk contains a bootsector program, you probably have to
                   1872: adjust the boot sector check sum, too (it can be found at offset $1FE +
                   1873: $1FF). </p>
1.1.1.2   root     1874: <p>Hatari supports disk images that are compressed with (Pk-)ZIP
                   1875: (file suffix must be ".zip") or GZip (file suffix must be ".st.gz" or
1.1.1.3   root     1876: ".msa.gz"), so you can archive your disk images into zip archives.
1.1.1.2   root     1877: You can also directly run the zip archives you may download from the
                   1878: net as long as the archive contains a disk image in .ST or .MSA format.</p>
1.1.1.3   root     1879: <p><em>Note:</em> Hatari does not save disk images back to *.ZIP files
                   1880: so
1.1.1.2   root     1881: your highscores and savegames are lost if you load the game from such
                   1882: a zipped disk image.</p>
1.1.1.5   root     1883: 
                   1884: <a name="Hard disk support"></a><h2>Hard disk support</h2>
                   1885: 
1.1.1.8 ! root     1886: <p>
        !          1887: Hatari supports two ways of emulating a ST hard drive: The low-level
        !          1888: ACSI hard disk emulation and a GEMDOS based drive emulation. Please
        !          1889: note that changing the HD-image or the GEMDOS HD-folder will reset
        !          1890: the emulated Atari since it is not possible to switch the hard disk
        !          1891: while the emulator is running.
        !          1892: </p>
1.1.1.6   root     1893: 
                   1894: <a name="ACSI hard disk emulation"></a><h3>ACSI hard disk emulation</h3>
                   1895: <p>
                   1896: To use the ACSI hard disk emulation, you need a hard disk image file
1.1.1.3   root     1897: with a pre-installed HD driver in it. So either try to image your old
1.1.1.6   root     1898: ST hard disk or grab one from the internet (e.g. from the Hatari website).
1.1.1.8 ! root     1899: Please note that AHDI 5.0 is currently the <em>only</em> hard disk driver
        !          1900: that is officially supported. Other hard disk drivers might not work.
1.1.1.6   root     1901: </p>
                   1902: <p>
                   1903: To create a new ACSI hard disk image, you can start with an empty image that
                   1904: you have for example created with the following command:
                   1905: <span class="commandline">dd if=/dev/zero of=hd.img bs=512 count=xxx</span>.
                   1906: Then copy the complete AHDI 5.0 package to a floppy disk image, and enable
                   1907: this floppy disk image and the fresh hard disk image in the emulator.
                   1908: Start HDX.PRG from the floppy disk and format and partition the hard disk
                   1909: with this tool. When you're finished, you have to restart the emulated system,
                   1910: run AHDI.PRG from the floppy disk and HINSTALL.PRG afterwards.
                   1911: With HINSTALL.PRG you can install the hard disk driver to the fresh HD image,
                   1912: so you can directly boot from the hard disk image in the future.
                   1913: </p>
                   1914: 
                   1915: <a name="GEMDOS based hard disk emulation"></a><h3>GEMDOS based hard disk emulation</h3>
1.1       root     1916: <p>With the GEMDOS based drive emulation, you can easily "mount" a
                   1917: folder from the host file system to a drive of the emulated Atari. To
                   1918: use the GEMDOS based drive emulation, you should use a folder on your
1.1.1.3   root     1919: hard disk that only contains files and folders with valid TOS
                   1920: filenames.
1.1       root     1921: That means that all files/folders should be written in capital letters
                   1922: and their length mustn't exceed the 8+3 file name length limit. If you
                   1923: don't want to rename all files to get capital letters, it is also
                   1924: possible to store that folder on a FAT filesystem since those
                   1925: filesystems are case-insensitive. </p>
                   1926: <p>GEMDOS drive emulation is an easy way to share files between the
1.1.1.8 ! root     1927: host system and the emulated Atari, but it is known to be incomplete and
1.1       root     1928: a little bit unstable, especially if you use it together with the ACSI
                   1929: hard disk emulation. So if your programs complain that they could not
                   1930: find/read/write files on the GEMDOS HD drive, you should try to copy
1.1.1.3   root     1931: them to a floppy disk image or a real hard disk image!</p>
1.1.1.6   root     1932: <p>
1.1.1.8 ! root     1933: There are also some known limitations which are due to the way the GEMDOS
        !          1934: drive emulation is implemented: First, it is not possible to use a cartridge
        !          1935: image together with GEMDOS drive emulation at the same time.
        !          1936: Second, <em>the GEMDOS HD emulation does not work very well with TOS
        !          1937: 1.00 and 1.02</em>.  So you should use at least TOS 1.04 if you want
        !          1938: to use the GEMDOS HD emulation.
1.1.1.6   root     1939: </p>
1.1.1.4   root     1940: 
1.1.1.8 ! root     1941: 
1.1.1.5   root     1942: <a name="Appendix"></a><h2>Appendix</h2>
                   1943: 
                   1944: <a name="Copying"></a><h3>Copying</h3>
1.1.1.4   root     1945: 
1.1       root     1946: <div class="backdropped">
                   1947: <p>This program is free software; you can redistribute it and/or modify
1.1.1.3   root     1948: it under the terms of the GNU General Public License as published by
                   1949: the
1.1       root     1950: Free Software Foundation; either version 2 of the License, or (at your
                   1951: option) any later version. </p>
                   1952: <p>This program is distributed in the hope that it will be useful, but <em>WITHOUT
                   1953: ANY WARRANTY</em>; without even the implied warranty of <em>MERCHANTABILITY</em>
1.1.1.3   root     1954: or <em>FITNESS FOR A PARTICULAR PURPOSE</em>. See the GNU General
1.1.1.4   root     1955: Public License for more details. </p>
                   1956: <p>
                   1957: You should have received a copy of the GNU General Public License
                   1958: along with this program; if not, write to the Free Software Foundation,
                   1959: Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                   1960: </p>
1.1       root     1961: </div>
1.1.1.3   root     1962: <p><a href="http://www.gnu.org/">The GNU Project and the Free Software
                   1963: Foundation</a> | <a href="http://www.fsf.org/licenses/gpl.html">The
                   1964: GNU General Public License</a></p>
1.1.1.4   root     1965: 
1.1.1.5   root     1966: <a name="Introduction to Emulation"></a><h3>Introduction to Emulation</h3>
                   1967: 
1.1       root     1968: <p>Emulation via software is an art and Hatari is an example of this.</p>
1.1.1.3   root     1969: <p>Emulation is to make a computer behave like a (probably) completely
                   1970: different machine on the lowest possible niveau.
                   1971: This includes CPU and custom chip emulation allowing software written
                   1972: for the emulated machine to be run without notice.
                   1973: A good emulator will run most of the software intended for the emulated
                   1974: platform without trouble.
1.1       root     1975: </p>
                   1976: <p>
1.1.1.3   root     1977: The key to emulation is to simply do those things with a software
                   1978: program, the emulator, that normally chips would perform.
                   1979: So you have an CPU emulator that basically consists of a large loop
                   1980: that does exactly what the real thing would do:
1.1       root     1981: </p>
                   1982: <ul>
1.1.1.3   root     1983:   <li>fetch an instruction from virtual memory</li>
                   1984:   <li>interpret this instruction</li>
                   1985:   <li>fetch operands from the emulated registers and memory</li>
                   1986:   <li>perform the operation like addition or changing the program
                   1987: counter on a jump instruction</li>
                   1988:   <li>writes results back into the intended registers or memory
                   1989: locations</li>
                   1990:   <li>increment of the program counter and loop</li>
1.1       root     1991: </ul>
                   1992: <p>
1.1.1.3   root     1993: The typical von-Neumann CPU can be emulated very fast, stable and
                   1994: error-free using such a simple loop system.
1.1       root     1995: </p>
                   1996: <p>
1.1.1.3   root     1997: But in most cases the CPU emulation is the simplest part. Correct
                   1998: emulation of the various custom chips and hardware
1.1       root     1999: parts of the emulated system is much trickier.
                   2000: </p>
                   2001: 
1.1.1.6   root     2002: <br>
                   2003: 
1.1.1.3   root     2004: <hr style="width: 100%; height: 2px;">
1.1       root     2005: <table border="0" width="100%">
1.1.1.3   root     2006:   <tbody>
1.1       root     2007:     <tr>
1.1.1.3   root     2008:       <td align="left"><a href="http://validator.w3.org/check/referer"><img
                   2009:  src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"
                   2010:  border="0" height="31" width="88"></a></td>
                   2011:       <td align="right">
1.1.1.8 ! root     2012:       November 23rd 2008
1.1.1.3   root     2013:       </td>
1.1       root     2014:     </tr>
1.1.1.3   root     2015:   </tbody>
1.1       root     2016: </table>
                   2017: </body>
                   2018: </html>

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.