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

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;
                     17:                margin-left:10px;
                     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; }
                     30:        a:visited { color:#cc0000; background-color:#ffffff; text-decoration:none;}
1.1.1.3   root       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.5 ! root       51: Version 0.80
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>
        !            69:     <li><a href="#Experimental STE hardware emulation:">Experimental STE hardware emulation</a>
        !            70:     <li><a href="#System requirements">System requirements</a>
        !            71:   </ul>
        !            72:   <li><a href="#Compiling and running">Compiling and running</a>
        !            73:   <ul>
        !            74:     <li><a href="#Compiling Hatari">Compiling Hatari</a>
        !            75:     <li><a href="#Installation of a TOS ROM">Installation of a TOS ROM</a>
        !            76:     <li><a href="#Installation of the binary">Installation of the binary</a>
        !            77:     <li><a href="#Running Hatari for the first time">Running Hatari for the first time</a>
        !            78:   </ul>
        !            79:   <li><a href="#Command line options">Command line options</a>
        !            80:   <li><a href="#Using the emulated system">Using the emulated system</a>
        !            81:   <ul>
        !            82:     <li><a href="#The GUI">The GUI</a>
        !            83:     <ul>
        !            84:       <li><a href="#The Main Menu">The Main Menu</a>
        !            85:       <li><a href="#The System Dialog">The System Dialog</a>
        !            86:       <li><a href="#The Disks Dialog">The Disks Dialog</a>
        !            87:       <li><a href="#The Memory Dialog">The Memory Dialog</a>
        !            88:       <li><a href="#The ROM Dialog">The ROM Dialog</a>
        !            89:       <li><a href="#The Joystick Dialog">The Joystick Dialog</a>
        !            90:       <li><a href="#The Screen Dialog">The Screen Dialog</a>
        !            91:       <li><a href="#The Keyboard Dialog">The Keyboard Dialog</a>
        !            92:       <li><a href="#The Sound Dialog">The Sound Dialog</a>
        !            93:       <li><a href="#The Devices Dialog">The Devices Dialog</a>
        !            94:     </ul>
        !            95:     <li><a href="#Keyboard shortcuts">Keyboard shortcuts</a>
        !            96:     <li><a href="#Emulated Atari ST keyboard">Emulated Atari ST keyboard</a>
        !            97:     <li><a href="#Emulated mouse">Emulated mouse</a>
        !            98:     <li><a href="#Emulated joystick">Emulated joystick</a>
        !            99:     <li><a href="#Emulated video">Emulated video</a>
        !           100:     <li><a href="#Emulated printer">Emulated printer</a>
        !           101:     <li><a href="#Emulated RS232">Emulated RS232</a>
        !           102:   </ul>
        !           103:   <li><a href="#Floppy disk images">Floppy disk images</a>
        !           104:   <li><a href="#Hard disk support">Hard disk support</a>
        !           105:   <li><a href="#Appendix">Appendix</a>
        !           106:   <ul>
        !           107:     <li><a href="#Copying">Copying</a>
        !           108:     <li><a href="#Introduction to Emulation">Introduction to Emulation</a>
        !           109:     <li><a href="#Software compatibility list">Software compatibility list</a>
        !           110:     <ul>
        !           111:       <li><a href="#ST games">ST games</a>
        !           112:       <li><a href="#ST demos">ST demos</a>
        !           113:       <li><a href="#ST applications">ST applications</a>
        !           114:       <li><a href="#STE games">STE games</a>
        !           115:       <li><a href="#STE demos">STE demos</a>
        !           116:       <li><a href="#STE applications">STE applications</a>
        !           117:     </ul>
        !           118:   </ul>
        !           119: </ul>
        !           120: 
        !           121: 
        !           122: <a name="Introduction"></a><h2>Introduction</h2>
1.1       root      123: 
1.1.1.5 ! root      124: <a name="General description"></a><h3>General description</h3>
1.1       root      125: <p>
1.1.1.3   root      126: Hatari is an Atari ST emulator for Linux, FreeBSD, BeOS and other
                    127: Systems which are supported by the SDL library.
1.1.1.4   root      128: The emulator is open source software and is distributed under the terms of the
                    129: GNU General Public License (GPL).
                    130: </p>
                    131: <p>
1.1.1.3   root      132: The Atari ST was a 16/32 bit computer system which was first released by Atari
1.1.1.4   root      133: in 1985. Using the Motorola 68000 CPU, it was a very popular computer having
                    134: quite a lot of CPU power at that time. See Appendix B for details on emulation
                    135: in general.
1.1.1.3   root      136: </p>
                    137: <p>
1.1.1.4   root      138: Unlike many other Atari ST emulators which try to give you a good
                    139: environment for running GEM applications, Hatari tries to emulate the hardware
                    140: of a ST as close as possible so that it is able to run most of the old ST games
                    141: and demos. Of course you can run normal GEM applications with Hatari, too.
1.1       root      142: </p>
                    143: 
1.1.1.5 ! root      144: <a name="Features"></a><h3>Features</h3>
1.1       root      145: <ul>
1.1.1.2   root      146:   <li>complete m68k emulation via UAE's CPU core</li>
1.1.1.4   root      147:   <li>support for TOS 1.00, 1.02, 1.04, 1.06, 1.62, 2.05, 2.06 and EmuTOS</li>
1.1.1.2   root      148:   <li>ST RAM size variable (512k, 1MB, 2MB and 4MB possible)</li>
1.1.1.3   root      149:   <li>optional cartridge images for the ST ROM port</li>
1.1.1.2   root      150:   <li>most of the ST specific hardware</li>
1.1       root      151:   <li>ST Shifter with ST-High, ST-Medium and ST-Low resolutions,
1.1.1.3   root      152: overscan effects for lower border and partially in the upper, left and
                    153: right border too</li>
1.1.1.2   root      154:   <li>512 colour ST palette</li>
1.1.1.5 ! root      155:   <li>Blitter chip emulation (not very accurate)</li>
1.1.1.2   root      156:   <li>PSG YM2149 emulation (soundchip) including STFM samples</li>
                    157:   <li>Printer emulation on GEMDOS and Hardware level (print to file)</li>
                    158:   <li>experimental support for RS232</li>
                    159:   <li>extremely experimental MIDI support</li>
1.1       root      160:   <li>Mega ST real time clock</li>
                    161:   <li>many (but not all) raster effects </li>
1.1.1.3   root      162:   <li>IKBD emulation (keyboard, mouse and joystick) with custom
                    163: keyboard mapping</li>
1.1       root      164:   <li>joystick emulation via cursor keys and joystick emulation via a
1.1.1.2   root      165: connected PC joystick</li>
1.1.1.3   root      166:   <li>FDC emulation using floppy disk images in standard formats (*.ST,
                    167: *.MSA
1.1.1.2   root      168: and *.DIM)</li>
1.1.1.4   root      169:   <li>optional writeprotection for disk images</li>
1.1.1.5 ! root      170:   <li>support for packed disk images (PkZip and Gzip)</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>
                    173:   <li>experimental support for memory snapshots</li>
                    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       root      178:   <li>interlaced rendering of ST-Low and ST-Medium resolutions </li>
                    179:   <li>scaling of ST-Low and ST-Medium to 800x600 resolution </li>
                    180: </ul>
1.1.1.5 ! root      181: 
        !           182: <a name="Experimental STE hardware emulation:"></a><h4>Experimental STE hardware emulation:</h4>
        !           183: STE emulation is still considered as instable, but if you dare to use it,
        !           184: there is support for most of the enhanced STE features:
        !           185: <ul>
        !           186:   <li>horizontal and vertical hardware fine scrolling</li>
        !           187:   <li>split screen techniques / in-screen video address manipulations</li>
        !           188:   <li>4096 colors STE palette</li>
        !           189:   <li>DMA sample sound</li>
        !           190: </ul>
        !           191: 
1.1       root      192: <p>
                    193: At the time of this writing there is neither a complete MMU emulation
1.1.1.5 ! root      194: nor support for TT or Falcon specific features.
1.1       root      195: </p>
1.1.1.5 ! root      196: 
        !           197: 
        !           198: <a name="System requirements"></a><h3>System requirements</h3>
        !           199: 
1.1       root      200: <p> Hatari currently has the following system requirements: </p>
                    201: <ul>
1.1.1.5 ! root      202:   <li>a fast PC (&gt;300MHz) </li>
1.1.1.3   root      203:   <li>some sort of Unix (preferable <a href="http://www.linux.org/">GNU/Linux</a>)
                    204:   </li>
1.1       root      205:   <li>the SDL library (<a href="http://www.libsdl.org/">http://www.libsdl.org/</a>)</li>
1.1.1.3   root      206:   <li>the zLib (<a href="http://www.gzip.org/zlib/">http://www.gzip.org/zlib/</a>)
1.1.1.5 ! root      207: for support of ZIP-packed disk images (*.zip and *.gz)</li>
1.1       root      208: </ul>
1.1.1.5 ! root      209: 
        !           210: <p>
        !           211: Certain versions of Hatari have successfully been tested by various people on
        !           212: the following systems:
        !           213: </p>
1.1       root      214: <ul>
1.1.1.2   root      215:   <li>Linux/i86 with Kernel 2.6.6, AMD Athlon 600MHz</li>
                    216:   <li>Linux/i86 with Kernel 2.4.x, AMD Athlon 600MHz </li>
1.1       root      217:   <li>Linux/i86 with Kernel 2.2.18, Pentium MMX 200MHz </li>
1.1.1.2   root      218:   <li>Linux/PPC with Kernel 2.4.x </li>
                    219:   <li>BeOS/i86 </li>
1.1       root      220:   <li>Apple PowerMac with Mac OS X </li>
                    221:   <li>NetBSD 1.6 </li>
1.1.1.4   root      222:   <li>NetBSD on a Digital Alpha</li>
1.1.1.3   root      223:   <li>FreeBSD 4.1 on an i486 computer, FreeBSD 4.8 on a Pentium 4 and
                    224: FreeBSD 5.1 </li>
1.1.1.2   root      225:   <li>OpenBSD 3.5 </li>
1.1.1.4   root      226:   <li>Solaris 8 on a SUN UltraSparc 1</li>
1.1.1.2   root      227:   <li>Zaurus SL-C760 PDA </li>
1.1       root      228: </ul>
1.1.1.5 ! root      229: 
        !           230: <a name="Compiling and running"></a><h2>Compiling and running</h2>
        !           231: 
        !           232: <a name="Compiling Hatari"></a><h3>Compiling Hatari</h3>
        !           233: 
1.1       root      234: <p> First, you need the SDL library, you can get it at:
1.1.1.3   root      235: <a href="http://www.libsdl.org/">http://www.libsdl.org/</a>. Most
                    236: distributions already ship a suitable version.
                    237: Make sure to install the appropriate header files as well often called
                    238: "libsdl-dev" or the like.
                    239: </p>
                    240: <p> Second, you need the zLib compression library. You can get it from <a
                    241:  href="http://www.gzip.org/zlib/">http://www.gzip.org/zlib/</a>
                    242: but the version shipped with your distribution will be sufficient in
                    243: most cases. Make sure to have the header files
1.1       root      244: for it installed as well.
                    245: </p>
                    246: <p>
                    247: Of course, you need the GNU C compiler and (GNU) Make, too!
                    248: </p>
1.1.1.2   root      249: <p> Change to the hatari/ directory and adapt the configuration file
                    250: <span class="file">Makefile.cnf</span> to suite your system.
                    251: Alternatively, you can use the supplied configure script to auto-detect
1.1.1.3   root      252: all parameters (type " <span class="commandline">./configure --help</span>"
                    253: to see the options of the script).
                    254: Don't forget to use some good CFLAGS for the compiler optimizations, e.g.
                    255: run <span class="commandline">configure</span> in the following way:
                    256: </p>
                    257: <p>
                    258:  <kbd> CFLAGS="-O3 -fomit-frame-pointer" ./configure</kbd>
                    259: </p>
                    260: <p>
                    261: Then compile Hatari by typing <span class="commandline">make</span>.
                    262: If all
                    263: works fine, you'll get the executable <span class="commandline">hatari</span>
                    264: in the src/ subdirectory.
1.1.1.2   root      265: </p>
1.1.1.5 ! root      266: 
        !           267: <a name="Installation of a TOS ROM"></a><h3>Installation of a TOS ROM</h3>
        !           268: 
1.1.1.3   root      269: <p> Then you'll have to copy a TOS ROM to the data directory (the data
                    270: directory is specified
                    271: in the configuration file <span class="file">Makefile.cnf</span>) and
                    272: rename it to <span class="commandline">tos.img</span>, or use the
                    273: <span class="commandline">--tos</span> command line option to tell
                    274: Hatari where to find a TOS ROM.
1.1       root      275: Hatari needs a TOS ROM image because this contains the operating system
1.1.1.5 ! root      276: of the emulated Atari.</p>
        !           277: <p> Sorry, it is not possible to ship an original ROM
        !           278: image with the Hatari package since these images are still copyrighted.
        !           279: But you can easily create an image with a real ST and one of those various
        !           280: ROM-image programs for the ST (search for &quot;TOSDUMP&quot; with your
        !           281: favourite internet search engine). If your old ST does not work anymore, you
        !           282: can also try to search the internet directly for corresponding TOS ROM image,
        !           283: but don't ask the Hatari team where to get one. </p>
        !           284: <p> Another solution is EmuTOS, which is also shipped with the official
        !           285: release versions of Hatari. EmuTOS is an open-source TOS clone. You can find
        !           286: it at:
        !           287: <a href="http://emutos.sourceforge.net/">http://emutos.sourceforge.net/</a>.
        !           288: It is not the best solution for playing games or running other old software
        !           289: due to compatibility issues, but it's free and compatible with Hatari. </p>
1.1       root      290: <p>If you do not specify a TOS image on the commandline nor can Hatari
                    291: find a suitable TOS image in the default dir, you'll get the chance to
                    292: select a TOS image file from the GUI. </p>
1.1.1.5 ! root      293: 
        !           294: <a name="Installation of the binary"></a><h3>Installation of the binary</h3>
        !           295: 
1.1.1.3   root      296: <p> Type <span class="commandline">make install</span> as root to do a
                    297: systemwide installation. In this case it is recommended
                    298: to set the DATADIR variable in Makefile.cnf to a proper value. <tt>/usr/local/share/hatari</tt>
                    299: is a good value in that case.</p>
                    300: <p>The Hatari executable should now be in your PATH and accessible from
                    301: anywhere.</p>
1.1       root      302: <p> When you finally have got a TOS image, try starting Hatari with the
1.1.1.3   root      303: option <span class="commandline">--help</span> to find out more about
                    304: its command line parameters. </p>
1.1.1.5 ! root      305: 
        !           306: <a name="Running Hatari for the first time"></a><h3>Running Hatari for the first time</h3>
        !           307: 
1.1.1.3   root      308: <p> Now type <span class="commandline">hatari</span> to run the
                    309: emulator for the first time. If all goes
                    310: well, you should now be presented with a window showing you the
                    311: familiar
                    312: little green desktop of the Atari ST. Press <span class="key">F12</span>
                    313: to turn on the GUI to
                    314: configure Hatari to suit your needs, press <span class="key">F11</span>
                    315: to toggle windowed and fullscreen mode. </p>
1.1.1.5 ! root      316: 
        !           317: <a name="Command line options"></a><h2>Command line options</h2>
        !           318: 
1.1       root      319: <p> Hatari ofcourse understands several command line options. </p>
1.1.1.3   root      320: <p> Type <span class="commandline">hatari --help</span> to list them
                    321: all. </p>
1.1       root      322: <p> The command line options in detail are as follows (in brackets the
                    323: long version): </p>
1.1.1.3   root      324: <table border="1" cellpadding="3">
1.1       root      325:   <tbody>
                    326:     <tr class="backdropped">
                    327:       <td align="center">Option</td>
                    328:       <td align="center">Purpose</td>
                    329:     </tr>
                    330:     <tr>
                    331:       <td align="center">-h (--help)</td>
                    332:       <td align="center">prints command line options and terminates</td>
                    333:     </tr>
                    334:     <tr>
                    335:       <td align="center">-v (--version)</td>
                    336:       <td align="center">prints version information and terminates</td>
                    337:     </tr>
                    338:     <tr>
                    339:       <td align="center">-m (--mono)</td>
                    340:       <td align="center">starts the emulated Atari ST in monochrome
                    341: resolution</td>
                    342:     </tr>
                    343:     <tr>
                    344:       <td align="center">-f (--fullscreen)</td>
                    345:       <td align="center">tries to use a fullscreen mode</td>
                    346:     </tr>
                    347:     <tr>
1.1.1.3   root      348:       <td align="center">--window</td>
                    349:       <td align="center">forces Hatari to use a windowed mode</td>
                    350:     </tr>
                    351:     <tr>
1.1       root      352:       <td align="center">-j (--joystick)</td>
                    353:       <td align="center">activates joystick emulation via cursor keys</td>
                    354:     </tr>
                    355:     <tr>
                    356:       <td align="center">--nosound</td>
                    357:       <td align="center">disables sound (makes emulation faster)</td>
                    358:     </tr>
                    359:     <tr>
                    360:       <td align="center">--frameskip</td>
                    361:       <td align="center">drops every second frame (accelerates
                    362: emulation)</td>
                    363:     </tr>
                    364:     <tr>
                    365:       <td align="center">-D (--debug)</td>
                    366:       <td align="center">activates the simple builtin debugger</td>
                    367:     </tr>
                    368:     <tr>
1.1.1.3   root      369:       <td align="center">--slowfdc</td>
                    370:       <td align="center">slows down FDC emulation (needed to make some
                    371: games and demos work)</td>
1.1.1.2   root      372:     </tr>
                    373:     <tr>
1.1       root      374:       <td align="center">-d &lt;dir&gt; (--harddrive &lt;dir&gt;)</td>
                    375:       <td align="center">emulates &lt;dir&gt; as a hard disk</td>
                    376:     </tr>
                    377:     <tr>
                    378:       <td align="center">--hdimage &lt;imagefile&gt;</td>
1.1.1.3   root      379:       <td align="center">emulate hard disk with an image file<br>
                    380:       </td>
                    381:     </tr>
                    382:     <tr>
                    383:       <td style="text-align: center;">--cartridge &lt;imagefile&gt;<br>
                    384:       </td>
                    385:       <td style="text-align: center;">sets imagefile as the cartridge
                    386: on the ROM port<br>
1.1.1.5 ! root      387: This currently does not work together with GEMDOS hard disk emulation!<br>
1.1.1.3   root      388:       </td>
1.1       root      389:     </tr>
                    390:     <tr>
                    391:       <td align="center">--tos &lt;imagefile&gt;</td>
                    392:       <td align="center">specify TOS ROM image to use</td>
                    393:     </tr>
1.1.1.3   root      394:     <tr>
                    395:       <td align="center">--memsize x</td>
1.1       root      396:       <td align="center">set amount of emulated RAM<br>
1.1.1.3   root      397: x=0 for 512K, x=1,x=2 or x=4 for 1,2 or 4 MB</td>
1.1       root      398:     </tr>
                    399:     <tr>
                    400:       <td align="center">--cpulevel x</td>
1.1.1.5 ! root      401:       <td align="center">specify CPU (680x0) to use
        !           402:          (works on TOS 2.06 only!!)</td>
1.1       root      403:     </tr>
                    404:     <tr>
                    405:       <td align="center">--compatible</td>
                    406:       <td align="center">use a more compatible but slower 68000 CPU mode</td>
                    407:     </tr>
                    408:     <tr>
                    409:       <td align="center">--blitter</td>
1.1.1.5 ! root      410:       <td align="center">enable blitter emulation (for ST mode only)</td>
1.1       root      411:     </tr>
                    412:     <tr>
                    413:       <td align="center">--vdi</td>
                    414:       <td align="center">use extended VDI resolution</td>
                    415:     </tr>
1.1.1.3   root      416:     <tr>
1.1.1.2   root      417:       <td align="center">--printer</td>
                    418:       <td align="center">enable experimental printer support</td>
                    419:     </tr>
                    420:     <tr>
                    421:       <td align="center">--midi &lt;filename&gt;</td>
1.1.1.3   root      422:       <td align="center">enable experimental MIDI output to the
                    423: mentioned file</td>
1.1.1.2   root      424:     </tr>
                    425:     <tr>
                    426:       <td align="center">--rs232 &lt;filename&gt;</td>
1.1.1.3   root      427:       <td align="center">enable experimental RS232 communication via
                    428: the mentioned file</td>
1.1.1.2   root      429:     </tr>
                    430:     <tr>
                    431:       <td align="center">-c &lt;filename&gt; (--configfile)</td>
1.1.1.3   root      432:       <td align="center">Use the mentioned file as configuration file
                    433: instead of ~/.hatari.cfg</td>
1.1.1.2   root      434:     </tr>
1.1.1.5 ! root      435:     <tr>
        !           436:       <td align="center">--machine &lt;x&gt;</td>
        !           437:       <td align="center">Select machine type (x = st or ste)</td>
        !           438:     </tr>
1.1       root      439:   </tbody>
                    440: </table>
1.1.1.5 ! root      441: 
        !           442: <a name="Using the emulated system"></a><h2>Using the emulated system</h2>
        !           443: 
1.1       root      444: <p> Once you've started Hatari succesfully, you can use the emulator as
                    445: an allmost complete Atari ST computer system. </p>
1.1.1.5 ! root      446: 
        !           447: <a name="The GUI"></a><h3>The GUI</h3>
        !           448: 
1.1.1.3   root      449: <p>Press <span class="key">F12</span> to enter the GUI. Navigate it
                    450: with the mouse.
1.1       root      451: The GUI is rather self explanatory.</p>
1.1.1.5 ! root      452: 
        !           453: <a name="The Main Menu"></a><h4>The Main Menu</h4>
        !           454: 
        !           455: <div class="floatimage">
        !           456: <img src="images/main.png" width="360" height="352" alt="Hatari's GUI - the main menu">
        !           457: </div>
        !           458: 
        !           459: <p>From the main menu, you can reach the other setup dialogs by clicking on
        !           460: the appropriate buttons.</p>
        !           461: 
        !           462: <p>You can load the current settings from a configuration file by clicking
        !           463: on the <span class="button">Load config</span> button and you can save the
        !           464: current settings to a configuration file with the <span class="button">Save
        !           465: config</span> button.</p>
        !           466: 
1.1.1.3   root      467: <p>Click <span class="button">Okay</span> to go back to the emulated
1.1.1.5 ! root      468: ST. All changed options will be applied.</p>
1.1.1.3   root      469: <p>Check the <span class="button">Reset ST</span> option if you want
1.1.1.5 ! root      470: the emulated ST to perform a cold reset. This is equal to
        !           471: switching the power off and on again on a real ST.
1.1.1.3   root      472: </p>
                    473: <p>Click <span class="button">Quit</span> to terminate Hatari and
                    474: return to the host OS.</p>
                    475: <p>Click <span class="button">Cancel</span> to abandon any changes
1.1.1.5 ! root      476: that you have made.</p>
        !           477: 
        !           478: <a name="The System Dialog"></a><h4>The System Dialog</h4>
        !           479: 
        !           480: <div class="floatimage">
        !           481: <img src="images/system.png" width="360" height="368" alt="Hatari's GUI - the system dialog">
        !           482: </div>
        !           483: 
        !           484: <p>Select the CPU type to use here. For best Atari ST compatibility choose a
        !           485:  plain 68000.</p>
        !           486: <p>Choose whether you want to emulate a normal ST or an STE.
        !           487:  <em>Note:</em> STE emulation is very incomplete. It may not work very well.</p>
        !           488: <p>For STE emulation a STE compatible TOS image, e.q. version 1.06, 1.62 or 2.x, is strongly recommended.</p>
        !           489: <p>Select the CPU clock you want to use. 8Mhz is ST standard and the most
        !           490:  compatible, 16MHz is for Mega STE emulation.</p>
        !           491: <p>With the &quot;Slower but more compatible CPU&quot; option, you can enable
        !           492:  the emulation of 68k address errors and the CPU prefetch buffer. This is needed
        !           493:  for best compatibility, but it slows down emulation a little bit so you can
        !           494:  disable it if you don't need it.</p>
        !           495: <p>You can also enable/disable Blitter emulation here. The Blitter is a custom
        !           496:  chip that accelerates some graphical operations. This switch only toggles the
        !           497:  Blitter in plain ST mode. In STE mode, the Blitter is always enabled (since all
        !           498:  STEs have been sold with a Blitter chip).</p>
        !           499: <p>If you enable the &quot;Real time clock emulation&quot; switch, a RTC will
        !           500:  be emulated based on the time of the host computer. Note that you need at least
        !           501:  TOS 1.02 for proper RTC emulation, TOS 1.00 does not support this.</p>
        !           502: <p>The Timer-D patch changes the Timer-D initialization from TOS. TOS uses
        !           503:  the MFP timer D as a baudrate generator for RS232. However, the TOS default
        !           504:  value slows down the emulation. The patch gives you a better performance.
        !           505:  It is normally save to enable the patch, but if you encounter a program that
        !           506:  does not work, you can try to disable the patch to see if it works then.</p>
        !           507: <p>Select if you want to use slow FDC emulation. Slow is more compatible esp.
        !           508:  with games and demos that use custom loaders.</p>
1.1.1.3   root      509: <p><em>NOTE:</em> These parameters are very sensitive to the emulated
                    510: ST and it is strongly recommended to
1.1       root      511: reset the emulated ST after changing these options.</p>
1.1.1.5 ! root      512: 
        !           513: <a name="The Disks Dialog"></a><h4>The Disks Dialog</h4>
        !           514: 
        !           515: <div class="image" align="center">
        !           516: <img src="images/discs.png" width="768" height="534" alt="Hatari's GUI - the disks dialog">
        !           517: </div>
        !           518: 
1.1.1.3   root      519: <p>Use the upper dialog to choose which floppy disks should be emulated
                    520: in the disk drives.</p>
1.1.1.5 ! root      521: 
1.1.1.3   root      522: <p>You can use most standard Atari ST disk image files. See the chapter
                    523: "Floppy disk images"
1.1       root      524: for details.</p>
1.1.1.3   root      525: <p>Click on the button <span class="button">Browse</span> next to the
                    526: A: and B: option to go to the fileselector.
1.1.1.2   root      527: You may select and browse zipped disk images as well.</p>
1.1.1.5 ! root      528: 
        !           529: <p>
        !           530: The fileselector looks like this:
        !           531: </p>
        !           532: 
        !           533: <div class="image" align="center">
        !           534: <img src="images/fileselector.png" width="640" height="400" alt="Hatari's GUI - the fileselector">
        !           535: </div>
        !           536: 
1.1.1.3   root      537: <p>Click on <span class="button">Eject</span> to eject a disk image
                    538: from the emulated drive. The emulated ST will act as if had no floppy
                    539: disk in its drive.</p>
                    540: <p>You can specify a default directory where Hatari will start to
                    541: browse the filesystem.</p>
                    542: <p>Check the "Auto insert B" option if you want Hatari to be smart and
                    543: insert the second disk
                    544: of a two disk game automatically. This option will insert the second
                    545: disk in drive B and some
                    546: games may not be able to find the disks there. In that rare case you
                    547: will need to insert the
1.1       root      548: second disk manually when prompted.</p>
1.1.1.2   root      549: <p>
                    550: <em>NOTE:</em> This option does not always work properly.
                    551: </p>
1.1.1.3   root      552: <p>If you need to create a new blank disk image, click on <span
                    553:  class="button">Create disk image</span>.
                    554: Parameters for the new image can be set in the following dialog. Click
                    555: on <span class="create">create</span> to create the image or on <span
                    556:  class="button">back</span> to get back to the
1.1.1.2   root      557: disk dialog.
                    558: </p>
                    559: <p>
1.1.1.3   root      560: After clicking <span class="button">create</span>, a fileselector
                    561: appears. You can browse the filesystem now. Select the target
                    562: directory, click beside File:
                    563: and type in a name for the new disk image. The name should terminate
                    564: with .st or .msa.
1.1.1.2   root      565: </p>
1.1.1.3   root      566: <p>Hatari can currently create plain .ST and .MSA disk images
                    567: exclusively.</p>
1.1.1.4   root      568: <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
                    569: enable the write protection option. However you can't save highscores or games to your disk images then.</p>
1.1.1.2   root      570: <p>Use the lower dialog to change the harddisk settings.</p>
1.1.1.3   root      571: <p>You can select a harddrive image for harddrive emulation via image
                    572: file here or you may select
                    573: a directory of your local filesystem to be emulated as the ST's
                    574: harddrive.</p>
                    575: <p>Check "Boot from HD" if you want Hatari to execute the AUTO folder
                    576: on the harddrive.
                    577: This option is checked by default if you specify a harddrive image or a
                    578: directory via the command line.</p>
1.1.1.5 ! root      579: 
        !           580: <a name="The Memory Dialog"></a><h4>The Memory Dialog</h4>
        !           581: 
        !           582: <div class="image" align="center">
        !           583: <img src="images/memory.png" width="768" height="534" alt="Hatari's GUI - the memory dialog">
        !           584: </div>
        !           585: 
1.1.1.3   root      586: <p>You can select the amount of RAM for the emulated ST here. Only
                    587: amounts that were valid on a real unmodified STFM can be selected.</p>
                    588: <p><em>Note:</em> This option is critical and you are strongly advised
                    589: to reset the emulated ST
1.1       root      590: when changing this option.</p>
1.1.1.2   root      591: <p>Here you will find the options to save memory snapshots as well.</p>
1.1.1.3   root      592: <p>Click on <span class="button">Save</span> to save a memory snapshot
                    593: to file. You can select a new filename here.</p>
                    594: <p>Click on <span class="button">Restore</span> to restore a memory
                    595: snapshot from a file. Use the fileselector to select the snapshot to be
                    596: restored.</p>
                    597: <p><em>NOTE:</em> Memory snapshots are not interchangeable between
                    598: different versions of Hatari. E.q. if you compile a newer Hatari, you
                    599: cannot load your old memory snapshots back.</p>
                    600: 
1.1.1.5 ! root      601: <a name="The ROM Dialog"></a><h4>The ROM Dialog</h4>
        !           602: 
        !           603: <div class="image" align="center">
        !           604: <img src="images/tos.png" width="768" height="534" alt="Hatari's GUI - the ROM dialog">
        !           605: </div>
        !           606: 
1.1.1.3   root      607: <p>Here you can select the TOS image to use. Click on <span
1.1.1.5 ! root      608:  class="button">Browse</span> to select it via the fileselector.
1.1.1.3   root      609: You can also select an optional cartridge image to use. Click on <span
1.1.1.4   root      610:  class="button">Browse</span> to select one via the fileselector. Click on <span
1.1.1.5 ! root      611:  class="button">Eject</span> to disconnect the custom cartridge image.
        !           612: </p>
1.1.1.4   root      613: <p>Keep in mind that any custom cartridge image will not work together with
1.1.1.5 ! root      614: GEMDOS hard disk emulation or the VDI extended resolution emulation
1.1.1.3   root      615: since some additional driver code will be used in the cartridge memory
                    616: space for these emulations.<br>
                    617: <p><em>Note:</em> These options are critical and you are strongly
                    618: advised to reset the emulated ST
1.1       root      619: when changing one of these option.</p>
1.1.1.5 ! root      620: 
        !           621: <a name="The Joystick Dialog"></a><h4>The Joystick Dialog</h4>
        !           622: 
        !           623: <div class="floatimage">
        !           624: <img src="images/joystick.png" width="320" height="288" alt="Hatari's GUI - the joystick dialog">
        !           625: </div>
        !           626: 
        !           627: <p>In this dialog, you can configure the emulated joysticks.
        !           628: With the upper two arrows, you can choose the joystick which you want to
        !           629: configure.</p>
1.1.1.3   root      630: <p>Joystick 1 is the normal ST joystick port and 99.9% of all ST games
1.1.1.5 ! root      631: use this port.
        !           632: Joystick 0 emulates a joystick plugged into the ST mouse port
        !           633: and is often used in games for two players.</p>
        !           634: <p>With STE joypad A and B, you can enable the emulation of Jaguar joypads
        !           635: which are plugged in the enhanced joystick ports of the Atari STE.
        !           636: Only very few STE games support these joypads, so you often won't need this.</p>
        !           637: <p>Finally, Hatari also emulates joysticks which were plugged on the parallel
        !           638: port with a special adapter on a real ST. These were used in some few
        !           639: multi-player games like &quot;Gauntlet 2&quot;.</p>
        !           640: <p>For each ST joystick, choose whether you want to disable it,
        !           641: use the keyboard for emulation or use a real PC joystick.</p>
        !           642: <p>For keyboard emulation, you can select the keys by pressing the
        !           643: <span class="button">Define keys</span> button. You will be prompted to press
        !           644: the keys for up, down, left, right and fire.</p>
        !           645: <p>If you want to use a real PC joystick for the emulation, you should connect
        !           646: it to your PC before you start Hatari. Then you can choose the joystick with
        !           647: the two lower arrows.</p>
        !           648: <p>Check the &quot;Enable autofire&quot; option if you are too lazy to pound
        !           649: on the fire button in shoot'em-up games. However, this option only works with
        !           650: certain games. In some other games, it gets worse if you enable this option.</p>
        !           651: <p>See also the chapter "Emulated Joystick" for details.</p>
        !           652: 
        !           653: <a name="The Screen Dialog"></a><h4>The Screen Dialog</h4>
        !           654: 
        !           655: <div class="image" align="center">
        !           656: <img src="images/screen.png" width="768" height="534" alt="Hatari's GUI - the screen dialog">
        !           657: </div>
1.1       root      658: 
                    659: <p>Here you control the video output of the emulated ST.</p>
                    660: <p>Check "Fullscreen" to run Hatari fullscreen, default is windowed.</p>
1.1.1.3   root      661: <p>Check "Interleaved mode" if you wish to have that old TV feeling in
                    662: Hatari. Every second line will be black.
1.1       root      663: This will only work in ST-MEDIUM or ST-LOW in scaled up resolutions.</p>
1.1.1.3   root      664: <p>Check "Frame Skip" to speed Hatari up if emulation is too slow. This
                    665: will only draw every second ST frame
                    666: instead of the default of drawing every ST frame. Uncheck if you have a
                    667: fast PC.</p>
                    668: <p>Check "Use Borders" if you wish to have the borders around the ST
                    669: screen.</p>
                    670: <p>"Force 8Bpp" will force SDL to use an 8bit video mode. You don't
                    671: need this for modern video cards.</p>
                    672: <p>You can select which sort of monitor to use. Check "Color" for games
                    673: and demos. If you check "Mono" here,
                    674: Hatari will emulate the good old SM124 and will not allow you to switch
                    675: to color modes from the running ST.
                    676: This toggle acts like a monitor switch with a color and monochrome
                    677: monitor connected.</p>
                    678: <p>"Zoom ST-Low res." will control if Hatari renders ST-LOW to a
                    679: 320x200 or 640x400 PC display (with borders turned off) or 384x267 or
                    680: 768x534.
1.1       root      681: Basically select this to toggle between a small or a large window.</p>
1.1.1.3   root      682: Extended GEM resolutions will emulate some sort of extended graphics
                    683: card in the emulated ST giving you larger resolutions and a higher
                    684: colordepth in GEM. Select a resolution and color depth. Check to
                    685: activate. It will disable all other video options mentioned above.
                    686: Uncheck to get back to a normal ST behaviour.<br>
                    687: <em>Note:</em> Using an extended resolution will only work with GEM
                    688: conformant applications. 99% of all games and demos will not run if you
                    689: activate any extended resolution here.<br>
                    690: <p>Click <span class="button">Capture Screen</span> to create a
                    691: screenshot in .BMP format to the current working directory or click <span
                    692:  class="button">Record Animation</span> to record a sequence of single
                    693: screenshots. You can opt to only record new movie frames when the
                    694: screen content really changed.
1.1       root      695: </p>
1.1.1.5 ! root      696: 
        !           697: <a name="The Keyboard Dialog"></a><h4>The Keyboard Dialog</h4>
        !           698: 
        !           699: <div class="floatimage">
        !           700: <img src="images/keyboard.png" width="400" height="192" alt="Hatari's GUI - the keyboard dialog">
        !           701: </div>
        !           702: 
        !           703: <p>Here you can select the keyboard mapping to use. Two different mappings
        !           704:  called &quot;Symbolic&quot; and &quot;Scancode&quot; are predefined.</p>
        !           705: <p>&quot;Symbolic&quot; tries to map the symbolic values of your PC keys
        !           706:  to the ST keys. It should be working pretty good on all systems as long
        !           707:  as your keyboard layout looks close to the standard english keyboard
        !           708:  layout. However, you might experience some problems with special keys like
        !           709:  brackets etc.</p>
        !           710: <p>&quot;Scancode&quot; uses the scancode values of your PC keys for keyboard
        !           711:  mapping. This only works on certain architectures like Linux where the
        !           712:  scancodes are similar to the ST scancodes (e.g. it does not work on Mac OS X).
        !           713:  If it works on your system, this often gives better results than the symbolic
        !           714:  mapping. Note that you also need a TOS version with the right language
        !           715:  (e.g. use a French TOS if you are using a French keyboard).</p>
        !           716: <p>You can also load a custom keyboard mapping file here if you wish. Please
        !           717:  note that the custom keyboard mapping will use the &quot;symbolic&quot; mapping
        !           718:  for all keys that are not defined by your map file. Have a look at the supplied
        !           719:  example mapfile to see how to create your own keyboard mapping.</p>
        !           720: 
        !           721: <a name="The Sound Dialog"></a><h4>The Sound Dialog</h4>
        !           722: 
        !           723: <div class="image" align="center">
        !           724: <img src="images/sound.png" width="768" height="534" alt="Hatari's GUI - the sound dialog">
        !           725: </div>
        !           726: 
1.1.1.2   root      727: <p>Here you can control the sound subsystem.</p>
1.1.1.3   root      728: <p>Check if you want emulated sound at all. Emulation is faster if
                    729: sound emulation is turned off.</p>
                    730: <p>3 frequencies from low to high quality are available. Experiment a
                    731: little bit to find out which fits best for your setup.
1.1       root      732: Medium quality will work ok in most cases.</p>
1.1.1.3   root      733: <p>You can select to record a piece of sound here. Check which format
                    734: to use and click the button. It is a toggle button so
1.1       root      735: you will need to return to the GUI to switch sound recording off again.</p>
1.1.1.5 ! root      736: 
        !           737: <a name="The Devices Dialog"></a><h4>The Devices Dialog</h4>
        !           738: 
1.1.1.3   root      739: <p>Check here if you want to enable experimental printer support. See
                    740: the chapter "Emulated printer" for details.</p>
1.1.1.5 ! root      741: 
        !           742: <div class="image" align="center">
        !           743: <img src="images/devices.png" width="768" height="534" alt="Hatari's GUI - the device dialog">
        !           744: </div>
        !           745: 
1.1.1.3   root      746: <p>As Hatari currently only supports printing to file, click on <span
                    747:  class="button">Select</span> to select the file to print to. You can
                    748: enter a new filename as well.</p>
                    749: <p><em>NOTE:</em> As the printer emulation is not perfect yet,
                    750: activated printer support may interfere with the emulated sound.
                    751: This is due to the fact that the Atari ST uses some general I/O ports
                    752: of the soundchip for the printer port. The Hatari team suggests to
1.1.1.2   root      753: disable printing while using games and demos.
                    754: </p>
1.1.1.3   root      755: <p>Check the second checkmark if you want to enable experimental RS232
                    756: support. The RS232 device is configured according to the settings of
                    757: the emulated RS232 of the Atari ST. This means Hatari will
                    758: automatically use baudrate and handshaking as configured for the
                    759: emulated ST.</p>
                    760: <p>Select a suitable device file for input and output. Click on <span
                    761:  class="button">Browse</span> to select.
1.1.1.2   root      762: A good choice is /dev/ttyS0 or /dev/ttyS1.
                    763: </p>
1.1.1.3   root      764: <p>You can enable MIDI as well. This currently works for outputting
                    765: MIDI data only. A good choice is /dev/midi00.</p>
                    766: <p>Click on <span class="button">Browse</span> to select a suitable
                    767: MIDI device file for output.</p>
1.1.1.2   root      768: <p>Your sound driver must support MIDI to make this work.</p>
                    769: <p><em>NOTE:</em> RS232 and MIDI emulation are very experimental, too.
                    770: Don't enable them unless you really need them!
                    771: </p>
1.1.1.5 ! root      772: 
        !           773: <a name="Keyboard shortcuts"></a><h3>Keyboard shortcuts</h3>
        !           774: 
1.1       root      775: <p> While the emulator is running, you can activate or toggle various
                    776: features via the following keyboard shortcuts. </p>
1.1.1.3   root      777: <table border="1" cellpadding="3">
1.1       root      778:   <tbody>
                    779:     <tr class="backdropped">
                    780:       <td align="center">Shortcut</td>
                    781:       <td align="center">Purpose</td>
                    782:     </tr>
                    783:     <tr>
1.1.1.2   root      784:       <td align="center"><span class="key">ALTGR+a</span></td>
                    785:       <td align="center">record animation</td>
                    786:     </tr>
                    787:     <tr>
1.1       root      788:       <td align="center"><span class="key">ALTGR+g</span></td>
                    789:       <td align="center">grabs a screenshot</td>
                    790:     </tr>
                    791:     <tr>
1.1.1.2   root      792:       <td align="center"><span class="key">ALTGR+i</span></td>
1.1.1.3   root      793:       <td align="center">boss key: leave full screen mode and iconify
                    794: window</td>
1.1.1.2   root      795:     </tr>
                    796:     <tr>
1.1       root      797:       <td align="center"><span class="key">ALTGR+j</span></td>
                    798:       <td align="center">activates joystick emulation via cursor keys</td>
                    799:     </tr>
                    800:     <tr>
                    801:       <td align="center"><span class="key">ALTGR+m</span></td>
                    802:       <td align="center">(un-)locks the mouse into the window</td>
                    803:     </tr>
                    804:     <tr>
                    805:       <td align="center"><span class="key">ALTGR+r</span></td>
1.1.1.2   root      806:       <td align="center">(warm) reset the ST</td>
1.1       root      807:     </tr>
                    808:     <tr>
                    809:       <td align="center"><span class="key">ALTGR+c</span></td>
1.1.1.3   root      810:       <td align="center">coldreset the ST (same as the original power
                    811: switch)</td>
1.1       root      812:     </tr>
                    813:     <tr>
1.1.1.2   root      814:       <td align="center"><span class="key">ALTGR+s</span></td>
                    815:       <td align="center">enable/disable sound</td>
                    816:     </tr>
                    817:     <tr>
1.1       root      818:       <td align="center"><span class="key">ALTGR+q</span></td>
                    819:       <td align="center">quit the emulator</td>
                    820:     </tr>
                    821:     <tr>
1.1.1.2   root      822:       <td align="center"><span class="key">ALTGR+x</span></td>
                    823:       <td align="center">toggle normal/max speed</td>
                    824:     </tr>
                    825:     <tr>
                    826:       <td align="center"><span class="key">ALTGR+y</span></td>
                    827:       <td align="center">enable/disable sound recording</td>
                    828:     </tr>
                    829:     <tr>
1.1.1.5 ! root      830:       <td align="center"><span class="key">ALTGR+f or F11</span></td>
1.1       root      831:       <td align="center">toggles fullscreen and windowed mode</td>
                    832:     </tr>
                    833:     <tr>
1.1.1.5 ! root      834:       <td align="center"><span class="key">ALTGR+o or F12</span></td>
        !           835:       <td align="center">activate the GUI</td>
1.1       root      836:     </tr>
                    837:     <tr>
                    838:       <td align="center"><span class="key">PAUSE</span></td>
1.1.1.5 ! root      839:       <td align="center">will go to the debugger if Hatari was started with
        !           840:            the -D option</td>
1.1       root      841:     </tr>
                    842:   </tbody>
                    843: </table>
1.1.1.5 ! root      844: 
        !           845: <a name="Emulated Atari ST keyboard"></a><h3>Emulated Atari ST keyboard</h3>
        !           846: 
1.1       root      847: <p> All other keys on the keyboard act as the normal Atari ST keys so
                    848: pressing SPACE on your PC will result in an emulated press of the SPACE
                    849: key on the ST. The following keys have special meanings: </p>
1.1.1.3   root      850: <table border="1" cellpadding="3">
1.1       root      851:   <tbody>
                    852:     <tr class="backdropped">
                    853:       <td align="center">Key</td>
                    854:       <td align="center">Meaning</td>
                    855:     </tr>
                    856:     <tr>
                    857:       <td align="center"><span class="key">Alt</span></td>
                    858:       <td align="center">will act as the ST's ALTERNATE key</td>
                    859:     </tr>
                    860:     <tr>
                    861:       <td align="center"><span class="key">left CTRL</span></td>
                    862:       <td align="center">will act as the ST's CONTROL key</td>
                    863:     </tr>
                    864:     <tr>
1.1.1.2   root      865:       <td align="center"><span class="key">Print Screen</span></td>
1.1       root      866:       <td align="center">will emulate the ST's HELP key</td>
                    867:     </tr>
                    868:     <tr>
1.1.1.2   root      869:       <td align="center"><span class="key">Scroll Lock</span></td>
1.1       root      870:       <td align="center">will emulate the ST's UNDO key</td>
                    871:     </tr>
1.1.1.2   root      872:     <tr>
                    873:       <td align="center"><span class="key">Page Up</span></td>
                    874:       <td align="center">will emulate the ST's ( key in the keypad</td>
                    875:     </tr>
                    876:     <tr>
                    877:       <td align="center"><span class="key">Page Down</span></td>
                    878:       <td align="center">will emulate the ST's ) in the keypad</td>
                    879:     </tr>
1.1       root      880:   </tbody>
                    881: </table>
1.1.1.5 ! root      882: 
        !           883: <p> The <span class="key">right CTRL</span> key is used by default as the
        !           884: fire button of the emulated joystick when you turn on joystick emulation
        !           885: via keyboard. </p>
        !           886: <p> The cursor keys will be used by default as the emulated ST joystick,
        !           887: unless you are using joystick emulation via a real joystick or have disabled
        !           888: joystick emulation completely. Then the cursor keys will act as the cursor
        !           889: keys of the emulated Atari ST, of course.</p>
        !           890: 
        !           891: <a name="Emulated mouse"></a><h3>Emulated mouse</h3>
        !           892: 
1.1       root      893: <p>For obvious reasons your PC mouse will act as the emulated Atari ST
                    894: mouse. In fullscreen mode it will act as expected, directly controlling
                    895: the ST mouse pointer. </p>
                    896: <p>However it is a little bit different in windowed mode. To make the
                    897: mouse work there as expected you need to grab it first or lock it into
1.1.1.3   root      898: the Hatari window. Do this by pressing the <span class="key">ALTGR+m</span>
                    899: hotkey combination.
1.1       root      900: Press it again to go back to normal mouse behaviour which allows you to
                    901: work in other X11 windows while Hatari is up and running. </p>
1.1.1.5 ! root      902: 
        !           903: <a name="Emulated joystick"></a><h3>Emulated joystick</h3>
        !           904: 
1.1       root      905: <p>The Atari ST joysticks are emulated ofcourse allowing you to play
                    906: your favourite games with Hatari. </p>
                    907: <p>The default mode is to use a connected PC joystick. You can use any
                    908: joystick that is supported by your kernel. If your joystick works with
                    909: other applications, it will likely work with Hatari as well. Make sure
                    910: it is calibrated and then off you go. Move the stick to point into the
                    911: desired direction. Please note that Hatari will not detect analogue
                    912: movement as the Atari ST only had digital joysticks. The first
1.1.1.3   root      913: firebutton will act as the normal firebutton on the Atari ST while the
                    914: second
                    915: firebutton will emulate a keypress of the <span class="key">SPACE</span>
                    916: key on the ST as many ST
                    917: games utilitze the SPACE bar for secondary game functions. (Xenon for
                    918: example)</p>
1.1       root      919: <p>If you do not have a PC joystick or joypad, then you do not need to
                    920: desperate. You can emulate one of the two Atari ST joysticks via the
                    921: cursor keys. Just activate it in the GUI. Then the cursor keys will act
                    922: as the joystick directions, the right CTRL key will act as the
                    923: firebutton. You can still use the cursor keys as the ST's
1.1.1.3   root      924: cursorkeys in this mode as long as you press <span class="key">SHIFT</span>
                    925: along with the cursorkeys. </p>
1.1.1.5 ! root      926: 
        !           927: <a name="Emulated video"></a><h3>Emulated video</h3>
        !           928: 
1.1.1.2   root      929: <p>Hatari by default only handles ST modes, ST-LOW, ST-MED and ST-HIGH.</p>
                    930: <p>Overscan effects and socalled "Border Removal" are possible too.</p>
1.1.1.3   root      931: <p>Due to the fact that these effects are achieved by using quirks and
                    932: glitches in the original chips to do things beyond their specification
                    933: emulation is a bit tricky for these and not all ST applications
                    934: utilizing these techniques will work properly in Hatari.
                    935: Especially socalled "Sync Scrolling", a special technique to emulate
                    936: the low byte of the video address, currently does not work properly in
                    937: Hatari.
                    938: </p>
                    939: <p>Beside that you can setup extended VDI modes. These only work with
                    940: GEM-compliant applications and they are equal to fitting a videocard
                    941: into your Mega ST.</p>
                    942: <p>Make sure to disable extended VDI modes for playing games as 99% of
                    943: all ST games will not be able to make use of higher resolutions.</p>
1.1.1.5 ! root      944: 
        !           945: <a name="Emulated printer"></a><h3>Emulated printer</h3>
        !           946: 
1.1.1.3   root      947: <p>Due to the fact that printer handling is very different between Unix
                    948: style machines and the Atari ST, emulation
1.1.1.2   root      949: of the printer is achieved by writing all printer output to a file.</p>
1.1.1.3   root      950: <p>The file will contain a sequence of data, the same that would appear
                    951: on the data pins of the Atari ST printer port.
                    952: That would include control characters and commands for graphic
                    953: printing. Clicking "Print desktop" on the GEM desktop would result
1.1.1.2   root      954: in a messy data dump in the printer output.</p>
1.1.1.3   root      955: <p>Printer emulation works best for plain text files or programs that
                    956: do not format the output for a specific printer.
                    957: The file contents can be used with your favourite text editor for
                    958: further processing and printing to a real printer.</p>
                    959: <p>To get real direct printing out of Hatari on a PostScript printer,
                    960: you may set up a GDOS printer with a PostScript driver on the emulated
                    961: Atari and set your printer device file as Hatari's printer output.<br>
                    962: <em>NOTE:</em> This has not been tested yet and the Hatari team cannot
                    963: guarantee that it will work.</p>
1.1.1.5 ! root      964: 
        !           965: <a name="Emulated RS232"></a><h3>Emulated RS232</h3>
        !           966: 
1.1.1.3   root      967: <p>Serial communications in Hatari is designed to directly use a serial
                    968: port on your PC.</p>
                    969: <p>Communications parameters are set automatically upon the settings of
                    970: the emulated ST. This means all you do is to set
                    971: the communication parameters like baudrate from your ST communications
                    972: software. Hatari will do the rest and handle
1.1.1.2   root      973: the serial input and output for you.</p>
1.1.1.5 ! root      974: 
        !           975: <a name="Floppy disk images"></a><h2>Floppy disk images</h2>
        !           976: 
1.1       root      977: <p>Hatari does not use floppy disks directly but disk images due to
                    978: differences between the floppy disk controllers of the ST and the PC.
1.1.1.3   root      979: Three types of disk images are currently supported: The raw "ST" type,
                    980: the similar "DIM" type and
1.1.1.2   root      981: the compressed "MSA" (Magic-Shadow-Archiver) type. </p>
1.1       root      982: <p> The raw type (file suffix should be "*.st") is simply a sector by
                    983: sector image of a real floppy disk. You can easily create such an image
1.1.1.3   root      984: with the <span class="commandline">dd</span> program which should
                    985: normally be pre-installed on every
                    986: Unix-like system. Simply type something like <span class="commandline">dd
                    987: if=/dev/fd0 of=myimage.st</span> to create a disk image. Of course you
                    988: need access to
1.1       root      989: /dev/fd0, and depending on your system and the type of floppy disk you
                    990: might have to use another device name here (for example I use
1.1.1.3   root      991: /dev/fd0u720 for 720kB disks). However, if the disk is copy-protected
                    992: or
1.1       root      993: doesn't use a MSDOS compatible file system, this might fail. So be very
                    994: careful if you're not sure about the disk format. </p>
1.1.1.3   root      995: <p> The other possibility is to image the disk on a real Atari ST.
                    996: There
1.1       root      997: are programs like the Magic Shadow Archiver for this task. Hatari
1.1.1.3   root      998: supports this slightly compressed MSA disk images, too. Note that
                    999: Hatari
                   1000: only supports the "old" MSA format, there are some Magic Shadow
                   1001: Archiver
1.1       root     1002: clones (like Jay-MSA) that create better compressed but
1.1.1.2   root     1003: Hatari-incompatible disk images. However, if you have got such a MSA
1.1.1.3   root     1004: disk and want to use it with Hatari, you can still run the
                   1005: corresponding
1.1.1.2   root     1006: MSA program within Hatari to extract the incompatible disk image to a
                   1007: normal floppy disk image. </p>
1.1       root     1008: <p> While *.ST and *.MSA are more or less the "standard" types of Atari
1.1.1.2   root     1009: disk images, you might sometimes also find STT or ADF images on the
1.1.1.3   root     1010: internet. These currently do not work with Hatari. </p>
                   1011: <p>Hatari can now also utilize *.DIM images just as *.ST ones without
                   1012: any problems.
1.1.1.2   root     1013: Note that DIM images are nearly the same as the raw ST images
1.1.1.3   root     1014: (they only have an additional 32 bytes header), so you can easily
                   1015: transform
1.1.1.2   root     1016: the DIM images into ST images by stripping the header from the files.
                   1017: For example try something like:
                   1018: <span class="commandline">dd if=input.dim of=output.st bs=32 skip=1</span>
                   1019: </p>
1.1       root     1020: <p> If you've got a disk image that has been created with the old ST
                   1021: emulator PaCifiST (for DOS) or with early versions of the program
                   1022: Makedisk, and the disk image does not work with Hatari, then the disk
1.1.1.3   root     1023: probably suffers from the "PaCifiST bootsector bug" (Hatari will
                   1024: display a
1.1       root     1025: warning message then). In this case, the bootsector of the disk
                   1026: contains some illegal data, so that the disk even does not work on a
                   1027: real ST any more. However, if it is a .ST and not a .MSA disk, you can
1.1.1.3   root     1028: easily fix it by using a hex-editor to change the byte at offset $D
                   1029: (13)
1.1       root     1030: from 0 to 1 (don't forget to backup your disk image first, since you
                   1031: can also easily destroy your disk image when changing a wrong byte
                   1032: there). If the disk contains a bootsector program, you probably have to
                   1033: adjust the boot sector check sum, too (it can be found at offset $1FE +
                   1034: $1FF). </p>
1.1.1.2   root     1035: <p>Hatari supports disk images that are compressed with (Pk-)ZIP
                   1036: (file suffix must be ".zip") or GZip (file suffix must be ".st.gz" or
1.1.1.3   root     1037: ".msa.gz"), so you can archive your disk images into zip archives.
1.1.1.2   root     1038: You can also directly run the zip archives you may download from the
                   1039: net as long as the archive contains a disk image in .ST or .MSA format.</p>
1.1.1.3   root     1040: <p><em>Note:</em> Hatari does not save disk images back to *.ZIP files
                   1041: so
1.1.1.2   root     1042: your highscores and savegames are lost if you load the game from such
                   1043: a zipped disk image.</p>
1.1.1.5 ! root     1044: 
        !          1045: <a name="Hard disk support"></a><h2>Hard disk support</h2>
        !          1046: 
1.1       root     1047: <p>Hatari supports two ways of emulating a ST hard drive: The low-level
                   1048: ACSI hard disk emulation and a GEMDOS based drive emulation. </p>
                   1049: <p>To use the ACSI hard disk emulation, you need a hard disk image file
1.1.1.3   root     1050: with a pre-installed HD driver in it. So either try to image your old
                   1051: ST
1.1       root     1052: hard disk or grab one from the internet. There is a HD image on the
                   1053: Hatari web page for download. Perhaps we'll also provide a tool for
                   1054: creating HD images one day. </p>
                   1055: <p>With the GEMDOS based drive emulation, you can easily "mount" a
                   1056: folder from the host file system to a drive of the emulated Atari. To
                   1057: use the GEMDOS based drive emulation, you should use a folder on your
1.1.1.3   root     1058: hard disk that only contains files and folders with valid TOS
                   1059: filenames.
1.1       root     1060: That means that all files/folders should be written in capital letters
                   1061: and their length mustn't exceed the 8+3 file name length limit. If you
                   1062: don't want to rename all files to get capital letters, it is also
                   1063: possible to store that folder on a FAT filesystem since those
                   1064: filesystems are case-insensitive. </p>
                   1065: <p>GEMDOS drive emulation is an easy way to share files between the
1.1.1.3   root     1066: host system and the emulated Atari, but it is known to be incomplete
                   1067: and
1.1       root     1068: a little bit unstable, especially if you use it together with the ACSI
                   1069: hard disk emulation. So if your programs complain that they could not
                   1070: find/read/write files on the GEMDOS HD drive, you should try to copy
1.1.1.3   root     1071: them to a floppy disk image or a real hard disk image!</p>
                   1072: <p>Due to the way the GEMDOS drive emulation is implemented at the
                   1073: moment, it is not possible to use a cartridge image together with
                   1074: GEMDOS drive emulation. </p>
1.1       root     1075: <p> Note that changing the HD-image or the GEMDOS HD-folder will reset
                   1076: the emulated Atari since it is not possible to switch the hard disk
                   1077: while the emulator is running. </p>
                   1078: <p> May the fun without the price to be with you ;-) ! </p>
1.1.1.4   root     1079: 
1.1.1.5 ! root     1080: <a name="Appendix"></a><h2>Appendix</h2>
        !          1081: 
        !          1082: <a name="Copying"></a><h3>Copying</h3>
1.1.1.4   root     1083: 
1.1       root     1084: <div class="backdropped">
                   1085: <p>This program is free software; you can redistribute it and/or modify
1.1.1.3   root     1086: it under the terms of the GNU General Public License as published by
                   1087: the
1.1       root     1088: Free Software Foundation; either version 2 of the License, or (at your
                   1089: option) any later version. </p>
                   1090: <p>This program is distributed in the hope that it will be useful, but <em>WITHOUT
                   1091: ANY WARRANTY</em>; without even the implied warranty of <em>MERCHANTABILITY</em>
1.1.1.3   root     1092: or <em>FITNESS FOR A PARTICULAR PURPOSE</em>. See the GNU General
1.1.1.4   root     1093: Public License for more details. </p>
                   1094: <p>
                   1095: You should have received a copy of the GNU General Public License
                   1096: along with this program; if not, write to the Free Software Foundation,
                   1097: Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                   1098: </p>
1.1       root     1099: </div>
1.1.1.3   root     1100: <p><a href="http://www.gnu.org/">The GNU Project and the Free Software
                   1101: Foundation</a> | <a href="http://www.fsf.org/licenses/gpl.html">The
                   1102: GNU General Public License</a></p>
1.1.1.4   root     1103: 
1.1.1.5 ! root     1104: <a name="Introduction to Emulation"></a><h3>Introduction to Emulation</h3>
        !          1105: 
1.1       root     1106: <p>Emulation via software is an art and Hatari is an example of this.</p>
1.1.1.3   root     1107: <p>Emulation is to make a computer behave like a (probably) completely
                   1108: different machine on the lowest possible niveau.
                   1109: This includes CPU and custom chip emulation allowing software written
                   1110: for the emulated machine to be run without notice.
                   1111: A good emulator will run most of the software intended for the emulated
                   1112: platform without trouble.
1.1       root     1113: </p>
                   1114: <p>
1.1.1.3   root     1115: The key to emulation is to simply do those things with a software
                   1116: program, the emulator, that normally chips would perform.
                   1117: So you have an CPU emulator that basically consists of a large loop
                   1118: that does exactly what the real thing would do:
1.1       root     1119: </p>
                   1120: <ul>
1.1.1.3   root     1121:   <li>fetch an instruction from virtual memory</li>
                   1122:   <li>interpret this instruction</li>
                   1123:   <li>fetch operands from the emulated registers and memory</li>
                   1124:   <li>perform the operation like addition or changing the program
                   1125: counter on a jump instruction</li>
                   1126:   <li>writes results back into the intended registers or memory
                   1127: locations</li>
                   1128:   <li>increment of the program counter and loop</li>
1.1       root     1129: </ul>
                   1130: <p>
1.1.1.3   root     1131: The typical von-Neumann CPU can be emulated very fast, stable and
                   1132: error-free using such a simple loop system.
1.1       root     1133: </p>
                   1134: <p>
1.1.1.3   root     1135: But in most cases the CPU emulation is the simplest part. Correct
                   1136: emulation of the various custom chips and hardware
1.1       root     1137: parts of the emulated system is much trickier.
                   1138: </p>
                   1139: 
1.1.1.5 ! root     1140: <a name="Software compatibility list"></a><h3>Software compatibility list</h3>
        !          1141: 
1.1.1.3   root     1142: <p>This is a little compilation of what Atari software does work in
                   1143: Hatari. It is by no means finished.</p>
1.1       root     1144: 
1.1.1.5 ! root     1145: <p>First is listed software (games, demos and applications) that work
        !          1146: on normal STs, after them is listed STE only software that has been
        !          1147: tested with the current STE hardware emulation.</p>
        !          1148: 
        !          1149: <a name="ST games"></a><h4>ST games</h4>
        !          1150: 
1.1.1.3   root     1151: <table border="1" cellpadding="3">
                   1152:   <caption align="bottom">tested games</caption> <tbody>
1.1       root     1153:     <tr class="backdropped">
                   1154:       <td align="center">Game</td>
                   1155:       <td align="center">Working</td>
1.1.1.3   root     1156:       <td align="center">Sound</td>
                   1157:       <td align="center">Comment</td>
                   1158:     </tr>
                   1159:     <tr>
                   1160:       <td>Eliminator</td>
                   1161:       <td>yes</td>
                   1162:       <td>perfect</td>
                   1163:       <td>&nbsp;</td>
                   1164:     </tr>
                   1165:     <tr>
                   1166:       <td>Speedball</td>
                   1167:       <td>yes</td>
                   1168:       <td>perfect</td>
                   1169:       <td>&nbsp;</td>
                   1170:     </tr>
                   1171:     <tr>
                   1172:       <td>Xenon</td>
                   1173:       <td>yes</td>
                   1174:       <td>music ok - fx dodgy</td>
                   1175:       <td>bullets and explosions sound weired</td>
                   1176:     </tr>
                   1177:     <tr>
                   1178:       <td>Bubble Bobble</td>
                   1179:       <td>yes</td>
                   1180:       <td>&nbsp;</td>
                   1181:       <td>&nbsp;</td>
                   1182:     </tr>
                   1183:     <tr>
                   1184:       <td>F15 Strike Eagle 2</td>
                   1185:       <td>yes</td>
                   1186:       <td>ok</td>
                   1187:       <td>keyboard emulation seems to be dodgy</td>
1.1       root     1188:     </tr>
1.1.1.3   root     1189:     <tr>
                   1190:       <td>Rick Dangerous</td>
                   1191:       <td>yes</td>
                   1192:       <td>perfect</td>
                   1193:       <td>&nbsp;</td>
                   1194:     </tr>
                   1195:     <tr>
                   1196:       <td>Slayer</td>
                   1197:       <td>yes</td>
                   1198:       <td>ok</td>
                   1199:       <td>raster fx at highscore entry dodgy</td>
                   1200:     </tr>
                   1201:     <tr>
                   1202:       <td>Lethal Xcess</td>
                   1203:       <td>no</td>
                   1204:       <td>&nbsp;</td>
                   1205:       <td>crashes while loading, sync scrolling will not work properly</td>
                   1206:     </tr>
                   1207:     <tr>
                   1208:       <td>Star Goose</td>
                   1209:       <td>yes</td>
                   1210:       <td>music ok - bullet sound dodgy</td>
                   1211:       <td>&nbsp;</td>
                   1212:     </tr>
                   1213:     <tr>
                   1214:       <td>Xenon 2 - Megablast</td>
                   1215:       <td>yes</td>
                   1216:       <td>nearly perfect (including sampled intro)</td>
                   1217:       <td>&nbsp;</td>
                   1218:     </tr>
                   1219:     <tr>
                   1220:       <td>Metal Mutant</td>
                   1221:       <td>yes</td>
                   1222:       <td>seems ok</td>
                   1223:       <td>some color effects in the lower screen seem buggy</td>
                   1224:     </tr>
                   1225:     <tr>
                   1226:       <td>Defenders Of The Earth</td>
                   1227:       <td>yes</td>
                   1228:       <td>&nbsp;</td>
                   1229:       <td>&nbsp;</td>
                   1230:     </tr>
                   1231:     <tr>
                   1232:       <td>Nebulus</td>
                   1233:       <td>yes</td>
                   1234:       <td>music ok; snowball, balls and trapdoors dodgy</td>
                   1235:       <td>otherwise working to a playable extend</td>
                   1236:     </tr>
                   1237:     <tr>
                   1238:       <td>Leander</td>
                   1239:       <td>yes</td>
                   1240:       <td>&nbsp;</td>
                   1241:       <td>&nbsp;</td>
                   1242:     </tr>
                   1243:     <tr>
                   1244:       <td>Navy Seals</td>
                   1245:       <td>yes</td>
                   1246:       <td>&nbsp;</td>
                   1247:       <td>&nbsp;</td>
                   1248:     </tr>
                   1249:     <tr>
                   1250:       <td>Armalyte</td>
                   1251:       <td>yes</td>
                   1252:       <td>&nbsp;</td>
                   1253:       <td>&nbsp;</td>
                   1254:     </tr>
                   1255:     <tr>
                   1256:       <td>Wings Of Death</td>
                   1257:       <td>yes</td>
                   1258:       <td>&nbsp;</td>
1.1.1.5 ! root     1259:       <td>works in STE mode too</td>
1.1.1.3   root     1260:     </tr>
                   1261:     <tr>
                   1262:       <td>Toki</td>
                   1263:       <td>yes</td>
                   1264:       <td>&nbsp;</td>
                   1265:       <td>&nbsp;</td>
                   1266:     </tr>
                   1267:     <tr>
                   1268:       <td>Alien World</td>
                   1269:       <td>yes</td>
                   1270:       <td>&nbsp;</td>
                   1271:       <td>Only works with "--slowfdc"</td>
                   1272:     </tr>
                   1273:     <tr>
                   1274:       <td>Skweek</td>
                   1275:       <td>yes</td>
                   1276:       <td>&nbsp;</td>
                   1277:       <td>Does not work with cartridge / HD emulation</td>
                   1278:     </tr>
                   1279:   </tbody>
                   1280: </table>
                   1281: 
1.1.1.5 ! root     1282: <a name="ST demos"></a><h4>ST demos</h4>
1.1.1.2   root     1283: 
1.1.1.3   root     1284: <table border="1" cellpadding="3">
                   1285:   <caption align="bottom">tested demos</caption> <tbody>
                   1286:     <tr class="backdropped">
                   1287:       <td align="center">Demo</td>
                   1288:       <td align="center">Working</td>
                   1289:       <td align="center">Sound</td>
                   1290:       <td align="center">Comment</td>
                   1291:     </tr>
                   1292:     <tr>
                   1293:       <td>Fantasia (by Dune)</td>
                   1294:       <td>yes</td>
                   1295:       <td>&nbsp;</td>
                   1296:       <td>Only works with "--slowfdc"</td>
                   1297:     </tr>
                   1298:     <tr>
                   1299:       <td>Oddstuff (by Dune/SectorOne)</td>
                   1300:       <td>yes</td>
                   1301:       <td>&nbsp;</td>
                   1302:       <td>Only works with "--slowfdc".
                   1303:           Enable "frameskip" to avoid the flicker.</td>
                   1304:     </tr>
                   1305:     <tr>
                   1306:       <td>If pigs could fly (by Syndicate)</td>
                   1307:       <td>yes</td>
                   1308:       <td>&nbsp;</td>
                   1309:       <td>Only works with "--slowfdc"</td>
                   1310:     </tr>
                   1311:     <tr>
                   1312:       <td>LongScreen (by X-Troll)</td>
                   1313:       <td>yes</td>
                   1314:       <td>&nbsp;</td>
                   1315:       <td>Only works with "--slowfdc"</td>
                   1316:     </tr>
                   1317:     <tr>
                   1318:       <td>Overdose (by Aggression)</td>
                   1319:       <td>yes</td>
                   1320:       <td>&nbsp;</td>
                   1321:       <td>Does not work with cartridge / HD emulation</td>
                   1322:     </tr>
1.1.1.5 ! root     1323:     <tr>
        !          1324:       <td>Virtual Escape (by Equinox)</td>
        !          1325:       <td>yes</td>
        !          1326:       <td>&nbsp;</td>
        !          1327:       <td>&nbsp;</td>
        !          1328:     </tr>
        !          1329:     <tr>
        !          1330:       <td>Posh (by Checkpoint)</td>
        !          1331:       <td>yes</td>
        !          1332:       <td>&nbsp;</td>
        !          1333:       <td>&nbsp;</td>
        !          1334:     </tr>
        !          1335:     <tr>
        !          1336:       <td>Flipo (by Oxygene)</td>
        !          1337:       <td>yes</td>
        !          1338:       <td>&nbsp;</td>
        !          1339:       <td>&nbsp;</td>
        !          1340:     </tr>
        !          1341:     <tr>
        !          1342:       <td>Syntax Terror (by DeltaForce)</td>
        !          1343:       <td>yes</td>
        !          1344:       <td>&nbsp;</td>
        !          1345:       <td>&nbsp;</td>
        !          1346:     </tr>
        !          1347:     <tr>
        !          1348:       <td>Sweety (by DHS)</td>
        !          1349:       <td>yes</td>
        !          1350:       <td>&nbsp;</td>
        !          1351:       <td>Does not work with HD emulation</td>
        !          1352:     </tr>
        !          1353:     <tr>
        !          1354:       <td>B.I.G-demo (musicdemo by Exceptions)</td>
        !          1355:       <td>partially</td>
        !          1356:       <td>&nbsp;</td>
        !          1357:       <td>Flickers and colors in 3 of the screens don't look right</td>
        !          1358:     </tr>
        !          1359:     <tr>
        !          1360:       <td>SoWatt (by CareBears)</td>
        !          1361:       <td>partially</td>
        !          1362:       <td>&nbsp;</td>
        !          1363:       <td>Colors and scrolling in the main menu are broken</td>
        !          1364:     </tr>
        !          1365:     <tr>
        !          1366:       <td>Punish your machine</td>
        !          1367:       <td>partially</td>
        !          1368:       <td>&nbsp;</td>
        !          1369:       <td>Colors and scrolling in the main menu are broken</td>
        !          1370:     </tr>
        !          1371:     <tr>
        !          1372:       <td>Froggies over the Fence<br>Oh no more Froggies</td>
        !          1373:       <td>No</td>
        !          1374:       <td>&nbsp;</td>
        !          1375:       <td>Stop when the main menu loads</td>
        !          1376:     </tr>
1.1       root     1377:   </tbody>
                   1378: </table>
                   1379: 
1.1.1.5 ! root     1380: <a name="ST applications"></a><h4>ST applications</h4>
1.1.1.3   root     1381: 
                   1382: <table border="1" cellpadding="3">
                   1383:   <caption align="bottom">tested applications</caption> <tbody>
1.1       root     1384:     <tr class="backdropped">
                   1385:       <td align="center">Application</td>
                   1386:       <td align="center">Working</td>
1.1.1.3   root     1387:       <td align="center">Comment</td>
                   1388:     </tr>
1.1.1.5 ! root     1389:     <tr class="backdropped">
        !          1390:       <td colspan="3" align="right"><i>Programming</i></td>
        !          1391:     </tr>
1.1.1.3   root     1392:     <tr>
                   1393:       <td>DevPac 2.2</td>
                   1394:       <td>yes</td>
                   1395:       <td>MonST crashy</td>
                   1396:     </tr>
                   1397:     <tr>
                   1398:       <td>Turbo Assembler</td>
                   1399:       <td>yes</td>
1.1.1.4   root     1400:       <td>Due to a bug you need to have a proper disk image inserted into drive A. Works otherwise!</td>
1.1.1.3   root     1401:     </tr>
                   1402:     <tr>
                   1403:       <td>GFABASIC 3.6TT</td>
                   1404:       <td>yes</td>
                   1405:       <td>MENU.PRG does not like harddisks. Use diskimages for
                   1406: compiling.</td>
                   1407:     </tr>
                   1408:     <tr>
                   1409:       <td>ST Basic</td>
                   1410:       <td>yes</td>
                   1411:       <td>&nbsp;</td>
                   1412:     </tr>
                   1413:     <tr>
1.1.1.5 ! root     1414:       <td>Orcs Resource editor</td>
        !          1415:       <td>yes</td>
        !          1416:       <td>&nbsp;</td>
        !          1417:     </tr>
        !          1418:     <tr class="backdropped">
        !          1419:       <td colspan="3" align="right"><i>Graphics</i></td>
        !          1420:     </tr>
        !          1421:     <tr>
        !          1422:       <td>Mgif</td>
        !          1423:       <td>yes</td>
        !          1424:       <td>&nbsp;</td>
        !          1425:     </tr>
        !          1426:     <tr>
1.1.1.3   root     1427:       <td>Neochrome</td>
                   1428:       <td>yes</td>
                   1429:       <td>rasters sometimes unstable</td>
                   1430:     </tr>
                   1431:     <tr>
                   1432:       <td>Crackart</td>
                   1433:       <td>yes</td>
                   1434:       <td>Harddisk access does not work with GEMDOS emulation - fine
                   1435: with disk images</td>
                   1436:     </tr>
                   1437:     <tr>
1.1.1.5 ! root     1438:       <td>Speed Of Light</td>
        !          1439:       <td>yes</td>
        !          1440:       <td>&nbsp;</td>
        !          1441:     </tr>
        !          1442:     <tr class="backdropped">
        !          1443:       <td colspan="3" align="right"><i>Sound</i></td>
        !          1444:     </tr>
        !          1445:     <tr>
        !          1446:       <td>SidSound Designer</td>
        !          1447:       <td>yes</td>
        !          1448:       <td>&nbsp;</td>
        !          1449:     </tr>
        !          1450:     <tr>
        !          1451:       <td>MusicMon 2</td>
        !          1452:       <td>yes</td>
        !          1453:       <td>&nbsp;</td>
        !          1454:     </tr>
        !          1455:     <tr>
        !          1456:       <td>Protracker</td>
        !          1457:       <td>yes</td>
        !          1458:       <td>&nbsp;</td>
        !          1459:     </tr>
        !          1460:     <tr>
        !          1461:       <td>Accompanist<br>(Henry Cosh Sequencer)</td>
        !          1462:       <td>yes</td>
        !          1463:       <td>Program works, but couldn't get Hatari midi output to work</td>
        !          1464:     </tr>
        !          1465:     <tr>
        !          1466:       <td>Sequencer One</td>
        !          1467:       <td>yes</td>
        !          1468:       <td>Program and sample sounds work, but couldn't get Hatari midi
        !          1469:       output to work</td>
        !          1470:     </tr>
        !          1471:     <tr>
        !          1472:       <td>Cubase Lite</td>
        !          1473:       <td>yes</td>
        !          1474:       <td>Program works, but couldn't get Hatari midi output to work</td>
        !          1475:     </tr>
        !          1476:     <tr class="backdropped">
        !          1477:       <td colspan="3" align="right"><i>Text Editors</i></td>
        !          1478:     </tr>
        !          1479:     <tr>
1.1.1.3   root     1480:       <td>Tempus</td>
                   1481:       <td>yes</td>
                   1482:       <td>&nbsp;</td>
                   1483:     </tr>
                   1484:     <tr>
1.1.1.5 ! root     1485:       <td>Qed editor</td>
1.1.1.3   root     1486:       <td>yes</td>
                   1487:       <td>&nbsp;</td>
                   1488:     </tr>
                   1489:     <tr>
1.1.1.5 ! root     1490:       <td>Everest editor</td>
1.1.1.3   root     1491:       <td>yes</td>
                   1492:       <td>&nbsp;</td>
                   1493:     </tr>
1.1.1.5 ! root     1494:     <tr class="backdropped">
        !          1495:       <td colspan="3" align="right"><i>Business applications</i></td>
        !          1496:     </tr>
1.1.1.3   root     1497:     <tr>
1.1.1.5 ! root     1498:       <td>Opus spreadsheet</td>
1.1.1.3   root     1499:       <td>yes</td>
                   1500:       <td>&nbsp;</td>
                   1501:     </tr>
                   1502:     <tr>
1.1.1.5 ! root     1503:       <td>SBase database</td>
1.1.1.3   root     1504:       <td>yes</td>
                   1505:       <td>&nbsp;</td>
                   1506:     </tr>
1.1.1.5 ! root     1507:     <tr class="backdropped">
        !          1508:       <td colspan="3" align="right"><i>Communications</i></td>
        !          1509:     </tr>
1.1.1.3   root     1510:     <tr>
1.1.1.5 ! root     1511:       <td>CAB browser</td>
1.1.1.3   root     1512:       <td>yes</td>
                   1513:       <td>&nbsp;</td>
                   1514:     </tr>
                   1515:     <tr>
1.1.1.5 ! root     1516:       <td>Kivi QWK Reader</td>
1.1.1.3   root     1517:       <td>yes</td>
                   1518:       <td>&nbsp;</td>
                   1519:     </tr>
1.1.1.5 ! root     1520:     <tr class="backdropped">
        !          1521:       <td colspan="3" align="right"><i>Desktops</i></td>
        !          1522:     </tr>
1.1.1.3   root     1523:     <tr>
1.1.1.5 ! root     1524:       <td>Teradesk desktop</td>
1.1.1.3   root     1525:       <td>yes</td>
                   1526:       <td>&nbsp;</td>
                   1527:     </tr>
                   1528:     <tr>
1.1.1.5 ! root     1529:       <td>Thing desktop</td>
1.1.1.3   root     1530:       <td>yes</td>
                   1531:       <td>&nbsp;</td>
1.1       root     1532:     </tr>
1.1.1.5 ! root     1533:     <tr class="backdropped">
        !          1534:       <td colspan="3" align="right"><i>Others</i></td>
        !          1535:     </tr>
        !          1536:     <tr>
        !          1537:       <td>ST-Guide</td>
        !          1538:       <td>yes</td>
        !          1539:       <td>&nbsp;</td>
        !          1540:     </tr>
        !          1541:     <tr>
        !          1542:       <td>Sagrotan viruskiller</td>
        !          1543:       <td>yes</td>
        !          1544:       <td>&nbsp;</td>
        !          1545:     </tr>
        !          1546:   </tbody>
        !          1547: </table>
        !          1548: 
        !          1549: <a name="STE games"></a><h4>STE games</h4>
        !          1550: 
        !          1551: <p>First are some STE games that do work with the STE features
        !          1552: in Hatari.  Most of these games work only on STE, but here are also some
        !          1553: games which work (or have a version that works) also on ST, i.e. they
        !          1554: are just STE enhanced.  These are marked with '*'.</p>
        !          1555: <table border="1" cellpadding="3">
        !          1556:   <caption align="bottom">tested STE games</caption> <tbody>
        !          1557:     <tr class="backdropped">
        !          1558:       <td align="center">Title</td>
        !          1559:       <td align="center">Working</td>
        !          1560:       <td align="center">Sound</td>
        !          1561:       <td align="center">Comment</td>
        !          1562:     </tr>
        !          1563:     <tr>
        !          1564:       <td>Alien Blast</td>
        !          1565:       <td>yes</td>
        !          1566:       <td>&nbsp;</td>
        !          1567:       <td>&nbsp;</td>
        !          1568:     </tr>
        !          1569:     <tr>
        !          1570:       <td>Astrodia*</td>
        !          1571:       <td>yes</td>
        !          1572:       <td>&nbsp;</td>
        !          1573:       <td>Blitter support doesn't work with EmuTOS, only real STE TOS</td>
        !          1574:     </tr>
        !          1575:     <tr>
        !          1576:       <td>Battletris+</td>
        !          1577:       <td>yes</td>
        !          1578:       <td>&nbsp;</td>
        !          1579:       <td>&nbsp;</td>
        !          1580:     </tr>
        !          1581:     <tr>
        !          1582:       <td>Blat!</td>
        !          1583:       <td>yes</td>
        !          1584:       <td>&nbsp;</td>
        !          1585:       <td>&nbsp;</td>
        !          1586:     </tr>
        !          1587:     <tr>
        !          1588:       <td>Bombaman</td>
        !          1589:       <td>yes</td>
        !          1590:       <td>&nbsp;</td>
        !          1591:       <td>&nbsp;</td>
        !          1592:     </tr>
        !          1593:     <tr>
        !          1594:       <td>Breakdance</td>
        !          1595:       <td>yes</td>
        !          1596:       <td>&nbsp;</td>
        !          1597:       <td><em>THE</em> ultimate scene game</td>
        !          1598:     </tr>
        !          1599:     <tr>
        !          1600:       <td>ChuChu Rocket</td>
        !          1601:       <td>yes</td>
        !          1602:       <td>&nbsp;</td>
        !          1603:       <td>needs to be run from disk image</td>
        !          1604:     </tr>
        !          1605:     <tr>
        !          1606:       <td>Dynabusters+</td>
        !          1607:       <td>yes</td>
        !          1608:       <td>&nbsp;</td>
        !          1609:       <td>&nbsp;</td>
        !          1610:     </tr>
        !          1611:     <tr>
        !          1612:       <td>H.E.R.O. 2</td>
        !          1613:       <td>yes</td>
        !          1614:       <td>&nbsp;</td>
        !          1615:       <td>Requires 4MB RAM</td>
        !          1616:     </tr>
        !          1617:     <tr>
        !          1618:       <td>Manga Puzzle</td>
        !          1619:       <td>yes</td>
        !          1620:       <td>&nbsp;</td>
        !          1621:       <td>&nbsp;</td>
        !          1622:     </tr>
        !          1623:     <tr>
        !          1624:       <td>Penta*</td>
        !          1625:       <td>yes</td>
        !          1626:       <td>&nbsp;</td>
        !          1627:       <td>Blitter, DMA audio and STE fadings do work properly</td>
        !          1628:     </tr>
        !          1629:     <tr>
        !          1630:       <td>No Limit II</td>
        !          1631:       <td>yes</td>
        !          1632:       <td>&nbsp;</td>
        !          1633:       <td>&nbsp;</td>
        !          1634:     </tr>
        !          1635:     <tr>
        !          1636:       <td>Obsession</td>
        !          1637:       <td>yes</td>
        !          1638:       <td>&nbsp;</td>
        !          1639:       <td>opens top &amp; bottom border, but part from the right is not visible on screen</td>
        !          1640:     </tr>
        !          1641:     <tr>
        !          1642:       <td>Operation Garfield</td>
        !          1643:       <td>yes</td>
        !          1644:       <td>&nbsp;</td>
        !          1645:       <td>&nbsp;</td>
        !          1646:     </tr>
        !          1647:     <tr>
        !          1648:       <td>Pacman on E</td>
        !          1649:       <td>yes</td>
        !          1650:       <td>&nbsp;</td>
        !          1651:       <td>&nbsp;</td>
        !          1652:     </tr>
        !          1653:     <tr>
        !          1654:       <td>Power Up*</td>
        !          1655:       <td>yes</td>
        !          1656:       <td>&nbsp;</td>
        !          1657:       <td>Problems with music, but DMA sound effects work</td>
        !          1658:     </tr>
        !          1659:     <tr>
        !          1660:       <td>Roger</td>
        !          1661:       <td>partially</td>
        !          1662:       <td>&nbsp;</td>
        !          1663:       <td>Blitter timings inaccurate - game is too fast,
        !          1664:           needs to be run from disk image</td>
        !          1665:     </tr>
        !          1666:     <tr>
        !          1667:       <td>Skulls</td>
        !          1668:       <td>yes</td>
        !          1669:       <td>&nbsp;</td>
        !          1670:       <td>part from the right border is not visible on screen</td>
        !          1671:     </tr>
        !          1672:     <tr>
        !          1673:       <td>Starball*</td>
        !          1674:       <td>yes</td>
        !          1675:       <td>&nbsp;</td>
        !          1676:       <td>&nbsp;</td>
        !          1677:     </tr>
        !          1678:     <tr>
        !          1679:       <td>Stardust</td>
        !          1680:       <td>yes</td>
        !          1681:       <td>&nbsp;</td>
        !          1682:       <td>&nbsp;</td>
        !          1683:     </tr>
        !          1684:     <tr>
        !          1685:       <td>Stupid Balloon game</td>
        !          1686:       <td>yes</td>
        !          1687:       <td>&nbsp;</td>
        !          1688:       <td>&nbsp;</td>
        !          1689:     </tr>
        !          1690:     <tr>
        !          1691:       <td>Substation</td>
        !          1692:       <td>yes</td>
        !          1693:       <td>&nbsp;</td>
        !          1694:       <td>&nbsp;</td>
        !          1695:     </tr>
        !          1696:     <tr>
        !          1697:       <td>TomTar</td>
        !          1698:       <td>yes</td>
        !          1699:       <td>&nbsp;</td>
        !          1700:       <td>&nbsp;</td>
        !          1701:     </tr>
        !          1702:     <tr>
        !          1703:       <td>Utopos</td>
        !          1704:       <td>partially</td>
        !          1705:       <td>&nbsp;</td>
        !          1706:       <td>screen corrupted</td>
        !          1707:     </tr>
        !          1708:     <tr>
        !          1709:       <td>Ultimate Arena</td>
        !          1710:       <td>yes</td>
        !          1711:       <td>&nbsp;</td>
        !          1712:       <td>&nbsp;</td>
        !          1713:     </tr>
        !          1714:     <tr>
        !          1715:       <td>Wolfenstein 3D*</td>
        !          1716:       <td>yes</td>
        !          1717:       <td>&nbsp;</td>
        !          1718:       <td>STE DMA sound does work</td>
        !          1719:     </tr>
        !          1720:     <tr>
        !          1721:       <td>Zool</td>
        !          1722:       <td>partially</td>
        !          1723:       <td>&nbsp;</td>
        !          1724:       <td>screen corrupted, scrolling fails</td>
        !          1725:     </tr>
        !          1726:   </tbody>
        !          1727: </table>
        !          1728: 
        !          1729: <a name="STE demos"></a><h4>STE demos</h4>
        !          1730: 
        !          1731: <p>Some tested STE demos and intros</p>
        !          1732: <table border="1" cellpadding="3">
        !          1733:   <caption align="bottom">tested STE demos</caption> <tbody>
        !          1734:     <tr class="backdropped">
        !          1735:       <td align="center">Title</td>
        !          1736:       <td align="center">Working</td>
        !          1737:       <td align="center">Sound</td>
        !          1738:       <td align="center">Comment</td>
        !          1739:     </tr>
        !          1740:     <tr>
        !          1741:       <td>Aggression: Braindamage</td>
        !          1742:       <td>yes</td>
        !          1743:       <td>&nbsp;</td>
        !          1744:       <td>Colors in the last 2 screens don't look right</td>
        !          1745:     </tr>
        !          1746:     <tr>
        !          1747:       <td>Armada: Armada is Dead</td>
        !          1748:       <td>yes</td>
        !          1749:       <td>&nbsp;</td>
        !          1750:       <td>bottom border broken</td>
        !          1751:     </tr>
        !          1752:     <tr>
        !          1753:       <td>DHS: Tyranny &amp; Massacre</td>
        !          1754:       <td>yes</td>
        !          1755:       <td>&nbsp;</td>
        !          1756:       <td>&nbsp;</td>
        !          1757:     </tr>
        !          1758:     <tr>
        !          1759:       <td>GGN: Alive</td>
        !          1760:       <td>yes</td>
        !          1761:       <td>&nbsp;</td>
        !          1762:       <td>&nbsp;</td>
        !          1763:     </tr>
        !          1764:     <tr>
        !          1765:       <td>Ice: Extacy</td>
        !          1766:       <td>yes</td>
        !          1767:       <td>&nbsp;</td>
        !          1768:       <td>&nbsp;</td>
        !          1769:     </tr>
        !          1770:     <tr>
        !          1771:       <td>Imagina: 1992 X-mas demo</td>
        !          1772:       <td>yes</td>
        !          1773:       <td>&nbsp;</td>
        !          1774:       <td>flickers without frameskip</td>
        !          1775:     </tr>
        !          1776:     <tr>
        !          1777:       <td>MJJ-Prod: 1st Step</td>
        !          1778:       <td>yes</td>
        !          1779:       <td>&nbsp;</td>
        !          1780:       <td>&nbsp;</td>
        !          1781:     </tr>
        !          1782:     <tr>
        !          1783:       <td>New Core: Beyond Deadline</td>
        !          1784:       <td>yes</td>
        !          1785:       <td>&nbsp;</td>
        !          1786:       <td>&nbsp;</td>
        !          1787:     </tr>
        !          1788:     <tr>
        !          1789:       <td>Omega: Grotesque</td>
        !          1790:       <td>yes</td>
        !          1791:       <td>&nbsp;</td>
        !          1792:       <td>&nbsp;</td>
        !          1793:     </tr>
        !          1794:     <tr>
        !          1795:       <td>Paradox: X-mas 1994 demo</td>
        !          1796:       <td>yes</td>
        !          1797:       <td>&nbsp;</td>
        !          1798:       <td>&nbsp;</td>
        !          1799:     </tr>
        !          1800:     <tr>
        !          1801:       <td>Reservoir Gods: Mind Rewind</td>
        !          1802:       <td>yes</td>
        !          1803:       <td>&nbsp;</td>
        !          1804:       <td>opens all borders</td>
        !          1805:     </tr>
        !          1806:     <tr>
        !          1807:       <td>Reservoir Gods: Grimey</td>
        !          1808:       <td>yes</td>
        !          1809:       <td>&nbsp;</td>
        !          1810:       <td>&nbsp;</td>
        !          1811:     </tr>
        !          1812:     <tr>
        !          1813:       <td>Syntax: Reanimation</td>
        !          1814:       <td>yes</td>
        !          1815:       <td>&nbsp;</td>
        !          1816:       <td>&nbsp;</td>
        !          1817:     </tr>
        !          1818:     <tr>
        !          1819:       <td>MJJ-Prod: Tribute To Rainbow Tos</td>
        !          1820:       <td>partially</td>
        !          1821:       <td>&nbsp;</td>
        !          1822:       <td>screen corrupted, Blittermania does not work but the code does not crash nor lockup</td>
        !          1823:     </tr>
        !          1824:     <tr>
        !          1825:       <td>Armada: RGBRuler demo</td>
        !          1826:       <td>partially</td>
        !          1827:       <td>&nbsp;</td>
        !          1828:       <td>doesn't look right</td>
        !          1829:     </tr>
        !          1830:     <tr>
        !          1831:       <td>New Core: Core Flakes</td>
        !          1832:       <td>partially</td>
        !          1833:       <td>&nbsp;</td>
        !          1834:       <td>doesn't look right</td>
        !          1835:     </tr>
        !          1836:     <tr>
        !          1837:       <td>Percy of Light: VGA slideshow</td>
        !          1838:       <td>partially</td>
        !          1839:       <td>&nbsp;</td>
        !          1840:       <td>doesn't look right</td>
        !          1841:     </tr>    
        !          1842:   </tbody>
        !          1843: </table>
        !          1844: 
        !          1845: <a name="STE applications"></a><h4>STE applications</h4>
        !          1846: 
        !          1847: <p>Finally some tested STE applications</p>
        !          1848: <table border="1" cellpadding="3">
        !          1849:   <caption align="bottom">tested STE applications</caption> <tbody>
        !          1850:     <tr class="backdropped">
        !          1851:       <td align="center">Title</td>
        !          1852:       <td align="center">Working</td>
        !          1853:       <td align="center">Sound</td>
        !          1854:       <td align="center">Comment</td>
        !          1855:     </tr>
        !          1856:     <tr>
        !          1857:       <td>Octalyzer</td>
        !          1858:       <td>yes</td>
        !          1859:       <td>&nbsp;</td>
        !          1860:       <td>part from the right is not visible on screen</td>
        !          1861:     </tr>
        !          1862:     <tr>
        !          1863:       <td>Protracker STE</td>
        !          1864:       <td>yes</td>
        !          1865:       <td>&nbsp;</td>
        !          1866:       <td>garbage at screen bottom, 50KHz replay duff</td>
        !          1867:     </tr> 
1.1       root     1868:   </tbody>
                   1869: </table>
                   1870: 
1.1.1.3   root     1871: <br>
1.1       root     1872: 
1.1.1.3   root     1873: <hr style="width: 100%; height: 2px;">
1.1       root     1874: <table border="0" width="100%">
1.1.1.3   root     1875:   <tbody>
1.1       root     1876:     <tr>
1.1.1.3   root     1877:       <td align="left"><a href="http://validator.w3.org/check/referer"><img
                   1878:  src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"
                   1879:  border="0" height="31" width="88"></a></td>
                   1880:       <td align="right">
                   1881:       <address><a href="mailto:[email protected]">Matthias Arndt</a>
1.1.1.5 ! root     1882: August 31 2005</address>
1.1.1.3   root     1883:       </td>
1.1       root     1884:     </tr>
1.1.1.3   root     1885:   </tbody>
1.1       root     1886: </table>
                   1887: </body>
                   1888: </html>

unix.superglobalmegacorp.com

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