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