Annotation of uae/docs/README, revision 1.1.1.21

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

unix.superglobalmegacorp.com

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