|
|
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> ! 5: <meta name="description" content="User's manual for the Atari ST emulator Hatari"> ! 6: <meta name="author" content="Matthias Arndt <[email protected]>"> ! 7: <meta name="keywords" content="hatari, documentation, manual, linux"> ! 8: <meta name="resource-type" content="document"> ! 9: <meta name="distribution" content="global"> ! 10: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"> ! 11: <meta name="Generator" content="Quanta Plus 3.1.2 Debian GNU/Linux 3.0 Woody"> ! 12: <meta http-equiv="Content-Style-Type" content="text/css"> ! 13: <style type="text/css"> ! 14: <!-- ! 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: } ! 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;} ! 31: a:hover { color:#000099; background-color:#ffffff; text-decoration:none; font-weight:bold; } ! 32: a:active { color:#993399; background-color:#ffffff; text-decoration:none; font-weight:bold; } ! 33: ! 34: *.commandline { font-family:Fixed,Courier,monospace; font-size:10pt; } ! 35: *.key { color:#550000; font-family:Fixed,Courier,monospace; font-size:10pt; } ! 36: *.backdropped { background-color:#ffffee; } ! 37: *.image {border-width:2px; border-style:solid; border-color:#eeeeff; padding:1cm; text-align:justify; } ! 38: ! 39: --> ! 40: </style> ! 41: ! 42: </head> ! 43: <body bgcolor="#ffffff" text="#000000" link="#000099" vlink="#cc0000" alink="#993399"> ! 44: <h1 align="center">Hatari User's Manual</h1> ! 45: <p align="center"><strong>manual by Matthias Arndt <<a href="mailto:[email protected]">[email protected]</a>></strong></p> ! 46: <br> ! 47: ! 48: <h2>Introduction</h2> ! 49: ! 50: <h3>General description</h3> ! 51: <p>Hatari is an Atari ST emulator for Linux, FreeBSD, BeOS and other ! 52: Systems which are supported by the SDL library. See Appendix B ! 53: for details on emulation in general. </p> ! 54: <p>Hatari is based on two main sources: </p> ! 55: ! 56: <ul> ! 57: <li>The WinSTon sourcecode written by Paul Bates. You can get it ! 58: from: <a href="http://www.sourceforge.net/projects/winston/">http://www.sourceforge.net/projects/winston/</a> </li> ! 59: <li>The UAE's CPU core, you can download UAE ! 60: at: <a href="http://www.freiburg.linux.de/uae/">http://www.freiburg.linux.de/uae/</a> </li> ! 61: </ul> ! 62: <p> ! 63: Hatari started as an adaption of the free WinSTon source code to Linux. ! 64: (WinSTon is a ST emulator for Windows). But since WinSTon's CPU core was ! 65: written in i86 assembler, it was not possible to use it for Hatari as ! 66: Hatari is intended to be platform independent. So the UAE's CPU core was ! 67: used for Hatari instead, because this CPU core has been written in ! 68: portable C and also has some nice features like 68040 and FPU support. ! 69: </p> ! 70: ! 71: <h3>Features</h3> ! 72: <ul> ! 73: <li>complete m68k emulation via UAE's CPU core </li> ! 74: <li>support for EmuTOS, TOS 1.00, 1.02, 1.04, 2.05 and 2.06 </li> ! 75: <li>ST RAM size variable (512k, 1MB, 2MB and 4MB possible) </li> ! 76: <li>most of the ST specific hardware </li> ! 77: <li>ST Shifter with ST-High, ST-Medium and ST-Low resolutions, ! 78: overscan effects for lower border and partially in the upper border too</li> ! 79: <li>512 colour ST palette </li> ! 80: <li>Blitter chip emulation </li> ! 81: <li>AY-3-8910 emulation (soundchip)</li> ! 82: <li>Mega ST real time clock</li> ! 83: <li>many (but not all) raster effects </li> ! 84: <li>IKBD emulation (keyboard, mouse and joystick) with custom keyboard mapping</li> ! 85: <li>joystick emulation via cursor keys and joystick emulation via a ! 86: connected PC joystick </li> ! 87: <li>FDC emulation using floppy disk images in standard formats (*.ST ! 88: and *.MSA) </li> ! 89: <li>support for zipped disk images</li> ! 90: <li>partial ACSI emulation for harddisk support </li> ! 91: <li>GEMDOS interface driver to mount a directory as a harddrive </li> ! 92: <li>driver for extended VDI resolutions </li> ! 93: <li>recording of sound as .WAV and .YM files </li> ! 94: <li>screenshots in .BMP format </li> ! 95: <li>animation capturing </li> ! 96: <li>interlaced rendering of ST-Low and ST-Medium resolutions </li> ! 97: <li>scaling of ST-Low and ST-Medium to 800x600 resolution </li> ! 98: </ul> ! 99: <p> ! 100: At the time of this writing there is neither a complete MMU emulation ! 101: nor support for STE specific features. ! 102: </p> ! 103: ! 104: <h3>System requirements</h3> ! 105: <p> Hatari currently has the following system requirements: </p> ! 106: <ul> ! 107: <li>a fast PC (>200MHz) </li> ! 108: <li>some sort of Unix (preferable <a href="http://www.linux.org/">GNU/Linux</a>) </li> ! 109: <li>the SDL library (<a href="http://www.libsdl.org/">http://www.libsdl.org/</a>)</li> ! 110: <li>the zLib (<a href="http://www.gzip.org/zlib/">http://www.gzip.org/zlib/</a>) for support of gzipped disk images</li> ! 111: </ul> ! 112: Hatari has been succesfully tested on the following machines: ! 113: <p> </p> ! 114: <ul> ! 115: <li>Linux/i86 with Kernel 2.4.20, AMD Athlon 600MHz </li> ! 116: <li>Linux/i86 with Kernel 2.2.18, Pentium MMX 200MHz </li> ! 117: <li>Linux/PPC with Kernel 2.4.x BeOS/i86 </li> ! 118: <li>Apple PowerMac with Mac OS X </li> ! 119: <li>NetBSD 1.6 </li> ! 120: <li>FreeBSD 4.1 on a 33MHz i486 computer (very slow, but it worked!) </li> ! 121: <li>FreeBSD 4.8 on a Pentium 4</li> ! 122: </ul> ! 123: <p> ! 124: It has also been tested on Linux/Sparc and it should work by now with the latest CVS version. ! 125: </p> ! 126: ! 127: <h2>Compiling and running</h2> ! 128: ! 129: <h3>Compiling Hatari</h3> ! 130: <p> First, you need the SDL library, you can get it at: ! 131: <a href="http://www.libsdl.org/">http://www.libsdl.org/</a>. Most distributions already ship a suitable version. ! 132: Make sure to install the appropriate header files as well often called "libsdl-dev" or the like. ! 133: </p> ! 134: <p> Second, you need the zLib compression library. You can get it from <a href="http://www.gzip.org/zlib/">http://www.gzip.org/zlib/</a> ! 135: but the version shipped with your distribution will be sufficient in most cases. Make sure to have the header files ! 136: for it installed as well. ! 137: </p> ! 138: ! 139: <p> ! 140: Of course, you need the GNU C compiler and (GNU) Make, too! ! 141: </p> ! 142: ! 143: <p> Change to the src/ directory and adapt the Makefile to suite your ! 144: mood (and system of course). Then compile it by typing <span class="commandline">make</span>. If all ! 145: works fine, you'll get the executable <span class="commandline">hatari</span>. </p> ! 146: ! 147: <h3>Installation of a TOS ROM</h3> ! 148: <p> Then you'll have to copy a TOS ROM to the data directory (the data directory is specified ! 149: in the Makefile) and rename it to <span class="commandline">tos.img</span>, or use the ! 150: <span class="commandline">--tos</span> command line option to tell Hatari where to find a TOS ROM. ! 151: Hatari needs a TOS ROM image because this contains the operating system ! 152: of the emulated Atari. Sorry, it is not possible to ship an image with ! 153: the Hatari package since these images are still copyrighted. But you can ! 154: easily create an image with a real ST and one of those various ! 155: ROM-image programs for the ST. Or search the internet, but don't ask the Hatari team ! 156: where to find one. ! 157: </p> ! 158: <p> Another solution is EmuTOS, which is an open-source ! 159: TOS clone. You can find EmuTOS at: <a href="http://emutos.sourceforge.net/">http://emutos.sourceforge.net/</a>. It's ! 160: not the best solution for playing games or running other old software ! 161: due to compatibility issues, but it's free! </p> ! 162: <p>If you do not specify a TOS image on the commandline nor can Hatari ! 163: find a suitable TOS image in the default dir, you'll get the chance to ! 164: select a TOS image file from the GUI. </p> ! 165: ! 166: <h3>Installation of the binary</h3> ! 167: <p> Simply copy the hatari binary somewhere in your path where you can ! 168: access it easily by typing <span class="commandline">hatari</span> in your shell. </p> ! 169: <p> When you finally have got a TOS image, try starting Hatari with the ! 170: option <span class="commandline">--help</span> to find out more about its command line parameters. </p> ! 171: ! 172: <h3>Running Hatari for the first time</h3> ! 173: <p> Now type <span class="commandline">hatari</span> to run the emulator for the first time. If all goes ! 174: well, you should now be presented with a window showing you the familiar ! 175: little green desktop of the Atari ST. Press <span class="key">F12</span> to turn on the GUI to ! 176: configure Hatari to suit your needs, press <span class="key">F11</span> to toggle windowed and fullscreen mode. </p> ! 177: ! 178: <h2>Command line options</h2> ! 179: <p> Hatari ofcourse understands several command line options. </p> ! 180: <p> Type <span class="commandline">hatari --help</span> to list them all. </p> ! 181: <p> The command line options in detail are as follows (in brackets the ! 182: long version): </p> ! 183: ! 184: <table cellpadding="3" border="1"> ! 185: <tbody> ! 186: <tr class="backdropped"> ! 187: <td align="center">Option</td> ! 188: <td align="center">Purpose</td> ! 189: </tr> ! 190: <tr> ! 191: <td align="center">-h (--help)</td> ! 192: <td align="center">prints command line options and terminates</td> ! 193: </tr> ! 194: <tr> ! 195: <td align="center">-v (--version)</td> ! 196: <td align="center">prints version information and terminates</td> ! 197: </tr> ! 198: <tr> ! 199: <td align="center">-m (--mono)</td> ! 200: <td align="center">starts the emulated Atari ST in monochrome ! 201: resolution</td> ! 202: </tr> ! 203: <tr> ! 204: <td align="center">-f (--fullscreen)</td> ! 205: <td align="center">tries to use a fullscreen mode</td> ! 206: </tr> ! 207: <tr> ! 208: <td align="center">-j (--joystick)</td> ! 209: <td align="center">activates joystick emulation via cursor keys</td> ! 210: </tr> ! 211: <tr> ! 212: <td align="center">--nosound</td> ! 213: <td align="center">disables sound (makes emulation faster)</td> ! 214: </tr> ! 215: <tr> ! 216: <td align="center">--frameskip</td> ! 217: <td align="center">drops every second frame (accelerates ! 218: emulation)</td> ! 219: </tr> ! 220: <tr> ! 221: <td align="center">-D (--debug)</td> ! 222: <td align="center">activates the simple builtin debugger</td> ! 223: </tr> ! 224: <tr> ! 225: <td align="center">-d <dir> (--harddrive <dir>)</td> ! 226: <td align="center">emulates <dir> as a hard disk</td> ! 227: </tr> ! 228: <tr> ! 229: <td align="center">--hdimage <imagefile></td> ! 230: <td align="center">emulate hard disk with an image file</td> ! 231: </tr> ! 232: <tr> ! 233: <td align="center">--tos <imagefile></td> ! 234: <td align="center">specify TOS ROM image to use</td> ! 235: </tr> ! 236: <tr> ! 237: <td align="center">--memsize x</td> ! 238: <td align="center">set amount of emulated RAM<br> ! 239: x=0 for 512K, x=1,x=2 or x=4 for 1,2 or 4 MB</td> ! 240: </tr> ! 241: <tr> ! 242: <td align="center">--cpulevel x</td> ! 243: <td align="center">specify CPU (680x0) to use (TOS 2.06 only!!)</td> ! 244: </tr> ! 245: <tr> ! 246: <td align="center">--compatible</td> ! 247: <td align="center">use a more compatible but slower 68000 CPU mode</td> ! 248: </tr> ! 249: <tr> ! 250: <td align="center">--blitter</td> ! 251: <td align="center">enable blitter emulation</td> ! 252: </tr> ! 253: <tr> ! 254: <td align="center">--vdi</td> ! 255: <td align="center">use extended VDI resolution</td> ! 256: </tr> ! 257: </tbody> ! 258: </table> ! 259: ! 260: <h2>Using the emulated system</h2> ! 261: <p> Once you've started Hatari succesfully, you can use the emulator as ! 262: an allmost complete Atari ST computer system. </p> ! 263: ! 264: <h3>The GUI</h3> ! 265: ! 266: <h4>General usage</h4> ! 267: <p>Press <span class="key">F12</span> to enter the GUI. Navigate it with the mouse. ! 268: The GUI is rather self explanatory.</p> ! 269: <p>Click "Okay" to go back to the emulated ST. All checked options will be applied.</p> ! 270: <p>Check the "Reset ST" option if you want the emulated ST to perform a soft reset.</p> ! 271: <p>Click "Quit" to terminate Hatari and return to the host OS.</p> ! 272: <p>Click "Cancel" to abandon any changes made.</p> ! 273: ! 274: <h4>The System Dialog</h4> ! 275: <p>Check the CPU type to use here, enable prefetch mode and if the Blitter should be active.</p> ! 276: <p>For best Atari ST compatibility choose plain 68000 here.</p> ! 277: <p><em>NOTE:</em> These parameters are sensitive to the emulated ST and it is strongly recommended to ! 278: reset the emulated ST after changing these options.</p> ! 279: ! 280: <h4>The Floppy Disk Dialog</h4> ! 281: <p>Use this dialog to choose which disks should be emulated in the disk drives.</p> ! 282: <p>You can use most standard Atari ST disk image files. See the chapter "Floppy disk images" ! 283: for details.</p> ! 284: <p>Click on the button "Browse" next to the A: and B: option to go to the fileselector.</p> ! 285: <p>You can specify a default directory where Hatari will start to browse the filesystem.</p> ! 286: <p>Check the "Auto insert B" option if you want Hatari to be smart and insert the second disk ! 287: of a two disk game automatically. This option will insert the second disk in drive B and some ! 288: games may not be able to find the disks there. In that rare case you will need to insert the ! 289: second disk manually when prompted.</p> ! 290: <p>You can select a harddrive image for harddrive emulation via image file here or you may select ! 291: a directory of your local filesystem to be emulated as the ST's harddrive.</p> ! 292: <p>Check "Boot from HD" if you want Hatari to execute the AUTO folder on the harddrive. ! 293: This option is checked by default if you specify a harddrive image or a directory via the command line.</p> ! 294: ! 295: <h4>The Memory Dialog</h4> ! 296: <p>You can select the amount of RAM for the emulated ST here.</p> ! 297: <p><em>Note:</em> This option is critical and you are strongly advised to reset the emulated ST ! 298: when changing this option.</p> ! 299: ! 300: <h4>The TOS/GEM Dialog</h4> ! 301: <p>Here you can select the TOS image to use. Click on "Browse" to select it via the fileselector.</p> ! 302: <p>In the GEM setup you can select a larger resolution for GEM conformant apps. Select resolution ! 303: and colour depth. Almost all games and demos will not work in one of these resolutions.</p> ! 304: <p><em>Note:</em> These options are critical and you are strongly advised to reset the emulated ST ! 305: when changing one of these option.</p> ! 306: ! 307: <h4>The Joystick Dialog</h4> ! 308: <p>Here you can select which joystick you want to emulate via the cursor keys.</p> ! 309: <p>Joystick 1 is the normal ST joystick port and 99.9% of all ST games use this port, Joystick 0 ! 310: emulates a joystick plugged into the ST mouse port allowing you to play 2 player games.</p> ! 311: <p>If no joystick is checked here, joystick emulation is done via a connected PC joystick.</p> ! 312: <p>See the chapter "Emulated Joystick" for details.</p> ! 313: ! 314: <h4>The Screen Dialog</h4> ! 315: <p>Here you control the video output of the emulated ST.</p> ! 316: <p>Check "Fullscreen" to run Hatari fullscreen, default is windowed.</p> ! 317: <p>Check "Interlace" if you wish to have that old TV feeling in Hatari. Every second line will be black. ! 318: This will only work in ST-MEDIUM or ST-LOW in scaled up resolutions.</p> ! 319: <p>Check "Frame Skip" to speed Hatari up if emulation is too slow. This will only draw every second ST frame ! 320: instead of the default of drawing every ST frame. Uncheck if you have a fast PC.</p> ! 321: <p>Check "Use Borders" if you wish to have the borders around the ST screen.</p> ! 322: <p>"Force 8Bpp" will force SDL to use an 8bit video mode. You don't need this for modern video cards.</p> ! 323: <p>You can select which sort of monitor to use. Check "Color" for games and demos. If you check "Mono" here, ! 324: Hatari will emulate the good old SM124 and will not allow you to switch to color modes from the running ST. ! 325: This toggle acts like a monitor switch with a color and monochrome monitor connected.</p> ! 326: <p>"ST-Low mode" will control if Hatari renders ST-LOW to a 320x200 or 640x400 PC display (with borders turned off) or 384x267 or 768x534. ! 327: Basically select this to toggle between a small or a large window.</p> ! 328: <p>Click "Capture Screen" to create a screenshot in .BMP format to the current working directory or click "Record Animation" ! 329: to record a little movie. ! 330: </p> ! 331: ! 332: <h4>The Keyboard Dialog</h4> ! 333: <p>Here you can select the keyboard mapping to use.</p> ! 334: <p>Two different mappings called "Symbolic" and "Scancode" are predefined.</p> ! 335: <p>You can also load a custom keymapping file here if you wish. Please note that selecting to use a custom keyboard mapping will ! 336: use the "symbolic" mapping for all keys not defined by your map file. See the supplied example mapfile on how to build your ! 337: own keyboard mapping.</p> ! 338: ! 339: <h4>The Sound Dialog</h4> ! 340: <p>Here you control the sound subsystem.</p> ! 341: <p>Check if you want emulated sound at all. Emulation is faster if sound emulation is turned off.</p> ! 342: <p>3 frequencies from low to high quality are available. Experiment a little bit to find out which fits best for your setup. ! 343: Medium quality will work ok in most cases.</p> ! 344: <p>You can select to record a piece of sound here. Check which format to use and click the button. It is a toggle button so ! 345: you will need to return to the GUI to switch sound recording off again.</p> ! 346: ! 347: ! 348: <h3>Keyboard shortcuts</h3> ! 349: <p> While the emulator is running, you can activate or toggle various ! 350: features via the following keyboard shortcuts. </p> ! 351: ! 352: <table cellpadding="3" border="1"> ! 353: <tbody> ! 354: <tr class="backdropped"> ! 355: <td align="center">Shortcut</td> ! 356: <td align="center">Purpose</td> ! 357: </tr> ! 358: <tr> ! 359: <td align="center"><span class="key">ALTGR+g</span></td> ! 360: <td align="center">grabs a screenshot</td> ! 361: </tr> ! 362: <tr> ! 363: <td align="center"><span class="key">ALTGR+j</span></td> ! 364: <td align="center">activates joystick emulation via cursor keys</td> ! 365: </tr> ! 366: <tr> ! 367: <td align="center"><span class="key">ALTGR+m</span></td> ! 368: <td align="center">(un-)locks the mouse into the window</td> ! 369: </tr> ! 370: <tr> ! 371: <td align="center"><span class="key">ALTGR+r</span></td> ! 372: <td align="center">reset the ST</td> ! 373: </tr> ! 374: <tr> ! 375: <td align="center"><span class="key">ALTGR+c</span></td> ! 376: <td align="center">coldreset the ST (same as the original power switch)</td> ! 377: </tr> ! 378: <tr> ! 379: <td align="center"><span class="key">ALTGR+q</span></td> ! 380: <td align="center">quit the emulator</td> ! 381: </tr> ! 382: <tr> ! 383: <td align="center"><span class="key">F11</span></td> ! 384: <td align="center">toggles fullscreen and windowed mode</td> ! 385: </tr> ! 386: <tr> ! 387: <td align="center"><span class="key">F12</span></td> ! 388: <td align="center">activate the GUI</td> ! 389: </tr> ! 390: <tr> ! 391: <td align="center"><span class="key">PAUSE</span></td> ! 392: <td align="center">will go to the debugger if it was activated at compile time</td> ! 393: </tr> ! 394: </tbody> ! 395: </table> ! 396: ! 397: <h3>Emulated Atari ST keyboard</h3> ! 398: <p> All other keys on the keyboard act as the normal Atari ST keys so ! 399: pressing SPACE on your PC will result in an emulated press of the SPACE ! 400: key on the ST. The following keys have special meanings: </p> ! 401: ! 402: <table cellpadding="3" border="1"> ! 403: <tbody> ! 404: <tr class="backdropped"> ! 405: <td align="center">Key</td> ! 406: <td align="center">Meaning</td> ! 407: </tr> ! 408: <tr> ! 409: <td align="center"><span class="key">Alt</span></td> ! 410: <td align="center">will act as the ST's ALTERNATE key</td> ! 411: </tr> ! 412: <tr> ! 413: <td align="center"><span class="key">left CTRL</span></td> ! 414: <td align="center">will act as the ST's CONTROL key</td> ! 415: </tr> ! 416: <tr> ! 417: <td align="center"><span class="key">Page Up</span></td> ! 418: <td align="center">will emulate the ST's HELP key</td> ! 419: </tr> ! 420: <tr> ! 421: <td align="center"><span class="key">Page Down</span></td> ! 422: <td align="center">will emulate the ST's UNDO key</td> ! 423: </tr> ! 424: </tbody> ! 425: </table> ! 426: ! 427: <p> <span class="key">ALTGR</span> will act as ALTERNATE as well as long as you do not press it ! 428: together with a Hatari hotkey combination. </p> ! 429: <p> The <span class="key">right CTRL</span> key is used as the fire button of the emulated ! 430: joystick when you turn on joystick emulation via keyboard. </p> ! 431: <p> The cursor keys will act as the cursor keys on the Atari ST as long as joystick emulation ! 432: via keyboard has been turned off.</p> ! 433: ! 434: <h3>Emulated mouse</h3> ! 435: <p>For obvious reasons your PC mouse will act as the emulated Atari ST ! 436: mouse. In fullscreen mode it will act as expected, directly controlling ! 437: the ST mouse pointer. </p> ! 438: <p>However it is a little bit different in windowed mode. To make the ! 439: mouse work there as expected you need to grab it first or lock it into ! 440: the Hatari window. Do this by pressing the <span class="key">ALTGR+m</span> hotkey combination. ! 441: Press it again to go back to normal mouse behaviour which allows you to ! 442: work in other X11 windows while Hatari is up and running. </p> ! 443: ! 444: <h3>Emulated joystick</h3> ! 445: <p>The Atari ST joysticks are emulated ofcourse allowing you to play ! 446: your favourite games with Hatari. </p> ! 447: <p>The default mode is to use a connected PC joystick. You can use any ! 448: joystick that is supported by your kernel. If your joystick works with ! 449: other applications, it will likely work with Hatari as well. Make sure ! 450: it is calibrated and then off you go. Move the stick to point into the ! 451: desired direction. Please note that Hatari will not detect analogue ! 452: movement as the Atari ST only had digital joysticks. The first ! 453: firebutton will act as the normal firebutton on the Atari ST while the second ! 454: firebutton will emulate a keypress of the <span class="key">SPACE</span> key on the ST as many ST ! 455: games utilitze the SPACE bar for secondary game functions. (Xenon for example)</p> ! 456: <p>If you do not have a PC joystick or joypad, then you do not need to ! 457: desperate. You can emulate one of the two Atari ST joysticks via the ! 458: cursor keys. Just activate it in the GUI. Then the cursor keys will act ! 459: as the joystick directions, the right CTRL key will act as the ! 460: firebutton. You can still use the cursor keys as the ST's ! 461: cursorkeys in this mode as long as you press <span class="key">SHIFT</span> along with the cursorkeys. </p> ! 462: ! 463: <h2>Floppy disk images</h2> ! 464: <p>Hatari does not use floppy disks directly but disk images due to ! 465: differences between the floppy disk controllers of the ST and the PC. ! 466: Two types of disk images are currently supported: The raw "ST" type and ! 467: the "MSA" (Magic-Shadow-Archiver) type. </p> ! 468: <p> The raw type (file suffix should be "*.st") is simply a sector by ! 469: sector image of a real floppy disk. You can easily create such an image ! 470: with the <span class="commandline">dd</span> program which should normally be pre-installed on every ! 471: Unix-like system. Simply type something like <span class="commandline">dd if=/dev/fd0 of=myimage.st</span> to create a disk image. Of course you need access to ! 472: /dev/fd0, and depending on your system and the type of floppy disk you ! 473: might have to use another device name here (for example I use ! 474: /dev/fd0u720 for 720kB disks). However, if the disk is copy-protected or ! 475: doesn't use a MSDOS compatible file system, this might fail. So be very ! 476: careful if you're not sure about the disk format. </p> ! 477: <p> The other possibility is to image the disk on a real Atari ST. There ! 478: are programs like the Magic Shadow Archiver for this task. Hatari ! 479: supports this slightly compressed MSA disk images, too. Note that Hatari ! 480: only supports the "old" MSA format, there are some Magic Shadow Archiver ! 481: clones (like Jay-MSA) that create better compressed but ! 482: Hatari-incompatible disk images. </p> ! 483: <p> While *.ST and *.MSA are more or less the "standard" types of Atari ! 484: disk images, you might sometimes also find DIM or ADF images on the ! 485: internet. These currently do not work with Hatari. But since DIM images ! 486: are nearly the same as the raw ST images (they only have an additional ! 487: 32 byte header) you can easily transform the DIM images into ST images ! 488: by stripping the header from the files. For example try something like: ! 489: <span class="commandline">dd if=input.dim of=output.st bs=32 skip=1</span> </p> ! 490: <p> If you've got a disk image that has been created with the old ST ! 491: emulator PaCifiST (for DOS) or with early versions of the program ! 492: Makedisk, and the disk image does not work with Hatari, then the disk ! 493: probably suffers from the "PaCifiST bootsector bug" (Hatari will print a ! 494: warning message then). In this case, the bootsector of the disk ! 495: contains some illegal data, so that the disk even does not work on a ! 496: real ST any more. However, if it is a .ST and not a .MSA disk, you can ! 497: easily fix it by using a hex-editor to change the byte at offset $D (13) ! 498: from 0 to 1 (don't forget to backup your disk image first, since you ! 499: can also easily destroy your disk image when changing a wrong byte ! 500: there). If the disk contains a bootsector program, you probably have to ! 501: adjust the boot sector check sum, too (it can be found at offset $1FE + ! 502: $1FF). </p> ! 503: <p>Hatari supports zipped disk images so you can archive your disk images into zip archives. ! 504: You can also directly run the zip archives you may download from the net as long as the archive contains a ! 505: disk image in .ST or .MSA format.</p> ! 506: <p><em>Note:</em> Hatari does not save disk images back to zipfiles so your highscores and savegames are lost if you ! 507: loaded the game from a zipped disk image.</p> ! 508: ! 509: <h2>Hard disk support</h2> ! 510: <p>Hatari supports two ways of emulating a ST hard drive: The low-level ! 511: ACSI hard disk emulation and a GEMDOS based drive emulation. </p> ! 512: <p>To use the ACSI hard disk emulation, you need a hard disk image file ! 513: with a pre-installed HD driver in it. So either try to image your old ST ! 514: hard disk or grab one from the internet. There is a HD image on the ! 515: Hatari web page for download. Perhaps we'll also provide a tool for ! 516: creating HD images one day. </p> ! 517: <p>With the GEMDOS based drive emulation, you can easily "mount" a ! 518: folder from the host file system to a drive of the emulated Atari. To ! 519: use the GEMDOS based drive emulation, you should use a folder on your ! 520: hard disk that only contains files and folders with valid TOS filenames. ! 521: That means that all files/folders should be written in capital letters ! 522: and their length mustn't exceed the 8+3 file name length limit. If you ! 523: don't want to rename all files to get capital letters, it is also ! 524: possible to store that folder on a FAT filesystem since those ! 525: filesystems are case-insensitive. </p> ! 526: <p>GEMDOS drive emulation is an easy way to share files between the ! 527: host system and the emulated Atari, but it is known to be incomplete and ! 528: a little bit unstable, especially if you use it together with the ACSI ! 529: hard disk emulation. So if your programs complain that they could not ! 530: find/read/write files on the GEMDOS HD drive, you should try to copy ! 531: them to a floppy disk image or a real hard disk image! </p> ! 532: <p> Note that changing the HD-image or the GEMDOS HD-folder will reset ! 533: the emulated Atari since it is not possible to switch the hard disk ! 534: while the emulator is running. </p> ! 535: <p> May the fun without the price to be with you ;-) ! </p> ! 536: ! 537: <h2>Appendix</h2> ! 538: ! 539: <h3>Copying</h3> ! 540: <div class="backdropped"> ! 541: <p>This program is free software; you can redistribute it and/or modify ! 542: it under the terms of the GNU General Public License as published by the ! 543: Free Software Foundation; either version 2 of the License, or (at your ! 544: option) any later version. </p> ! 545: <p>This program is distributed in the hope that it will be useful, but <em>WITHOUT ! 546: ANY WARRANTY</em>; without even the implied warranty of <em>MERCHANTABILITY</em> ! 547: or <em>FITNESS FOR A PARTICULAR PURPOSE</em>. See the GNU General Public ! 548: License for more details. </p> ! 549: <p>You should have received a copy of the GNU General Public License ! 550: along with this program; if not, write to Free Software Foundation, ! 551: Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA </p> ! 552: </div> ! 553: ! 554: <p><a href="http://www.gnu.org/">The GNU Project and the Free Software Foundation</a> | <a href="http://www.fsf.org/licenses/gpl.html">The GNU General Public License</a></p> ! 555: ! 556: <h3>Introduction to Emulation</h3> ! 557: <p>Emulation via software is an art and Hatari is an example of this.</p> ! 558: <p>Emulation is to make a computer behave like a (probably) completely different machine on the lowest possible niveau. ! 559: This includes CPU and custom chip emulation allowing software written for the emulated machine to be run without notice. ! 560: A good emulator will run most of the software intended for the emulated platform without trouble. ! 561: </p> ! 562: <p> ! 563: The key to emulation is to simply do those things with a software program, the emulator, that normally chips would perform. ! 564: So you have an CPU emulator that basically consists of a large loop that does exactly what the real thing would do: ! 565: </p> ! 566: <ul> ! 567: <li>fetch an instruction from virtual memory</li> ! 568: <li>interpret this instruction</li> ! 569: <li>fetch operands from the emulated registers and memory</li> ! 570: <li>perform the operation like addition or changing the program counter on a jump instruction</li> ! 571: <li>writes results back into the intended registers or memory locations</li> ! 572: <li>increment of the program counter and loop</li> ! 573: </ul> ! 574: <p> ! 575: The typical von-Neumann CPU can be emulated very fast, stable and error-free using such a simple loop system. ! 576: </p> ! 577: <p> ! 578: But in most cases the CPU emulation is the simplest part. Correct emulation of the various cutom chips and hardware ! 579: parts of the emulated system is much trickier. ! 580: </p> ! 581: ! 582: ! 583: <h3>Software compatibility list</h3> ! 584: <p>This is a little compilation of what software does work in Hatari. It is by no means finished.</p> ! 585: ! 586: <table cellpadding="3" border="1"> ! 587: <caption align="bottom">tested games</caption> ! 588: <tbody> ! 589: <tr class="backdropped"> ! 590: <td align="center">Game</td> ! 591: <td align="center">Working</td> ! 592: <td align="center">Sound</td> ! 593: <td align="center">Comment</td> ! 594: </tr> ! 595: <tr> ! 596: <td>Eliminator</td> ! 597: <td>yes</td> ! 598: <td>perfect</td> ! 599: <td> </td> ! 600: </tr> ! 601: <tr> ! 602: <td>Speedball</td> ! 603: <td>yes</td> ! 604: <td>perfect</td> ! 605: <td> </td> ! 606: </tr> ! 607: <tr> ! 608: <td>Xenon</td> ! 609: <td>yes</td> ! 610: <td>music ok - fx dodgy</td> ! 611: <td>bullets and explosions sound weired</td> ! 612: </tr> ! 613: <tr> ! 614: <td>F15 Strike Eagle 2</td> ! 615: <td>yes</td> ! 616: <td>ok</td> ! 617: <td>keyboard emulation seems to be dodgy</td> ! 618: </tr> ! 619: <tr> ! 620: <td>Rick Dangerous</td> ! 621: <td>yes</td> ! 622: <td>perfect</td> ! 623: <td> </td> ! 624: </tr> ! 625: <tr> ! 626: <td>Slayer</td> ! 627: <td>yes</td> ! 628: <td>ok</td> ! 629: <td>raster fx at highscore entry dodgy</td> ! 630: </tr> ! 631: <tr> ! 632: <td>Lethal Xcess</td> ! 633: <td>no</td> ! 634: <td> </td> ! 635: <td>crashes while loading</td> ! 636: </tr> ! 637: <tr> ! 638: <td>Star Goose</td> ! 639: <td>yes</td> ! 640: <td>music ok - bullet sound dodgy</td> ! 641: <td> </td> ! 642: </tr> ! 643: <tr> ! 644: <td>Xenon 2 - Megablast</td> ! 645: <td>yes</td> ! 646: <td>perfect (including sampled intro)</td> ! 647: <td> </td> ! 648: </tr> ! 649: <tr> ! 650: <td>Metal Mutant</td> ! 651: <td>yes</td> ! 652: <td>seems ok</td> ! 653: <td>some color effects in the lower screen seem buggy</td> ! 654: </tr> ! 655: <tr> ! 656: <td>Defenders Of The Earth</td> ! 657: <td>yes</td> ! 658: <td> </td> ! 659: <td> </td> ! 660: </tr> ! 661: <tr> ! 662: <td>Nebulus</td> ! 663: <td>yes</td> ! 664: <td>music ok; snowball, balls and trapdoors dodgy</td> ! 665: <td>otherwise working to a playable extend</td> ! 666: </tr> ! 667: </tbody> ! 668: </table> ! 669: ! 670: <table cellpadding="3" border="1"> ! 671: <caption align="bottom">tested applications</caption> ! 672: <tbody> ! 673: <tr class="backdropped"> ! 674: <td align="center">Application</td> ! 675: <td align="center">Working</td> ! 676: <td align="center">Comment</td> ! 677: </tr> ! 678: <tr> ! 679: <td>DevPac 2.2</td> ! 680: <td>yes</td> ! 681: <td>MonST crashy</td> ! 682: </tr> ! 683: <tr> ! 684: <td>Turbo Assembler</td> ! 685: <td>yes</td> ! 686: <td> </td> ! 687: </tr> ! 688: <tr> ! 689: <td>GFABASIC 3.6TT</td> ! 690: <td>yes</td> ! 691: <td> </td> ! 692: </tr> ! 693: <tr> ! 694: <td>ST Basic</td> ! 695: <td>yes</td> ! 696: <td> </td> ! 697: </tr> ! 698: <tr> ! 699: <td>Neochrome</td> ! 700: <td>yes</td> ! 701: <td>rasters sometimes unstable</td> ! 702: </tr> ! 703: <tr> ! 704: <td>Tempus</td> ! 705: <td>yes</td> ! 706: <td> </td> ! 707: </tr> ! 708: <tr> ! 709: <td>Sagrotan</td> ! 710: <td>yes</td> ! 711: <td> </td> ! 712: </tr> ! 713: <tr> ! 714: <td>MusicMon 2</td> ! 715: <td>yes</td> ! 716: <td> </td> ! 717: </tr> ! 718: <tr> ! 719: <td>Protracker</td> ! 720: <td>yes</td> ! 721: <td> </td> ! 722: </tr> ! 723: </tbody> ! 724: </table> ! 725: ! 726: <hr style="width: 100%; height: 2px;"> ! 727: ! 728: <table border="0" width="100%"> ! 729: <tbody> ! 730: <tr> ! 731: <td align="left"><a href="http://validator.w3.org/check/referer"><img border="0" src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" height="31" width="88"></a></td> ! 732: <td align="right"><address><a href="mailto:[email protected]">Matthias Arndt</a> July 08 2003</address></td> ! 733: </tr> ! 734: </tbody> ! 735: </table> ! 736: ! 737: </body> ! 738: </html> ! 739:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.