|
|
1.1.1.17! root 1: This is version 0.8.17 of UAE, the Un*x Amiga Emulator. 1.1.1.5 root 2: 3: Versions numbered 0.8.x are beta versions, to be used for development only. 4: If you are only a user of UAE, you are better off using the latest 0.7.x 5: version or waiting for 0.9.0. 6: 1.1 root 7: 1.1.1.3 root 8: License 9: ======= 1.1 root 10: 1.1.1.5 root 11: UAE is available under the terms of the GNU General Public License. This means 12: that it is free software: you are welcome to distribute copies of it and/or 13: modify it, under certain conditions. It also means that there is no warranty 14: for UAE. 15: See the file COPYING that is included in the top level directory of this 16: archive for details. 1.1 root 17: 18: 19: Overview 20: ======== 21: 1.1.1.2 root 22: An emulator is a program which enables you to run software for a machine 23: which has non-native hardware and a non-native operating system, on your 24: computer. UAE allows you to run most of the available Amiga software. It is a 25: software emulation, meaning that no extra or special hardware is needed to do 26: this. The hardware of an Amiga is emulated accurately, so that Amiga software 27: is tricked into thinking it is running on the real thing, with your computer's 28: display, keyboard, harddisk and mouse taking the parts of their emulated 29: counterparts. 1.1 root 30: 31: UAE was developed for Unixoid systems. Meanwhile, it has been ported to the 1.1.1.2 root 32: Mac, DOS, the BeBox, NextStep, the XFree86/OS2 environment and the Amigas (it 33: can run itself by now). You should have received several other files along 34: with this document with details on how to install and use the version for your 35: operating system. 1.1 root 36: 37: This section is just what it says: an overview. Please read _all_ of this 1.1.1.2 root 38: file, especially if you have problems. UAE has many, many features and 39: equally many configuration options. If you don't know about them, it's likely 40: that UAE doesn't work for you, or doesn't work as good as it could. 41: 42: Please read also the file "FAQ" which contains some Frequently Asked 1.1.1.3 root 43: Questions (and even the answers!) You should also look for a document 44: describing the specific port of UAE to the operating system you are using, 45: for example "BeOS/README" or "DOS/README". 1.1.1.2 root 46: 47: People have complained that the UAE documentation contains only "weird jargon". 48: Sorry about this. Despite what MessySoft and Tomato tell you, computer 49: programs aren't always easy to use. UAE does require some assistance from you, 50: and therefore you should at least understand a bit about computers. After all, 51: you are an Amiga fan, so you should know what a Workbench is, don't you think? 1.1 root 52: 53: 1.1.1.2 root 54: Features 55: ======== 56: 57: This version of UAE emulates: 1.1 root 58: 1.1.1.5 root 59: - A 68000, 68010 or 68020 CPU, optionally a 68881 FPU 1.1.1.2 root 60: - OCS Graphics Chipset, plus big blits from the ECS Chipset 1.1.1.5 root 61: - Up to 2MB Chip RAM and up to 8MB Fast RAM, or 8MB Chip RAM without Fast RAM 62: - Up to 64MB Zorro III Fast RAM, independent of Chip RAM setting (68020 only) 1.1.1.3 root 63: - Up to 1MB Slow RAM, for extended compatibility with problem software 64: - Up to 8MB of graphics card memory, usable by software that supports 1.1.1.5 root 65: Picasso 96 compatible graphics cards 66: - 4 x 3.5" floppy disk drives (DF0:, DF1:, DF2: and DF3:). It's not possible to 67: read Amiga disks, so these are emulated with disk files. 68: - A hard-disk: either a harddisk image file or part of the native filesystem 1.1.1.2 root 69: - Joystick support (with option of mapping joystick to numeric keypad) 70: - Mouse support 71: - Ability to run in various screen modes (for better display quality or 72: better speed) 1.1.1.5 root 73: - Full stereo sound support, consisting of 4 x 8bit channels 1.1.1.3 root 74: - Beta parallel and serial port support 1.1.1.2 root 75: - some other things which don't work well enough to mention them here... 76: 77: 78: Requirements (IMPORTANT! READ THIS!)/Limitations 79: ================================================ 80: 81: Not emulated: 1.1.1.3 root 82: - Sprite to playfield collisions (sprite to sprite collisions work) 83: - An MMU (part of 68030/040 CPUs except those that Commodore used). This means 1.1.1.2 root 84: you can't use virtual memory systems or real operating systems like Linux 85: or BSD. 86: - The AGA chipset (A4000/A1200). This chipset has enhanced capabilites for 87: up to 256 colors in all resolutions. 1.1.1.11 root 88: - Serial port emulation exists but doesn't work too well. 1.1.1.2 root 89: 90: Since the PC floppy controller can't read Amiga disks (yes, that's a fact), 91: floppy access has to be emulated differently: Floppies are emulated by means 92: of disk files that contain a raw image of the floppy disk you want to emulate. 93: A disk file is an image of the raw data on an Amiga floppy disk, it contains 94: 901120 bytes (880K), which is the standard capacity of an Amiga disk. 95: 96: To actually run the program, you'll need to install the ROM image from your 97: Amiga. You can't run UAE if you don't have this image. It is not included 98: because it is copyrighted software. Don't ask me to send you one. I won't. 99: If you don't have an Amiga and still want to use UAE, you'll have to buy an 100: Amiga or at least the system software (ROM + Workbench) first. 101: The Kickstart image can have a size of either 256K or 512K. It must be named 102: "kick.rom" by default. 103: 104: Read the section "tools" below for information how to create ROM images and 105: disk files. 1.1 root 106: 107: If you don't have a Kickstart file, you may still be able to boot some games 108: and demos. The emulator includes some primitive bootstrap code that will try 109: to read and execute the bootblock of the diskfile you are using, and if that 110: bootblock only uses the one or two Kickstart functions that are supported by 111: the "replacement Kickstart", your program will boot. Don't expect too much, 112: though. 113: 1.1.1.2 root 114: You'll also need some other software to run - why else would you want to 115: emulate an Amiga? There are several ways to make the software accessible to 1.1.1.3 root 116: UAE, either with disk image files or with a harddisk emulation. You should 117: make an image of your Amiga's Workbench disk and install it as "df0.adf" 118: (adf = Amiga Disk File) when you use UAE for the first time. More about how 119: to create these files in the chapter "Transferring software" 120: 121: To use Picasso96 emulation, you need the Picasso96 libraries, which are also 122: not included. They can be obtained (e.g.) from Aminet. 1.1 root 123: 124: 125: Invoking UAE 126: ============ 127: 1.1.1.2 root 128: First, read the system-specific documents for information how to set up UAE. 129: You should have an executable program called "uae". You can simply execute it, 1.1.1.7 root 130: but you can also optionally give it one or more of the following parameters: 131: 132: -h : Print out a help text. 133: -f file : Load a configuration file 134: -s opt=val : Set the emulator's option "opt" to value "val". 135: 136: Configuration files consist of several lines of the form "opt=val", just as 137: with the "-s" parameter. You can use the following options with the "-s" 138: option, or in a config file. 139: [Here, "=n" means the option takes a number as value. "=bool" means the option 140: takes a value of either "yes" or "no" (or "true", "false", or abbreviations of 141: any of these). There are other classes as well.] 1.1 root 142: 143: General options: 1.1.1.7 root 144: accuracy=n [default=2] 145: Set emulator accuracy to n. The default is n = 2, which means the 146: emulator will try to be as accurate as possible. This no longer 147: does much in this version, and I'll probably remove it. 148: framerate=n [default=1] 149: Sets the frame rate to 1/n. Only every nth screen will be drawn. Using a 150: higher value can speed up the emulator, at the expense of graphics quality. 151: autoconfig=bool [default=yes] 152: If this is enabled, all expansion devices provided by the emulation will be 153: automounted. You should only disable this if you have a Kickstart ROM 154: earlier than 1.3 which can't cope with this. Some badly written games and 155: demos might also be incompatible with this. 156: kbd_lang=lang [default=us] 157: Set the keyboard language. Currently, the following values can be used: "us" 158: for U.S. keyboard (default), "se" for swedish, "fr" for french, "it" for 1.1.1.17! root 159: italian, "es" for spanish, "dk" for danish, or "de" for german keyboard. 1.1.1.7 root 160: This setting only affects the X11 version. 161: floppy0=file [default=df0.adf] 162: Try to use the specified file as diskfile for drive 0 instead of df0.adf. 163: The options floppy1, floppy2, and floppy3 also exist. 164: kickstart_rom_file=file [default=kick.rom] 165: Use the specified file instead of kick.rom as Kickstart image. 1.1.1.17! root 166: kickstart_key_file=file [default=none] ! 167: For some strange licensing reasons, Cloanto had to encrypt the ROM images ! 168: they ship with the Amiga Forever package. This option lets you select the ! 169: key file; this is only necessary if you are using one of the ROMs from ! 170: Amiga Forever. 1.1.1.7 root 171: joyport0=mode [default=mouse] 172: Specify how to emulate joystick port 0. You can use "mouse", "joy0", or 173: "joy1" to use the corresponding input devices of your machine, or you can 1.1.1.14 root 174: select several different keyboard replacements for a joystick: 175: "kbd1" for the numeric pad. '0' is the fire button. Three keys on the 176: numeric pad act as autofire toggle: '.' (or ',' depending on your 177: keyboard language), Enter and the division key. 178: "kbd2" for the cursor keys with right control key as fire button and the 179: right shift key as autofire toggle 180: "kbd3" for T/F/H/B with the left Alt key as fire button and the left Shift 181: key as autofire toggle. 182: The autofire toggle keys will turn on autofire (25 shots per second), it 183: will stay enabled until you hit the autofire toggle again. 1.1.1.7 root 184: joyport1=mode [default=joy0] 185: Like joyport0, but for the Amiga's joystick port 1. 186: use_gui=bool [default=yes] 187: Show a user-interface that enables changing these options at run-time. 188: 32bit_blits=bool [default=no] 189: If enabled, the blitter emulation will use 32 bit operations where that 190: seems profitable (note that this will cause bus errors on most RISC 191: machines) 192: immediate_blits=bool [default=no] 193: If enabled, all blits will finish immediately, which can be nice for speed, 194: but may cause incompatibilities. 1.1.1.16 root 195: collision_level=level [default=sprites] 1.1.1.17! root 196: This can have a value of "none", "sprites", "playfields", or "full". If ! 197: set to "sprites", the emulator will only compute collisions between sprites. ! 198: If set to "playfields", it will additionally compute collisions between ! 199: sprites and the background. This is much slower and used only rarely. When ! 200: "full" level is selected, collisions of the background with itself are also ! 201: computed. This is also used very rarely, and makes the emulator even slower. ! 202: Using "sprites" or "none" will almost always be enough. 1.1.1.7 root 203: cpu_speed=speed [default=4] 204: This can have a value of "real", "max", or an integer between 1 and 20. 205: "real" will try to give the CPU emulation exactly as many cycles, relative 206: to the other chips, as on a real A500. "max" will try to give you the 207: maximum CPU emulation speed achievable on your machine. Numeric values 208: specify a fixed relation between CPU and custom chip emulation, where lower 209: values prioritize CPU emulation, while higher values prioritize custom chip 210: emulation. 1.1.1.16 root 211: finegrain_cpu_speed=speed 212: Like cpu_speed, but only accepts numeric values. These numeric values are 213: equivalent to the ones given to cpu_speed multiplied by 512. This means 214: that "cpu_speed=2" and "finegrain_cpu_speed=1024" have the same effect. 215: Using this option you can give the CPU emulation a much higher priority by 216: using small values. 1.1.1.7 root 217: cpu_type=type [default=68000] 218: Controls which CPU is emulated. This can be "68000", "68010", "68020" or 219: "68020/68881". In some cases, you may need to use "68ec020" or 220: "68ec020/68881" to emulate a crippled variant of the 68020 that has only a 221: 24 bit address bus. Some software, including some Kickstart versions, does 222: not work with a normal 68020 that has a 32 bit address bus. 223: Careful: using an "ec" variant has harmful side effects, and should be 224: disabled unless absolutely needed (you lose Z3 memory and Picasso 225: emulation). 226: cpu_compatible=bool [default=no] 227: If enabled, a slower but slightly more accurate variant of the CPU emulation 228: will be used. This is needed for some types of copy protection, among other 229: things. This is only meaningful for a CPU type of "68000". 1.1.1.14 root 230: nr_floppies=n [default=4] 231: The emulator will emulate this many external floppy drives. Some very old 232: games apparently have problems if this is larger than 1, but for all normal 233: programs the default is good enough. 1.1 root 234: 1.1.1.3 root 235: Emulating external devices (harddisk, CD-ROM, printer, serial port): 1.1.1.7 root 236: filesystem=access,volume:path [default=no filesystems mounted] 237: Mount the host's file system at "path" as an Amiga filesystem with volume 238: name "VOLUME:". "access" can be either "ro" (for readonly), or "rw" (for 239: read-write). If you want to mount a CD-ROM, you should use a readonly 240: mount. You can mount multiple file systems. 241: See below. 242: hardfile=access,secs,heads,reserved,bsize,file [default=no hardfiles mounted] 243: Mount the hardfile "file" as an emulated harddisk, using a geometry of 244: "secs" sectors per track, "heads" surfaces and "nr" reserved blocks. 245: Each sector should have "bsize" bytes. This can be abused to mount 246: floppy images. You can mount multiple hardfiles. 247: See below. 1.1 root 248: 249: Sound options: 1.1.1.7 root 250: sound_output=type [default=none] 251: The type of sound output can be "none" (no sound at all), "interrupts" 252: (emulated for the internal side effects that can be noticed by programs, 253: but no sound output), "normal" (emulated, and sound output), "exact" (a 254: slightly more accurate emulation that may be necessary in some cases, but 255: can also be slower). 256: sound_channels=type [default=mono] 1.1.1.16 root 257: Can be "mono", "stereo", or "mixed". If set to "stereo", the left and right 258: channels produce the same output as on a real Amiga - two of the four audio 259: channels are audible on the left, and the other two on the right. This is 260: exactly what you want, except if you're using headphones - having the sound 261: split so strictly can lead to a strange listening experience at times. This 262: is what "mixed" is trying to solve: it mixes the left channel with a low 263: volume into the right channel and vice versa. (This mixing operation loses 264: a bit of precision in the output). 1.1.1.7 root 265: sound_bits=n [default varies across UAE versions on different OS types] 266: Common values are 8 (low quality) or 16 (high quality) 267: sound_frequency=n [default varies across UAE versions on different OS types] 268: Common values are 22050 or 44100. The quality of sound output increases with 269: the frequency. 270: sound_min_buff=n 271: sound_max_buff=n [default varies across UAE versions on different OS types] 272: You can specify the minimum and maximum size of the sound buffer. 273: Smaller buffers reduce latency. Usually only the minimum size is used. 1.1.1.10 root 274: sound_interpol=type [default none] 275: Normally, sound samples are output exactly as they are computed, without 276: any post-processing. This can generate errors in the sound output when the 277: output frequency isn't an even multiple of the input frequency. These 278: errors are usuable perceived as a high-frequency noise. 279: There are currently two types of interpolation available, both under 280: experimentation. You can use either "rh" or "crux" as value for this 281: option. Note that no interpolation is supported for 8 bit output; you need 282: to use 16 bit output to hear a difference. If you have any comments about 283: the effects of either method on audio quality, I'd be very interested to 284: hear them. 1.1.1.3 root 285: 1.1 root 286: Memory options: 1.1.1.7 root 287: bogomem_size=n [default=0] 288: Emulate n*256K slow memory at 0xC00000. Some demos/games need this. 289: fastmem_size=n [default=0] 290: Emulate n megabytes of fast memory as an expansion board. 291: z3mem_size=n [default=0] 292: Emulate n megabytes of Zorro III fast memory as an expansion board. 293: chipmem_size=n [default=4] 294: Emulate n*512K chip memory. Some very broken programs need specific amounts 295: of chip mem to work properly. The largest valid value is 16, which means 8MB 296: chip memory. 297: 298: Display options: 299: gfx_width=n [default=800] 300: Use a window that is n pixels wide for displaying the Amiga screen. 301: gfx_height=n [default=300] 302: Use a window that is n pixels high for displaying the Amiga screen. 303: gfx_lores=bool [default=no] 304: Enable this option if you use a very small window width (320 to 400 pixels) 305: to shrink the display horizontally. 306: gfx_linemode=type [default=none] 307: The type can be none (every line is drawn once), "double" (every line is 308: drawn twice), and "scanlines" (every line is drawn once, but the image is 309: stretched vertically by inserting a black line every other line to simulate 310: the display on an old monitor). 311: The "double" mode gives best results, but slows down the emulation quite a 312: lot. Don't use the "none" mode if you want a decent interlace emulation. 313: If you use "double" or "scanlines", your window needs to be twice as high 314: as when using the "none" mode. 315: gfx_correct_aspect=bool [default=none] 316: Try to fit the image into the specified window dimensions by leaving out 317: certain lines. Useful if you want to fit a 640x512 Amiga display in a 318: 640x480 window. 319: gfx_center_vertical=bool [default=no] 320: gfx_center_horizontal=bool [default=no] 321: If you use a smaller window than 800x300 (400x300 with "gfx_lores" option or 322: 800x600 with a gfx_linemode other than "none"), not all parts of the display 323: will fit on the screen. By enabling the necessary centering options, you can 324: ask the emulator to try and move the screen contents so that the relevant 325: parts are displayed. If you are unlucky, this can cause the contents to jump 326: around a bit in certain cases. 327: gfx_fullscreen_amiga=bool [default=no] 328: Enable if you want to use the full screen, not a window on the desktop, for 329: the Amiga display. Some ports (DOS, SVGAlib) always use fullscreen mode. 330: gfx_fullscreen_picasso=bool [default=no] 331: Like gfx_fullscreen_amiga, but for the Picasso graphics card display. 332: gfx_color_mode=mode [default=8bit] 333: Select a color mode to use. 334: Color modes: 8bit (256 colors), 15bit (32768 colors), 16bit (65536 colors), 335: 8bit_dithered (256 colors, with dithering to improve quality), 336: 4bit_dithered (16 colors, dithered); 32bit (16 million colors) 1.1.1.10 root 337: gfxcard_size=n [default=0] 1.1.1.7 root 338: Emulate a Picasso 96 compatible graphics card with n MB graphics memory. 339: This requires that you use set the CPU type to "68020" or higher, and that 340: you do not use 24 bit addressing. 1.1.1.3 root 341: 342: Debugging options (not interesting for most users): 1.1.1.7 root 343: use_debugger=bool [default=no] 344: If enabled, don't start the emulator at once, use the built-in debugger. 345: log_illegal_mem [default=no] 346: If enabled, print illegal memory accesses 1.1 root 347: 1.1.1.2 root 348: 349: Whew. You'll probably have to experiment a little to get a feeling for it. 1.1.1.3 root 350: 1.1.1.2 root 351: 1.1 root 352: You can also put these options into a configuration file in your home 353: directory. Simply create ~/.uaerc and put some of these options in it. On 354: non-Unix systems, the file is called uae.rc and should be located in the 355: current directory. 356: 357: 358: Choosing color and screen modes 359: =============================== 360: 361: As described in the previous paragraph, UAE can run in many different 362: resolutions and color modes. However, few of the color mode options are 363: available if you use the X11 version of UAE, since the X server determines 364: how many colors are available. If you are running a 256 color X server, you 365: can use "-H3" to tell UAE to dither the colors for better results. 366: 367: You will have to experiment which mode gives the best results for you at a 368: satisfying speed. Note that the dithering process consumes time, so even if 369: 256 colors with dithering look better than 256 colors without, remember that 370: UAE will be slower in that mode. 371: 372: The recommended resolution is 800x600. In the lower resolution modes, some 373: overscan pictures the Amiga tries to display may not fit entirely on the 374: screen, others may be off-center and some graphical effects may look weird. 375: For best results, use 800x600 with at least 32768 colors. 1.1.1.3 root 376: For speed, use 400x300 lores with 256 colors. 377: 378: _Don't_ use 24 bit or 32 bit screen modes, unless you absolutely have to. 379: These are way too slow to be usable. 1.1 root 380: 381: 382: Harddisk emulation 383: ================== 384: 1.1.1.3 root 385: Since using diskfiles is awkward, it is necessary to emulate harddisks. There 386: are two ways how you can use large amounts of data with UAE: harddisk files 387: and mounted directories. 388: 389: 1. Harddisk files 390: 391: Harddisk files are large files that contain the image of an Amiga filesystem. 392: They work much the same way as a disk file. You can simply create a large 393: empty file and tell UAE to use it as a hardfile, but you will need to format 394: it from the emulation before you can actually use it. 1.1 root 395: 1.1.1.3 root 396: Under Unix, You can create a (unformatted) harddisk file with 1.1 root 397: dd if=/dev/zero of=hardfile bs=512 count=16384 1.1.1.3 root 398: That will create an 8MB file. Other ports of UAE may come with a utility 399: called "makedisk" or other ways to create such a file. 1.1.1.2 root 400: 1.1.1.3 root 401: To tell the emulator that you want to use a certain file as a hardfile, use 402: the "-W" option, for example 403: uae -W 32:1:2:hardfile 404: The first three numbers are geometry information which tell the AmigaOS how 405: the file is organized. The first number (32) is the number of sectors per 406: track, the second number (1) is the number of heads or surfaces, the third 407: number (2) is the number of reserved blocks. If you use "normal" sizes 408: (powers of two, like 32MB), then you should be OK using the same numbers as 409: in the above example. Using different numbers can make sense if you transfer 410: the image of a real Amiga harddisk which uses a different geometry. The last 411: field of the argument to the "-W" option is the name of the harddisk file. 412: 413: If you are using Kickstart 1.3 or earlier, hardfiles can't currently be 414: mounted at boot time, and therefore you can't boot from it either. You will 415: have to boot either from a floppy disk image or from a filesystem (see below), 416: and mount the hardfile.device later. To do this, add the following to 417: "DEVS:mountlist": 1.1 root 418: 1.1.1.3 root 419: UAE0: Device = uaehf.device 1.1 root 420: Unit = 0 421: Flags = 0 422: Surfaces = 1 423: BlocksPerTrack = 32 424: Reserved = 1 425: Interleave = 0 426: LowCyl = 0 ; HighCyl = 511 427: Buffers = 5 428: DosType = 0x444F5300 429: BufMemType = 1 430: # 431: 1.1.1.3 root 432: (You may need to adjust the values if you specified a different geometry, 433: and/or your hardfile has a different size than 8MB, and/or the hardfile is not 434: mounted as UAE0: because you mounted other harddisks before it.) 435: 1.1 root 436: Then, type "mount UAE0:" (or put that command in your startup-sequence), and 437: you should be able to access it. Don't forget to format it with the AmigaDOS 438: format command: 439: 440: format drive uae0: name Mister_Willwink 441: 1.1.1.3 root 442: b) Accessing native filesystems from the emulator 1.1 root 443: 444: This has some major advantages: 445: - It has no problems with Kickstart 1.3 446: - It is more convenient. 1.1.1.3 root 447: - It is much faster. 1.1 root 448: 1.1.1.2 root 449: If you specify the -M or -m command line arguments, you your native filesystem 450: from the emulator. If you start UAE with 1.1 root 451: 452: uae -m sound:/usr/amiga/modules 1.1.1.2 root 453: 1.1 root 454: you can access all the files in /usr/amiga/modules by reading from the 455: AmigaDOS volume "SOUND:". 456: (DOS users: try "uae -m dh0:C:\" to mount your drive C:\ as DH0:) 457: 1.1.1.3 root 458: You can mount up to 20 devices, either hardfiles or filesystems, by giving 459: either of these options multiple times. The volumes will be named UAE0:, 460: UAE1:, etc. UAE will boot from UAE0: if no diskfile is found for floppy 461: drive 0. 462: You can also use native filesystems to mount Amiga CD-ROMs, and you can 463: abuse the hardfile emulation to mount floppy disks: "uae -W 11:2:2:wb13.adf" 464: will mount the diskfile "wb13.adf". 1.1 root 465: 466: 467: Tools / Transferring files 468: ========================== 469: 1.1.1.2 root 470: As you should know by now, you need to transfer files between your Amiga and 471: the machine you run UAE on. There are several ways how to do this. 472: 473: - Using a null modem cable, and a terminal package running on each machine, 474: you can transfer the file(s) via Zmodem upload/download. 68000 equipped 475: Amigas can normally attain around 3000cps through the null modem cable, 476: using the standard Commodore serial.device. However, by using the device 477: replacement BaudBandit.device, anything up to 5500cps can be attained. 478: BaudBandit can be obtained from Aminet. A second alternative is to use 479: the BASIC program adfi.bas (included with UAE) to transfer a file from the 480: Amiga to the PC via the null modem cable. 481: 482: - If you're using CrossDOS on your Amiga, you can compress the disk or 483: kickstart image using LhA or similar PC compatible archiver and copy it to 484: a 720KB floppy disk. You can now take the disk over to the PC, copy the 485: compressed file to the UAE directory and uncompress it. 486: If you don't have CrossDOS on the Amiga, there is a similar freeware tool 487: called Msh, which can be found on Aminet or on Fish disk 382 or 327. 488: 489: In either case, you ought to read the documentation for the programs that 490: you use for the transfer. These programs can't be explained here. 1.1 root 491: 1.1.1.2 root 492: In the "amiga" subdirectory you'll find two small Amiga programs that will 493: help you to generate the necessary image files. These are called transrom 1.1 root 494: and transdisk. Copy them to your Amiga and make them executable (by typing 1.1.1.2 root 495: "protect transrom rwed" and "protect transdisk rwed" in the Amiga shell 1.1 root 496: window). 497: transrom will dump the contents of your Kickstart ROM, and transdisk will 498: dump an image of a floppy in one of the drives. Both programs write to the 1.1.1.2 root 499: standard output (read: the screen), so you'll want to redirect that. Do 1.1 root 500: 501: transrom >ram:kick.rom 502: 503: to create a file called "kick.rom" in the RAM disk, and 504: 505: transdisk >ram:df0.adf 506: 507: to create a file called "df0.adf" in the RAM disk. These files are pretty 1.1.1.2 root 508: big, 262144 or 524288 bytes for the ROM image and 901120 bytes for a disk 509: image. 1.1.1.3 root 510: 511: NEVER run either of these programs from the Workbench. Always open a Shell 512: or CLI window to do this. 513: 1.1 root 514: transdisk understands the following arguments: 515: 516: -d device unit: Use this device instead of DF0: 1.1.1.2 root 517: -s n: Begin transfer at track n (default: 0) 518: -e n: End transfer at track n (default: 79) 519: -w file: don't read from the floppy, instead write the contents 520: of "file" to the floppy 521: -h: Treat the disk as high-density disk. HD images aren't 522: supported by UAE yet, though. Note that the resulting 523: file will be twice as big. 1.1 root 524: 525: So, to transfer the disk in drive DF1:, you'd give the command: 526: 527: transdisk >ram:df1.adf -d trackdisk 1 528: 529: If you don't have much RAM and can't fit all of a disk image in the RAM disk, 530: you can split up the transfer into multiple parts with the "-s" and "-e" 531: parameters. To transfer the disk in four parts, you'd use the following 532: commands: 1.1.1.16 root 533: 1.1 root 534: transdisk >ram:df0_1.adf -s 0 -e 19 535: transdisk >ram:df0_2.adf -s 20 -e 39 536: transdisk >ram:df0_3.adf -s 40 -e 59 537: transdisk >ram:df0_4.adf -s 60 -e 79 538: 539: Of course, you should save each of the four files to another place before 540: transferring the next one with transdisk to make space in your RAM disk. 541: If you have all the files on your PC, you can do the following under Unix: 542: cat df0_1.adf df0_2.adf df0_3.adf df0_4.adf >df0.adf 543: or, under DOS: 1.1.1.2 root 544: COPY /B df0_1.adf+df0_2.adf+df0_3.adf+df0_4.adf df0.adf 1.1 root 545: I've been told there are the following tools for the Mac to join binaries: 546: "ChunkJoiner 2.1.2" found under Info-Mac's <disk> directory or 547: "JoinFiles 1.0.1" under Info-Mac's <text>. 548: 549: The current transdisk can only read the standard AmigaDOS format. This means 550: that most games that rely on some form of copy-protection cannot be 1.1.1.2 root 551: transferred (more about disk formats in the file "FAQ") 1.1 root 552: 1.1.1.2 root 553: **************************************************************************** 1.1 root 554: If you transfer commercial software, you must not distribute the resulting 555: image files, since that would be a violation of copyright law. The Kickstart 556: ROM has to be considered commercial software. You may only use the Kickstart 557: from your own Amiga, and you may not distribute Kickstart ROM files. 558: Please read the license that came with your software for details. 1.1.1.2 root 559: **************************************************************************** 560: 561: 562: Retrieving files from a disk image 563: ================================== 1.1 root 564: 565: If you have a disk image file, and you want to retrieve the files from it, you 566: can use the "readdisk" tool. It is automatically built by "make". If you have 567: a disk image of a disk called "Workbench1.3D" as df0.adf, and you do 568: readdisk df0.adf 569: the whole directory structure of the disk image will be stored in a newly 570: created subdirectory called "Workbench1.3D". You can optionally give a second 571: parameter to specify a directory where to create the output other than the 572: current directory. 573: readdisk only understands about the OFS right now. FFS disks will cheerfully 574: be regarded as being unreadable. Use the unixfs.device from within the 1.1.1.2 root 575: emulator if you want to transfer files from FFS disks. 1.1 root 576: 577: 1.1.1.3 root 578: Picasso 96 graphics card emulation 579: ================================== 580: 581: To use this feature, you must select 68020 emulation with a 32 bit address 1.1.1.16 root 582: space (i.e. _not_ 68ec020). You also need a Kickstart 3.x ROM. 1.1.1.3 root 583: 584: To specify how much graphic memory you want to emulate, use the "-U" option, 585: e.g. "-U 4" for 4 megabytes. Then, you need the Picasso 96 software which 586: is not distributed with UAE (There will be a link to the Picasso 96 home page 587: on the UAE Web page soon). Version 1.31 or higher is recommended. 588: Install the Picasso software, and make sure you enable the "uaegfx" driver. 589: After that is complete, reboot, and you should be able to select the new 590: modes from the ScreenModes program. 591: 592: 1.1.1.17! root 593: Saving and restoring snapshots ! 594: ============================== ! 595: ! 596: From version 0.8.17 onwards, the emulator has the capability to save the ! 597: current state of the emulation into a "snapshot" file that can be restored ! 598: later on. This functionality is available through the GUI on some ports. ! 599: It is mainly useful for computer games that either have no save game ! 600: feature, or whose save game feature does not work on UAE (often, games try ! 601: to save in a non-standard disk format, this can be tricky to emulate). ! 602: ! 603: There are several restrictions that apply to the save state feature: ! 604: ! 605: - It is at the moment experimental. It is not guaranteed that the ! 606: emulator can correctly restore every snapshot. It is not guaranteed ! 607: that future versions of the emulator will be able to restore snapshots ! 608: saved by this version. ! 609: - The state of the harddisk emulation cannot be saved. This makes it ! 610: essentially useless for applications, but remember it's designed for ! 611: games. Be careful with games that have been installed to the harddisk. ! 612: - Neither ROM contents nor floppy disk contents are saved right now. ! 613: ! 614: 1.1.1.9 root 615: UAE SCSI device 616: =============== 617: 1.1.1.17! root 618: To enable SCSI support, use --enable-scsi-device when running configure. 1.1.1.9 root 619: The emulator provides a uaescsi.device. This device only supports 620: direct SCSI, which is sufficient to run applications like MakeCD. The 621: device does not support reading or writing with the normal Exec commands, 622: so you cannot mount filesystems on it right now. 623: 624: The unit numbers of the uaescsi.device follow the Amiga SCSI 625: conventions: unit number "xyz" maps to the lun y of target z on bus 626: x. Wide SCSI busses can have targets with numbers larger than 9. In 627: this case the uaescsi.device pretends that there is another SCSI 628: bus. To avoid confusion, all available SCSI targets are listed 629: together with their unit number when starting UAE. Devices cannot be 630: added while the emulator is running. Reseting it is not sufficient 631: either for technical reasons. 632: 633: The implementation of the uaescsi.device uses cdrecord's libscg as 1.1.1.13 root 634: interface to the native SCSI system. The Linux implementation of this 635: library used to be included into UAE, but now the library as generated 636: by the cdrecord source package (ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/) 637: is used. As the library is not distributed seperately, you will have 638: to get the whole cdrecord sources, compile it and then make several 639: header and lib files available to the compiler if (and only if) building 640: UAE with SCSI support. The script "src/install_libscg" copies the files 641: required for the libscg in cdrecord 1.8.1. 642: 643: Using threads is strongly recommended, because some SCSI commands can 644: run for extended periods of time and would block the whole emulation 645: during this time without threads. Use --enable-threads when starting 646: configure. 1.1.1.9 root 647: 648: Depending on the hosts capabilities the uaescsi.device may be limited 649: compared to other Amiga SCSI devices. The Linux kernel by default only 650: allows 32KB of data per SCSI command and does not always perform SCSI 651: requests in parallel. 652: 653: Setting the chunk size in MakeCD to 30KB is already too much and 654: causes an IO error -4 (IOERR_BADLENGTH), because the setting is only 655: used as a guideline. You can work around this by setting the Tooltypes 656: BUFFER_CHUNK_XXX to 29. On a Pentium II 350MHz with Adaptec UW SCSI 657: controller on board on-the-fly copying was possible from a Philips 658: CDD2600 (SCSI) to a Yamaha CRW4416E (IDE) at 4x. 659: 660: 1.1 root 661: The UAE_CONTROL program 662: ======================= 663: 664: In the "amiga" subdirectory, you will find two programs, uae_control and 665: uaectrl that provide the same functionality as the X11 GUI. uaectrl is 666: shell-based and works with any Kickstart, while uae_control needs the 667: gadtools.library and a recent version of reqtools.library, so it only works 668: with Kick 2.0 and upwards. Copy these two programs to the directory that you 669: use for harddisk emulation. They should be self-explanatory. 670: 671: 1.1.1.9 root 672: The timehack 673: ============ 674: 675: Another tool in the "amiga" subdirectory, timehack, synchronizes the 676: emulated Amiga's system time with the host's time every second. This 677: is useful when the emulation is not done in real-time or is suspended 678: completely. 679: 680: 1.1 root 681: Quick overview of the debugger commands 682: ======================================= 683: 1.1.1.2 root 684: Some (window-system based) ports of UAE have a built-in debugger. You can 685: press ^C at any time to enter this debugger. 1.1 root 686: Each debugger command consists of a single letter and occasionally some 687: parameters. 688: 689: g: Start execution at the current address. 690: c: Dump state of the CIA and custom chips. 691: r: Dump state of the CPU 692: m <address> <lines>: Memory dump starting at <address> 693: d <address> <lines>: Disassembly starting at <address> 694: t: Step one instruction 695: z: Step through one instruction - useful for JSR, DBRA etc. 696: f <address>: Step forward until PC == <address> 697: q: Quit the emulator. You don't want to use this command. 1.1.1.3 root 698: M: hunt for sound modules 699: S <filename> <address> <len>: 700: save a sound module 1.1.1.5 root 701: C <value>: Search for values like energy or lifes in games 702: W <address> <value>: Write into Amiga memory 1.1 root 703: 704: 705: Sound 706: ===== 707: 1.1.1.2 root 708: If your version of UAE supports sound, you can pass parameters like frequency 709: or number of bits to use on the commandline; if you don't specify any, sane 710: defaults will be used. If graphics output is enabled while sound is output, 711: the emulator will be much too slow on most systems. The sound will not be 712: continuous. Therefore, a hack to turn off screen updates is provided: Press 713: ScrollLock to disable graphics, press it again to enable them. 1.1 root 714: 715: The quality of the emulation depends on the setting of the "-S" commandline 716: option. With "-S 3", all of the sound hardware is emulated; and some programs 717: (e.g. AIBB) won't run with other settings. "-S 2" should sound just as good as 718: "-S 3" and will be much faster for some programs. "-S 1" tries to emulate most 719: of the sound hardware, but doesn't actually output sound. "-S 0" completely 720: turns off sound. 721: 722: 1.1.1.2 root 723: Pointers 724: ======== 1.1 root 725: 1.1.1.2 root 726: There are a few sites in the Internet that contain helpful information about 727: UAE. 728: 729: The new "official" UAE page is located at 730: 1.1.1.11 root 731: http://www.freiburg.linux.de/~uae 1.1.1.2 root 732: 733: thanks to Stefan Reinauer who is now maintaining it. 734: 735: There, you will find links to other UAE pages. One which is especially useful 736: is the "UAE Discussion Board" set up by Gustavo Goedert, the address is 737: 1.1.1.11 root 738: http://amiga.nvg.org/uaeboard 1.1.1.2 root 739: 1.1.1.3 root 740: There is supposedly a newsgroup named "alt.emulators.amiga", but I don't get 741: it here. 742: The newsgroup "comp.sys.amiga.emulations" appears to be a proper place to 743: discuss Amiga emulation, but, strictly speaking, it is _not_ the right place. 744: More appropriate places are "comp.emulators.misc", and, of course, Gustavo's 745: discussion board. 746: 747: Petter Schau has written another Amiga emulator named "Fellow". It's mostly 748: written in x86 assembly and only runs under DOS. It's quite compatible and 749: generally faster than UAE. The Fellow homepage is at 750: 1.1.1.11 root 751: http://www.geocities.com/SiliconValley/Peaks/5244/ 1.1 root 752: 753: 754: Thanks & Acknowledgements 755: ========================= 756: 757: Thanks to all who have written me so far with bugreports and success/failure 758: reports when trying to run the emulator on various hardware with different 759: Kickstart versions. A list of everyone who has contributed to the source code 760: can be found in the CREDITS file (this was getting too big to keep it here). 761: 762: Special thanks to: 763: - Jay Miner, Dale Luck, R.J. Mical and all the others who built the Amiga. 764: - Felix Bardos, whose HRM I "borrowed". 765: - Hetz Ben Hamo mailed Peter Kittel from Commodore asking for permission to 766: give Kick 1.3 away. Unfortunately, the response was negative :-( 1.1.1.5 root 767: - Stefan Reinauer, for hosting the UAE Web page after the RWTH decided it's 768: too dangerous to let students have their own Web pages. 769: - Bruno Coste, Ed Hanway, Alessandro Soldo and Marko Nippula provided useful 770: documentation about the Amiga 1.1 root 771: - Fabio Ciucci gets the "Best bug reports" award for his help with the 772: blitter line emulation and other problem areas. 1.1.1.3 root 773: - Michael C. Battilana and Cloanto Software, for all their support. 1.1.1.5 root 774: - Julian Eggebrecht of Factor 5, for providing several F5 games and a lot 775: of valuable input. 1.1.1.16 root 776: Factor 5 has made several of their classic Amiga games freely 1.1.1.5 root 777: available for download. There are still some good people left in the 778: world... 779: - Jens Sch�nfeld, inventor of the Catweasel controller, donated one 780: controller card. 1.1.1.11 root 781: - J�rgen Beck, maintainer of the Amiga emulation web site "Back to the 782: Roots" (http://back2roots.emuunlim.com) and everyone else who spends 783: time writing to software companies asking for permission to distribute 784: old Amiga games. 785: - all the software companies who allow distribution of their Amiga games on 786: sites like "Back to the Roots". 1.1 root 787: 788: 1.1.1.2 root 789: Authors/Maintainers 790: =================== 1.1 root 791: 1.1.1.3 root 792: My address is (please read the section "Before you send email" below): 1.1 root 793: 794: [email protected] 795: 796: or, via snailmail 797: 798: Bernd Schmidt 1.1.1.16 root 799: 21 St Stephen's Place 800: Cambridge CB3 0JE 801: UK 1.1 root 802: 803: Email is more likely to be answered, and will definitely be answered much 804: faster. Please avoid phonecalls if you can. 1.1.1.3 root 805: I won't distribute software, neither PD or commercial. Don't send me floppy 806: disks without at least asking first, you will not get them back. 1.1.1.2 root 807: 808: The following people have ported UAE to different platforms; you should 809: direct system-specific questions to them: 810: 811: DOS port: 1.1.1.3 root 812: Gustavo Goedert <[email protected]> 813: Available: http://www.netrunner.com.br/dosuae 814: Sourecode: available on the above Web page, most of it included in the 815: main source (with some delay) 1.1.1.2 root 816: 817: Mac port: 1.1.1.3 root 818: Originally: Ernesto Corvi <[email protected]> 819: Currently: Arnaud Blanchard <[email protected]> 820: Available: http://www.pratique.fr/~jblancha/ 821: Sourcecode: extra package available. Bits and pieces in the main source, 822: but nothing you could get to compile. 1.1.1.2 root 823: 824: BeBox port: 825: Christian Bauer <[email protected]> 826: Available: The main UAE web page (use the Unix sources) 1.1.1.3 root 827: Sourcecode: Included in the main source. Should compile OK. 828: Notes: Christian says he doesn't have much time to spend on UAE, so if 829: anyone is willing to help maintain this port, please speak up. 1.1.1.2 root 830: 831: NextStep port: 832: Ian Stephenson <[email protected]> 833: Available: The main UAE web page (use the Unix sources) 1.1.1.3 root 834: Sourcecode: Included in the main source. Should compile OK. 835: Notes: Ian says he doesn't have much time to spend on UAE, so if 836: anyone is willing to help maintain this port, please speak up. 1.1.1.2 root 837: 838: Amiga port: 839: Originally: Olaf 'Olsen' Barthel <[email protected]> 840: Currently: Samuel Devulder <[email protected]> 841: Available: Not quite sure yet. Paul Liss' Web page has binaries. 1.1.1.3 root 842: Sourcecode: Included in the main source. Should compile OK. 1.1.1.2 root 843: 1.1.1.3 root 844: pOS port: 845: Samuel Devulder <[email protected]> 846: Available: Not quite sure yet. 847: Sourcecode: Included in the main source. Should compile OK. 1.1.1.7 root 848: 1.1.1.13 root 849: OS/2 port: 850: Pressenna Sockalingasamy <[email protected]> 851: Available: ftp://hobbes.nmsu.edu/pub/os2/apps/emulator/uae2_0810_a1.zip 852: Sourcecode: working on including it 853: 1.1.1.2 root 854: XFree86/OS2 port: 855: Krister Bergman <[email protected]> 1.1.1.3 root 856: Available: http://www.kuai.se/~bellman/html/xfreeapps.html 857: Sourcecode: nothing special, apparently the Unix stuff compiles cleanly (?) 1.1.1.2 root 858: 1.1.1.3 root 859: Win32 port: 1.1.1.7 root 860: Originally: Mathias Ortmann <[email protected]> 861: Currently: Brian King <[email protected]> 862: Available: http://www.codepoet.com/uae 863: Sourcecode: bits merged into the main source, the rest available from the 864: URL above. Still trying to merge more of it... 1.1.1.3 root 865: 866: Acorn RISC PC port: 867: Peter Teichmann <[email protected]> 868: Available: http://www.wh1.tu-dresden.de/~sol/acorn.shtml 869: http://www.wh1.tu-dresden.de/~sol/acorne.shtml 870: Sourcecode: Some of it is included in the main source, but since Acorn's OS 871: apparently doesn't have decent file handling, you can't even 872: use the same source layout. Also needs lots of additional files. 873: 1.1.1.2 root 874: Since I generally don't have the possibility to test or improve these ports, 875: it is a good idea to contact their respective authors if you have questions. 876: 877: 1.1.1.3 root 878: Before you send email... 879: ======================== 1.1.1.2 root 880: 881: Before you contact me with a problem that you have, make sure you have read 882: _all_ of the above. Please read also the file "FAQ", which contains a lot of 1.1.1.3 root 883: helpful information, and the README file for your specific system. 1.1.1.2 root 884: 1.1 root 885: I can't answer _every_ question. If you have trouble understanding this 886: README, either because you don't speak English very well or because you have 1.1.1.2 root 887: no clue at all about computers, please try to find some friend of yours who 888: does understand this file and who can translate/explain it for you. I simply 889: can't explain (for example) how to use terminal programs or CrossDOS because 890: I don't use either, and it would be much too time-consuming anyway. This file 891: and the file FAQ contains about every piece of information I can give you. I 892: try to help people who have questions, but sometimes it takes too much time. 893: 894: Please don't ask for Kickstart ROM files or other copyrighted software. Don't 895: _send_ me stuff like this either. If you want to send me something else which 896: is big (>= 50K), ask me before or put it somewhere in Webspace. 1.1.1.3 root 897: If I get 3MB of screen shots or a core dump ("it doesn't work, it generates 898: this file"), I'm very likely to get extremely angry, I might complain to your 899: sysadmin, and you might lose your account. Think twice. 900: 901: I'm also going to be extremely annoyed if you send email in HTML format. 902: Fight this disease! 1.1 root 903: 904: Oh, and another thing: If I promise to do things (like implement new 905: features), and forget about them, pester me. That happens occasionally, it's 906: a known bug in my brain. I'll have it replaced.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.