Annotation of uae/docs/README, revision 1.1.1.11

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.