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