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