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