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