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

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

unix.superglobalmegacorp.com

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