--- uae/docs/README 2018/04/24 16:38:50 1.1.1.2 +++ uae/docs/README 2018/04/24 16:51:13 1.1.1.12 @@ -1,18 +1,22 @@ -This is version 0.6.8 of UAE, the Un*x Amiga Emulator. +This is version 0.8.12 of UAE, the Un*x Amiga Emulator. -#include +Versions numbered 0.8.x are beta versions, to be used for development only. +If you are only a user of UAE, you are better off using the latest 0.7.x +version or waiting for 0.9.0. -Copyright 1995, 1996 Bernd Schmidt & contributors (see below). This program is -freeware. You may do whatever you want with it for personal use. -Permission is granted to redistribute this program free of charge, provided it -is distributed in the full archive with unmodified contents and no profit -beyond the price of the media on which it is distributed is made. Exception to -the last rule: It may be included on freeware/shareware collections on CD-ROM. -There are no warranties of any kind for this program. If you use this program, -you do so at your own risk. The authors are not responsible for any damages -that might result from using this program. -"Amiga" is a registered trademark of Commodore, Inc. Other trademarks -mentioned in this document are property of their owners. + +License +======= + +UAE is available under the terms of the GNU General Public License. This means +that it is free software: you are welcome to distribute copies of it and/or +modify it, under certain conditions. It also means that there is no warranty +for UAE. +See the file COPYING that is included in the top level directory of this +archive for details. + +The SCSI code distributed with UAE is also available under the terms of the +GPL and was written by J. Schilling. Overview @@ -39,8 +43,9 @@ equally many configuration options. If y that UAE doesn't work for you, or doesn't work as good as it could. Please read also the file "FAQ" which contains some Frequently Asked -Questions (and even the answers!) System-specific documents like "README.UNIX" -and "README.DOS" also exist, you should read the appropriate one, too. +Questions (and even the answers!) You should also look for a document +describing the specific port of UAE to the operating system you are using, +for example "BeOS/README" or "DOS/README". People have complained that the UAE documentation contains only "weird jargon". Sorry about this. Despite what MessySoft and Tomato tell you, computer @@ -54,20 +59,22 @@ Features This version of UAE emulates: -- An Amiga 500 Computer, with 68000 or 68020 CPU (68020 includes 68881 FPU) +- A 68000, 68010 or 68020 CPU, optionally a 68881 FPU - OCS Graphics Chipset, plus big blits from the ECS Chipset -- Up to 2MB Chip RAM -- Up to 8MB Fast RAM -- Up to 1MB Slow RAM, for extended compatability with problem software -- 4 x 3.5" floppy disk drives (DF0:, DF1:, DF2: and DF3:) -- Hard-disk emulation +- Up to 2MB Chip RAM and up to 8MB Fast RAM, or 8MB Chip RAM without Fast RAM +- Up to 64MB Zorro III Fast RAM, independent of Chip RAM setting (68020 only) +- Up to 1MB Slow RAM, for extended compatibility with problem software +- Up to 8MB of graphics card memory, usable by software that supports + Picasso 96 compatible graphics cards +- 4 x 3.5" floppy disk drives (DF0:, DF1:, DF2: and DF3:). It's not possible to + read Amiga disks, so these are emulated with disk files. +- A hard-disk: either a harddisk image file or part of the native filesystem - Joystick support (with option of mapping joystick to numeric keypad) - Mouse support - Ability to run in various screen modes (for better display quality or better speed) -- Full sound support, consisting of 4 x 8bit channels (mixed into one, so - output is mono for now). -- Beta parallel port support +- Full stereo sound support, consisting of 4 x 8bit channels +- Beta parallel and serial port support - some other things which don't work well enough to mention them here... @@ -75,8 +82,8 @@ Requirements (IMPORTANT! READ THIS!)/Lim ================================================ Not emulated: -- Sprite collisions -- a MMU (part of 68030/040 CPUs except those that Commodore used). This means +- Sprite to playfield collisions (sprite to sprite collisions work) +- An MMU (part of 68030/040 CPUs except those that Commodore used). This means you can't use virtual memory systems or real operating systems like Linux or BSD. - The AGA chipset (A4000/A1200). This chipset has enhanced capabilites for @@ -109,10 +116,13 @@ though. You'll also need some other software to run - why else would you want to emulate an Amiga? There are several ways to make the software accessible to -UAE, either with disk image files or with a harddisk emulation.You should make -an image of your Amiga's Workbench disk and install it as "df0.adf" (adf = -Amiga Disk File) when you use UAE for the first time. More about how to create -these files in the chapter "Transferring software" +UAE, either with disk image files or with a harddisk emulation. You should +make an image of your Amiga's Workbench disk and install it as "df0.adf" +(adf = Amiga Disk File) when you use UAE for the first time. More about how +to create these files in the chapter "Transferring software" + +To use Picasso96 emulation, you need the Picasso96 libraries, which are also +not included. They can be obtained (e.g.) from Aminet. Invoking UAE @@ -120,125 +130,190 @@ Invoking UAE First, read the system-specific documents for information how to set up UAE. You should have an executable program called "uae". You can simply execute it, -but you can also optionally give it one of the following -parameters: +but you can also optionally give it one or more of the following parameters: + + -h : Print out a help text. + -f file : Load a configuration file + -s opt=val : Set the emulator's option "opt" to value "val". + +Configuration files consist of several lines of the form "opt=val", just as +with the "-s" parameter. You can use the following options with the "-s" +option, or in a config file. +[Here, "=n" means the option takes a number as value. "=bool" means the option +takes a value of either "yes" or "no" (or "true", "false", or abbreviations of +any of these). There are other classes as well.] General options: - -h : Give help on the options. - -A n : Set emulator accuracy to n. The default is n = 2, which means the - emulator will try to be as accurate as possible. This no longer - does much in this version, and I'll probably remove it. - -f n : Sets the frame rate to 1/n. Only every nth screen will be drawn. - -a : Add no expansion devices. This will disable fastmem and harddisk - emulation, but some extremely badly-written games may need this. - (Kickstart 1.2 apparently needs it, too) - -l lang : Set the keyboard language. Currently, the following values can be - used for lang: "us" for U.S. keyboard (default), "se" for swedish, - "fr" for french, "it" for italian or "de" for german keyboard. - -0 file : Try to use file as diskfile for drive 0 instead of df0.adf. - -1 file, -2 file and -3 also exist for the other drives. - -r file : Use file instead of kick.rom as Kickstart image. - -J : Use the numeric pad for joystick emulation (with 5 and 0 as fire - buttons). This will turn off real joystick support. It's no good - for action games, but may be useful for other games. - -x : General-purpose option. For the X version, it makes the X cursor - visible (recommended). For the SVGAlib version, it turns off - linear framebuffer support. - -o : Allow UAE to overwrite ~/.uaerc with the selected options. This is - only used by the text-based user interface in the SVGAlib and DOS - versions. - -G : Disable the user interface (if present). - -n specs: Set blitter emulation. specs is a string of characters. If it - contains a "3", the blitter will use 32 bit operations where that - seems profitable (note that this will cause bus errors on most - RISC machines). If you specify "i", all blits will finish - immediately, which can be nice for speed. To enable both options, - say "-n 3i" - -Emulating external devices (harddisk, printer, serial port): - -M VOLUME:path - -m VOLUME:path - mount the unix file system at path as an Amiga filesystem with - volume name "VOLUME:". For example, "-M sound:/usr/amiga/modules" - If you use -M instead of -m, the volume will be read only. - See below. - -p cmd : Enable printing. See below. - -I dev : Use "dev" as serial device (e.g. /dev/ttyS1 on Linux). Doesn't - really work yet, at least not for me. +accuracy=n [default=2] + Set emulator accuracy to n. The default is n = 2, which means the + emulator will try to be as accurate as possible. This no longer + does much in this version, and I'll probably remove it. +framerate=n [default=1] + Sets the frame rate to 1/n. Only every nth screen will be drawn. Using a + higher value can speed up the emulator, at the expense of graphics quality. +autoconfig=bool [default=yes] + If this is enabled, all expansion devices provided by the emulation will be + automounted. You should only disable this if you have a Kickstart ROM + earlier than 1.3 which can't cope with this. Some badly written games and + demos might also be incompatible with this. +kbd_lang=lang [default=us] + Set the keyboard language. Currently, the following values can be used: "us" + for U.S. keyboard (default), "se" for swedish, "fr" for french, "it" for + italian, "es" for spanish, or "de" for german keyboard. + This setting only affects the X11 version. +floppy0=file [default=df0.adf] + Try to use the specified file as diskfile for drive 0 instead of df0.adf. + The options floppy1, floppy2, and floppy3 also exist. +kickstart_rom_file=file [default=kick.rom] + Use the specified file instead of kick.rom as Kickstart image. +joyport0=mode [default=mouse] + Specify how to emulate joystick port 0. You can use "mouse", "joy0", or + "joy1" to use the corresponding input devices of your machine, or you can + select several different keyboard replacements for a joystick: "kbd1" for + the numeric pad with '0' as fire button, "kbd2" for the cursor keys with + right control as fire button and c is T/F/H/B with Alt as fire button. +joyport1=mode [default=joy0] + Like joyport0, but for the Amiga's joystick port 1. +use_gui=bool [default=yes] + Show a user-interface that enables changing these options at run-time. +32bit_blits=bool [default=no] + If enabled, the blitter emulation will use 32 bit operations where that + seems profitable (note that this will cause bus errors on most RISC + machines) +immediate_blits=bool [default=no] + If enabled, all blits will finish immediately, which can be nice for speed, + but may cause incompatibilities. +cpu_speed=speed [default=4] + This can have a value of "real", "max", or an integer between 1 and 20. + "real" will try to give the CPU emulation exactly as many cycles, relative + to the other chips, as on a real A500. "max" will try to give you the + maximum CPU emulation speed achievable on your machine. Numeric values + specify a fixed relation between CPU and custom chip emulation, where lower + values prioritize CPU emulation, while higher values prioritize custom chip + emulation. +cpu_type=type [default=68000] + Controls which CPU is emulated. This can be "68000", "68010", "68020" or + "68020/68881". In some cases, you may need to use "68ec020" or + "68ec020/68881" to emulate a crippled variant of the 68020 that has only a + 24 bit address bus. Some software, including some Kickstart versions, does + not work with a normal 68020 that has a 32 bit address bus. + Careful: using an "ec" variant has harmful side effects, and should be + disabled unless absolutely needed (you lose Z3 memory and Picasso + emulation). +cpu_compatible=bool [default=no] + If enabled, a slower but slightly more accurate variant of the CPU emulation + will be used. This is needed for some types of copy protection, among other + things. This is only meaningful for a CPU type of "68000". + +Emulating external devices (harddisk, CD-ROM, printer, serial port): +filesystem=access,volume:path [default=no filesystems mounted] + Mount the host's file system at "path" as an Amiga filesystem with volume + name "VOLUME:". "access" can be either "ro" (for readonly), or "rw" (for + read-write). If you want to mount a CD-ROM, you should use a readonly + mount. You can mount multiple file systems. + See below. +hardfile=access,secs,heads,reserved,bsize,file [default=no hardfiles mounted] + Mount the hardfile "file" as an emulated harddisk, using a geometry of + "secs" sectors per track, "heads" surfaces and "nr" reserved blocks. + Each sector should have "bsize" bytes. This can be abused to mount + floppy images. You can mount multiple hardfiles. + See below. Sound options: - -S n : If your version of UAE supports sound, set the sound support level - with this option. - n = 0: No proper sound emulation at all. May be incompatible - (unlikely). This is the default. - n = 1: Emulate the sound hardware, but don't output sound. May be - needed for compatibility, but can be much slower - n = 2: Emulate the sound hardware and output sound. Recommended. - n = 3: Emulate the sound hardware _exactly_. I don't think you'll - hear a difference. SIDmon modules will be emulated - correctly, but painfully slow with this setting. - -b n : Use n bits for sound output (8 or 16) - -R n : Use n Hz to output sound. Common values are 22050 Hz or 44100 Hz. - -B n : Use a sound buffer of n bytes (use small values on fast machines) - Default is 8192. - +sound_output=type [default=none] + The type of sound output can be "none" (no sound at all), "interrupts" + (emulated for the internal side effects that can be noticed by programs, + but no sound output), "normal" (emulated, and sound output), "exact" (a + slightly more accurate emulation that may be necessary in some cases, but + can also be slower). +sound_channels=type [default=mono] + Can be "mono" or "stereo". +sound_bits=n [default varies across UAE versions on different OS types] + Common values are 8 (low quality) or 16 (high quality) +sound_frequency=n [default varies across UAE versions on different OS types] + Common values are 22050 or 44100. The quality of sound output increases with + the frequency. +sound_min_buff=n +sound_max_buff=n [default varies across UAE versions on different OS types] + You can specify the minimum and maximum size of the sound buffer. + Smaller buffers reduce latency. Usually only the minimum size is used. +sound_interpol=type [default none] + Normally, sound samples are output exactly as they are computed, without + any post-processing. This can generate errors in the sound output when the + output frequency isn't an even multiple of the input frequency. These + errors are usuable perceived as a high-frequency noise. + There are currently two types of interpolation available, both under + experimentation. You can use either "rh" or "crux" as value for this + option. Note that no interpolation is supported for 8 bit output; you need + to use 16 bit output to hear a difference. If you have any comments about + the effects of either method on audio quality, I'd be very interested to + hear them. + Memory options: - -s n : Emulate n*256K slow memory at 0xC00000. Some demos/games need this. - -F n : Emulate n megabytes of fast memory as an expansion board. - -c n : Emulate n*512K chip memory. The default is 2MB chipram. Some very - broken programs need "-c 1" to work properly. - -Debugging options: - -D : Don't start the emulator at once, use the built-in debugger. - -i : Print illegal memory accesses - -g : Emulate parts of the OS. This isn't very stable and not - recommended. +bogomem_size=n [default=0] + Emulate n*256K slow memory at 0xC00000. Some demos/games need this. +fastmem_size=n [default=0] + Emulate n megabytes of fast memory as an expansion board. +z3mem_size=n [default=0] + Emulate n megabytes of Zorro III fast memory as an expansion board. +chipmem_size=n [default=4] + Emulate n*512K chip memory. Some very broken programs need specific amounts + of chip mem to work properly. The largest valid value is 16, which means 8MB + chip memory. Display options: - -H mode : Select a color mode to use. - -O specs: Select a display mode, see below how the specs parameter is - interpreted. -Color modes: 0 (256 colors, default); 1 (32768 colors); 2 (65536 colors) - 3 (256 colors, with dithering to improve color quality) - 4 (16 colors, dithered); 5 (16 million colors) - -About the "-O" display specs. These consist of the width and height of the -mode, plus optional modifiers. One valid option to pass to UAE would be -"-O 640:300:" which means use a display 640 pixels wide and 300 pixels high, -with no modifiers (nothing after the second ":"). You may specify the -following modifiers: - l: Tell UAE to omit drawing every second pixel horizontally (for "lores" - modes). Example: "-O 320:200:l" - x: Tell UAE to try to fit the image horizontally into the displayed - window. For example, if you have a mode that is 640 pixels wide, and the - displayed image is also 640 pixels wide, the picture may still be - partially invisible because it is displayed too wide to the left or to - the right. With the "x" modifier, UAE tries to prevent this. - You can also specify a capital "X", in that case, UAE tries to be - extremely clever when doing this. - y: The same thing in green, for fitting the image vertically into the - window. (Y also exists) - d: Draw every line twice. This allows interlace mode to be emulated nicely, - but of course you also need a display that is twice as high - c: Correct the aspect. This will omit certain lines of the display to make - it fit better into the screen. +gfx_width=n [default=800] + Use a window that is n pixels wide for displaying the Amiga screen. +gfx_height=n [default=300] + Use a window that is n pixels high for displaying the Amiga screen. +gfx_lores=bool [default=no] + Enable this option if you use a very small window width (320 to 400 pixels) + to shrink the display horizontally. +gfx_linemode=type [default=none] + The type can be none (every line is drawn once), "double" (every line is + drawn twice), and "scanlines" (every line is drawn once, but the image is + stretched vertically by inserting a black line every other line to simulate + the display on an old monitor). + The "double" mode gives best results, but slows down the emulation quite a + lot. Don't use the "none" mode if you want a decent interlace emulation. + If you use "double" or "scanlines", your window needs to be twice as high + as when using the "none" mode. +gfx_correct_aspect=bool [default=none] + Try to fit the image into the specified window dimensions by leaving out + certain lines. Useful if you want to fit a 640x512 Amiga display in a + 640x480 window. +gfx_center_vertical=bool [default=no] +gfx_center_horizontal=bool [default=no] + If you use a smaller window than 800x300 (400x300 with "gfx_lores" option or + 800x600 with a gfx_linemode other than "none"), not all parts of the display + will fit on the screen. By enabling the necessary centering options, you can + ask the emulator to try and move the screen contents so that the relevant + parts are displayed. If you are unlucky, this can cause the contents to jump + around a bit in certain cases. +gfx_fullscreen_amiga=bool [default=no] + Enable if you want to use the full screen, not a window on the desktop, for + the Amiga display. Some ports (DOS, SVGAlib) always use fullscreen mode. +gfx_fullscreen_picasso=bool [default=no] + Like gfx_fullscreen_amiga, but for the Picasso graphics card display. +gfx_color_mode=mode [default=8bit] + Select a color mode to use. + Color modes: 8bit (256 colors), 15bit (32768 colors), 16bit (65536 colors), + 8bit_dithered (256 colors, with dithering to improve quality), + 4bit_dithered (16 colors, dithered); 32bit (16 million colors) +gfxcard_size=n [default=0] + Emulate a Picasso 96 compatible graphics card with n MB graphics memory. + This requires that you use set the CPU type to "68020" or higher, and that + you do not use 24 bit addressing. + +Debugging options (not interesting for most users): +use_debugger=bool [default=no] + If enabled, don't start the emulator at once, use the built-in debugger. +log_illegal_mem [default=no] + If enabled, print illegal memory accesses + Whew. You'll probably have to experiment a little to get a feeling for it. -To make things easier, here are mode specs that are equivalent to the old -"-d" and "-C" options, which are obsolete now. --d 0: Lores, 320x200, X centered: "-O 320:200:lx" --d 1: Lores, 320x240, X centered: "-O 320:240:lx" --d 2: Lores, 320x400, X centered: "-O 320:400:lx" --d 3: Hires, 640x300, X centered: "-O 640:300:x" --d 4: 800x300, centering not needed: "-O 800:300:" --d 3 -C: "-O 640:600:xd" --d 4 -C: "-O 800:600:d" -(This table is accurate for the X11 version of UAE 0.6.6 and below. Other -versions, e.g. SVGAlib and DOS behave differently, which was one of the -reasons to get rid of the old method of specifying display modes.) -UAE may choose to ignore and/or refuse some combinations of these two -parameters. Some of these modes may also fail to work on your system. You can also put these options into a configuration file in your home directory. Simply create ~/.uaerc and put some of these options in it. On @@ -264,34 +339,50 @@ The recommended resolution is 800x600. I overscan pictures the Amiga tries to display may not fit entirely on the screen, others may be off-center and some graphical effects may look weird. For best results, use 800x600 with at least 32768 colors. +For speed, use 400x300 lores with 256 colors. + +_Don't_ use 24 bit or 32 bit screen modes, unless you absolutely have to. +These are way too slow to be usable. Harddisk emulation ================== -Using diskfiles is awkward. There are two ways how you can use larger amounts -of data with UAE. UAE can emulate more than one harddisk at one time, the -volumes will be named UAE0:, UAE1:, etc. UAE will boot from UAE0: if no -diskfile is found for floppy drive 0. - -a) Harddisk files. -You can create a (unformatted) harddisk file with +Since using diskfiles is awkward, it is necessary to emulate harddisks. There +are two ways how you can use large amounts of data with UAE: harddisk files +and mounted directories. + +1. Harddisk files + +Harddisk files are large files that contain the image of an Amiga filesystem. +They work much the same way as a disk file. You can simply create a large +empty file and tell UAE to use it as a hardfile, but you will need to format +it from the emulation before you can actually use it. +Under Unix, You can create a (unformatted) harddisk file with dd if=/dev/zero of=hardfile bs=512 count=16384 +That will create an 8MB file. Other ports of UAE may come with a utility +called "makedisk" or other ways to create such a file. -That will create an 8MB file. Other sizes ought to work, too, as long as they -are powers of two. +To tell the emulator that you want to use a certain file as a hardfile, use +the "-W" option, for example + uae -W 32:1:2:hardfile +The first three numbers are geometry information which tell the AmigaOS how +the file is organized. The first number (32) is the number of sectors per +track, the second number (1) is the number of heads or surfaces, the third +number (2) is the number of reserved blocks. If you use "normal" sizes +(powers of two, like 32MB), then you should be OK using the same numbers as +in the above example. Using different numbers can make sense if you transfer +the image of a real Amiga harddisk which uses a different geometry. The last +field of the argument to the "-W" option is the name of the harddisk file. + +If you are using Kickstart 1.3 or earlier, hardfiles can't currently be +mounted at boot time, and therefore you can't boot from it either. You will +have to boot either from a floppy disk image or from a filesystem (see below), +and mount the hardfile.device later. To do this, add the following to +"DEVS:mountlist": -The harddisk file is accessed by a resident ROM module that is built into the -emulator, called "hardfile.device". If it is present, this is always the first -harddisk device the emulator finds and will be named UAE0: - -If you are using Kickstart 1.3 or earlier, this can't currently be mounted at -boot time, and therefore you can't boot from it either. You will have to boot -either from a floppy disk image or from a filesystem (see below), and mount -the hardfile.device later. To do this, add the following to "DEVS:mountlist": - -UAE0: Device = hardfile.device +UAE0: Device = uaehf.device Unit = 0 Flags = 0 Surfaces = 1 @@ -304,24 +395,22 @@ UAE0: Device = hardfile.device BufMemType = 1 # +(You may need to adjust the values if you specified a different geometry, +and/or your hardfile has a different size than 8MB, and/or the hardfile is not +mounted as UAE0: because you mounted other harddisks before it.) + Then, type "mount UAE0:" (or put that command in your startup-sequence), and you should be able to access it. Don't forget to format it with the AmigaDOS format command: format drive uae0: name Mister_Willwink -The emulated Amiga usually crashes after the format command. I don't know -exactly why. - -b) Access native filesystems from the emulator. +b) Accessing native filesystems from the emulator This has some major advantages: - It has no problems with Kickstart 1.3 - It is more convenient. - - It is much faster. In fact, it can be dramatically faster even than a real - Amiga when reading directories. - -However, it currently does not work on some ports. + - It is much faster. If you specify the -M or -m command line arguments, you your native filesystem from the emulator. If you start UAE with @@ -332,7 +421,13 @@ you can access all the files in /usr/ami AmigaDOS volume "SOUND:". (DOS users: try "uae -m dh0:C:\" to mount your drive C:\ as DH0:) -You can mount up to 20 devices by giving this option multiple times. +You can mount up to 20 devices, either hardfiles or filesystems, by giving +either of these options multiple times. The volumes will be named UAE0:, +UAE1:, etc. UAE will boot from UAE0: if no diskfile is found for floppy +drive 0. +You can also use native filesystems to mount Amiga CD-ROMs, and you can +abuse the hardfile emulation to mount floppy disks: "uae -W 11:2:2:wb13.adf" +will mount the diskfile "wb13.adf". Tools / Transferring files @@ -378,6 +473,10 @@ to create a file called "kick.rom" in th to create a file called "df0.adf" in the RAM disk. These files are pretty big, 262144 or 524288 bytes for the ROM image and 901120 bytes for a disk image. + +NEVER run either of these programs from the Workbench. Always open a Shell +or CLI window to do this. + transdisk understands the following arguments: -d device unit: Use this device instead of DF0: @@ -442,6 +541,60 @@ be regarded as being unreadable. Use the emulator if you want to transfer files from FFS disks. +Picasso 96 graphics card emulation +================================== + +To use this feature, you must select 68020 emulation with a 32 bit address +space. You also need a Kickstart 3.x ROM. + +To specify how much graphic memory you want to emulate, use the "-U" option, +e.g. "-U 4" for 4 megabytes. Then, you need the Picasso 96 software which +is not distributed with UAE (There will be a link to the Picasso 96 home page +on the UAE Web page soon). Version 1.31 or higher is recommended. +Install the Picasso software, and make sure you enable the "uaegfx" driver. +After that is complete, reboot, and you should be able to select the new +modes from the ScreenModes program. + + +UAE SCSI device +=============== + +To enable SCSI support, use --enable-scsi-device when running configure. +The emulator provides a uaescsi.device. This device only supports +direct SCSI, which is sufficient to run applications like MakeCD. The +device does not support reading or writing with the normal Exec commands, +so you cannot mount filesystems on it right now. + +The unit numbers of the uaescsi.device follow the Amiga SCSI +conventions: unit number "xyz" maps to the lun y of target z on bus +x. Wide SCSI busses can have targets with numbers larger than 9. In +this case the uaescsi.device pretends that there is another SCSI +bus. To avoid confusion, all available SCSI targets are listed +together with their unit number when starting UAE. Devices cannot be +added while the emulator is running. Reseting it is not sufficient +either for technical reasons. + +The implementation of the uaescsi.device uses cdrecord's libscg as +interface to the native SCSI system. Many implementations of this +interface exist, although only the Linux implementation has been +incorporated into UAE at the moment. Using threads is strongly +recommended, because some SCSI commands can run for extended periods +of time and would block the whole emulation during this time without +threads. Use --enable-threads when starting configure. + +Depending on the hosts capabilities the uaescsi.device may be limited +compared to other Amiga SCSI devices. The Linux kernel by default only +allows 32KB of data per SCSI command and does not always perform SCSI +requests in parallel. + +Setting the chunk size in MakeCD to 30KB is already too much and +causes an IO error -4 (IOERR_BADLENGTH), because the setting is only +used as a guideline. You can work around this by setting the Tooltypes +BUFFER_CHUNK_XXX to 29. On a Pentium II 350MHz with Adaptec UW SCSI +controller on board on-the-fly copying was possible from a Philips +CDD2600 (SCSI) to a Yamaha CRW4416E (IDE) at 4x. + + The UAE_CONTROL program ======================= @@ -453,6 +606,15 @@ with Kick 2.0 and upwards. Copy these tw use for harddisk emulation. They should be self-explanatory. +The timehack +============ + +Another tool in the "amiga" subdirectory, timehack, synchronizes the +emulated Amiga's system time with the host's time every second. This +is useful when the emulation is not done in real-time or is suspended +completely. + + Quick overview of the debugger commands ======================================= @@ -470,6 +632,11 @@ t: Step one instructi z: Step through one instruction - useful for JSR, DBRA etc. f
: Step forward until PC ==
q: Quit the emulator. You don't want to use this command. +M: hunt for sound modules +S
: + save a sound module +C : Search for values like energy or lifes in games +W
: Write into Amiga memory Sound @@ -498,23 +665,27 @@ UAE. The new "official" UAE page is located at -http://www.schokola.de/~stepan/uae + http://www.freiburg.linux.de/~uae thanks to Stefan Reinauer who is now maintaining it. There, you will find links to other UAE pages. One which is especially useful is the "UAE Discussion Board" set up by Gustavo Goedert, the address is -http://tinos.pucrs.br/~ggoedert/uaeboard.html + http://amiga.nvg.org/uaeboard -Not quite as good as a newsgroup due to braindamaged reader software -(Ratscope), but still a blessing. +There is supposedly a newsgroup named "alt.emulators.amiga", but I don't get +it here. +The newsgroup "comp.sys.amiga.emulations" appears to be a proper place to +discuss Amiga emulation, but, strictly speaking, it is _not_ the right place. +More appropriate places are "comp.emulators.misc", and, of course, Gustavo's +discussion board. + +Petter Schau has written another Amiga emulator named "Fellow". It's mostly +written in x86 assembly and only runs under DOS. It's quite compatible and +generally faster than UAE. The Fellow homepage is at -I post announcements of new versions of UAE to the newsgroup -comp.emulators.misc. From time to time, I also upload new versions to the ftp -server sunsite.unc.edu. You will find them either in pub/Linux/Incoming or in -pub/Linux/system/Emulators. There are many sunsite mirrors throughout the -world, you should be able to find one near you. + http://www.geocities.com/SiliconValley/Peaks/5244/ Thanks & Acknowledgements @@ -530,18 +701,32 @@ Special thanks to: - Felix Bardos, whose HRM I "borrowed". - Hetz Ben Hamo mailed Peter Kittel from Commodore asking for permission to give Kick 1.3 away. Unfortunately, the response was negative :-( - - Bruno Coste, Ed Hanway, Alessandro Soldo and Marko Nippula provided - documentation + - Stefan Reinauer, for hosting the UAE Web page after the RWTH decided it's + too dangerous to let students have their own Web pages. + - Bruno Coste, Ed Hanway, Alessandro Soldo and Marko Nippula provided useful + documentation about the Amiga - Fabio Ciucci gets the "Best bug reports" award for his help with the blitter line emulation and other problem areas. - - Michael C. Battilana of Cloanto Software, for being so kind to send me two - CD-ROMs with lots of Amiga software. + - Michael C. Battilana and Cloanto Software, for all their support. + - Julian Eggebrecht of Factor 5, for providing several F5 games and a lot + of valuable input. + Factor 5 has made Katakis, one of their classic Amiga games, freely + available for download. There are still some good people left in the + world... + - Jens Schönfeld, inventor of the Catweasel controller, donated one + controller card. + - Jürgen Beck, maintainer of the Amiga emulation web site "Back to the + Roots" (http://back2roots.emuunlim.com) and everyone else who spends + time writing to software companies asking for permission to distribute + old Amiga games. + - all the software companies who allow distribution of their Amiga games on + sites like "Back to the Roots". Authors/Maintainers =================== -My address is: +My address is (please read the section "Before you send email" below): crux@pool.informatik.rwth-aachen.de @@ -554,47 +739,80 @@ Germany Email is more likely to be answered, and will definitely be answered much faster. Please avoid phonecalls if you can. +I won't distribute software, neither PD or commercial. Don't send me floppy +disks without at least asking first, you will not get them back. The following people have ported UAE to different platforms; you should direct system-specific questions to them: DOS port: - Gustavo Goedert - Available: http://tinos.pucrs.br/~ggoedert/dosuae.html + Gustavo Goedert + Available: http://www.netrunner.com.br/dosuae + Sourecode: available on the above Web page, most of it included in the + main source (with some delay) Mac port: - Ernesto Corvi - Available: info-mac ("every Mac user knows where that is"). A link to the - archive containing both PPC and 68k binaries is on my Web page. (info-mac - is mirrored by sunsite.informatik.rwth-aachen.de) + Originally: Ernesto Corvi + Currently: Arnaud Blanchard + Available: http://www.pratique.fr/~jblancha/ + Sourcecode: extra package available. Bits and pieces in the main source, + but nothing you could get to compile. BeBox port: Christian Bauer Available: The main UAE web page (use the Unix sources) + Sourcecode: Included in the main source. Should compile OK. + Notes: Christian says he doesn't have much time to spend on UAE, so if + anyone is willing to help maintain this port, please speak up. NextStep port: Ian Stephenson Available: The main UAE web page (use the Unix sources) + Sourcecode: Included in the main source. Should compile OK. + Notes: Ian says he doesn't have much time to spend on UAE, so if + anyone is willing to help maintain this port, please speak up. Amiga port: Originally: Olaf 'Olsen' Barthel Currently: Samuel Devulder Available: Not quite sure yet. Paul Liss' Web page has binaries. + Sourcecode: Included in the main source. Should compile OK. + +pOS port: + Samuel Devulder + Available: Not quite sure yet. + Sourcecode: Included in the main source. Should compile OK. XFree86/OS2 port: Krister Bergman - Available: + Available: http://www.kuai.se/~bellman/html/xfreeapps.html + Sourcecode: nothing special, apparently the Unix stuff compiles cleanly (?) +Win32 port: + Originally: Mathias Ortmann + Currently: Brian King + Available: http://www.codepoet.com/uae + Sourcecode: bits merged into the main source, the rest available from the + URL above. Still trying to merge more of it... + +Acorn RISC PC port: + Peter Teichmann + Available: http://www.wh1.tu-dresden.de/~sol/acorn.shtml + http://www.wh1.tu-dresden.de/~sol/acorne.shtml + Sourcecode: Some of it is included in the main source, but since Acorn's OS + apparently doesn't have decent file handling, you can't even + use the same source layout. Also needs lots of additional files. + Since I generally don't have the possibility to test or improve these ports, it is a good idea to contact their respective authors if you have questions. -Before you email... -=================== +Before you send email... +======================== Before you contact me with a problem that you have, make sure you have read _all_ of the above. Please read also the file "FAQ", which contains a lot of -helpful informationm, and the README file for your specific system. +helpful information, and the README file for your specific system. I can't answer _every_ question. If you have trouble understanding this README, either because you don't speak English very well or because you have @@ -608,6 +826,12 @@ try to help people who have questions, b Please don't ask for Kickstart ROM files or other copyrighted software. Don't _send_ me stuff like this either. If you want to send me something else which is big (>= 50K), ask me before or put it somewhere in Webspace. +If I get 3MB of screen shots or a core dump ("it doesn't work, it generates +this file"), I'm very likely to get extremely angry, I might complain to your +sysadmin, and you might lose your account. Think twice. + +I'm also going to be extremely annoyed if you send email in HTML format. +Fight this disease! Oh, and another thing: If I promise to do things (like implement new features), and forget about them, pester me. That happens occasionally, it's