Annotation of uae/README, revision 1.1.1.2

1.1.1.2 ! root        1: This is version 0.6.0 of UAE, the Un*x Amiga Emulator.
1.1       root        2: 
1.1.1.2 ! root        3: 1. <drivel.h>
1.1       root        4: 
1.1.1.2 ! root        5: Copyright 1995, 1996 Bernd Schmidt & contributors (see below). This program is
        !             6: freeware.  You may do whatever you want with it for personal use.
        !             7: Permission is granted to redistribute this program free of charge, provided it 
        !             8: is distributed in the full archive with unmodified contents. No profit beyond 
        !             9: the price of the media on which it is distributed is made. Exception to the 
        !            10: last rule: It may be included on freeware/shareware collections on CD-ROM.
1.1       root       11: There are no warranties of any kind for this program. If you use this program,
1.1.1.2 ! root       12: you do so at your own risk. The authors are not responsible for any damages 
1.1       root       13: that might result from using this program.
                     14: 
1.1.1.2 ! root       15: 2. Overview
1.1       root       16: 
1.1.1.2 ! root       17: UAE emulates the hardware of an A500 with 2MB chip and a variable amount of
        !            18: fast memory. Up to 11.8MB RAM are supported. It works with all Kickstart ROM
        !            19: versions, provided they are not compiled for the 68020. It supports some (one,
        !            20: to be precise) ECS features apart from nearly all the functionality of an OCS
        !            21: chipset.
        !            22: 
        !            23: UAE was developed for Unixoid systems. Meanwhile, it has been ported to the
        !            24: Mac, DOS, the BeBox, NextStep and AA Amigas (it can't quite run itself yet).
        !            25: The Mac and DOS versions are distributed with binaries and a seperate README
        !            26: file that you should read after you have finished this document. The other
        !            27: versions must be compiled from the source code.
        !            28: 
        !            29: What UAE does not (yet) emulate is software. To use UAE, you need a Kickstart 
        !            30: ROM image as well as any other software you want to run, e.g. a Workbench 
        !            31: disk. Both are copyrighted, and I can't include them. Don't ask me to send 
        !            32: them to you.
        !            33: Since the PC floppy controller can't read Amiga disks (yes, that's a fact), 
        !            34: floppy access has to be emulated differently: Floppies are emulated by means 
        !            35: of disk files that contain a raw image of the floppy disk you want to emulate.
        !            36: Read the section "tools" below for information how to create ROM images and 
        !            37: disk files.
        !            38: You can also emulate a harddisk. UAE can mount native filesystems as
        !            39: harddrives, so once you have booted it up, you can access all your files on
        !            40: the harddisk. It is currently impossible to boot from the emulated harddisk.
        !            41: I don't have a clue why.
        !            42: 
        !            43: I am developing UAE using Linux. Only if you are running Linux can you be 
        !            44: reasonably sure that all versions of UAE will work for you. On other Unix 
        !            45: systems, you may encounter problems from time to time. I can make no 
        !            46: guarantees about the NextStep and BeBox versions, these are very recent ports
        !            47: and will probably need some more time before they compile/run reliably.
        !            48: 
        !            49: These are the requirements for getting the Unix version to run:
        !            50:   - X11, or SVGAlib if you are using Linux.
        !            51:   - an ANSI C compiler. GCC is _strongly_ recommended.
        !            52:   - Optionally, tcl7.4/tk4.0
        !            53: 
        !            54: Note: some Linux installations (usually Slackware) are broken. If you get
        !            55: linker errors ("final link failed: bad value"), you need to upgrade the 
        !            56: binutils package that you can find on sunsite.unc.edu:/pub/Linux/GCC
        !            57: Before installing anything from that directory, read the corresponding
        !            58: release.* files.
        !            59: You'll get better performance if you are using an ELF system.
        !            60: 
        !            61: On Linux, 8MB are sufficient to run UAE, although startup will be much faster
        !            62: if you have some additional memory. The DOS version also works with 8MB, but 
        !            63: startup is slow there too. I have not tried the other ports, it may well be 
        !            64: that other OS's are better at wasting memory. At least 16MB are recommended.
        !            65: 
        !            66: This section is just what it says: an overview. Please read _all_ of this
        !            67: file, especially if you have problems. Please read also the file "FAQ" which
        !            68: contains some Frequently Asked Questions (and even the answers!)
1.1       root       69: 
1.1.1.2 ! root       70: 3. Installation
1.1       root       71: 
                     72: To build UAE, first unpack it to an appropriate directory (e.g. /usr/src/uae
1.1.1.2 ! root       73: on a Linux system). After that, you will have to edit the file config.h to set
        !            74: some configuration options. Then, you should give the command "configure". 
        !            75: This script will determine what type of system you are using. It will then
        !            76: create an appropriate Makefile. Type "make" if configure exited successfully
        !            77: to build UAE.
        !            78: If you are running Linux, you can say "configure --without-x" as an 
        !            79: alternative. If you do this, UAE will be configured to use the SVGA library.
        !            80: If you use SVGAlib, be warned that SVGAlib is not too stable and using it is 
        !            81: inherently a little dangerous, you might want to have a way to log in from a 
        !            82: remote terminal if things go horribly wrong. If you are very unfortunate, you 
        !            83: might lock up your machine otherwise.
        !            84: If you have a BeBox, you should not run configure. Instead, compile UAE by
        !            85: doing "make -f Makefile.Be".
        !            86: 
        !            87: If you configure UAE for building the X11 version (which is the default if you
        !            88: simply say "configure"), the configure script will try to find the program
        !            89: "wish4.0" in the path. This program is installed if you have Tk 4.0. If it is
        !            90: found, the X11 version will use a graphical user interface that enables you to
        !            91: switch diskfiles.
        !            92: 
        !            93: The compilation may take a while, especially for the cpu*.c files. There might
        !            94: be some warnings, ignore these. It may also take a lot of memory. You should 
        !            95: have at least 8MB physical RAM to compile this, plus maybe 10MB swap and 9MB
        !            96: filesystem space.
        !            97: 
1.1       root       98: After compilation, you'll need to install the ROM image. This must have a size
1.1.1.2 ! root       99: of exactly 512K (if you only have a 256K image of a 1.x Kickstart, that should 
        !           100: work, too) and should be an image of the addresses 0xF80000-0xFFFFFF on
        !           101: your Amiga system. The file must be called kick.rom to be recognized. Please
        !           102: read the next section on how to transfer files from your Amiga to your PC.
        !           103: 
        !           104: You also need to install a disk image file. This must be called df0.adf (adf =
        !           105: Amiga Disk File), and should be a raw image of the data on the floppy disk: 
        !           106: 11x2x80 sectors == 901120 bytes.
        !           107: Please try running UAE without a diskfile first. If everything went O.K., the
        !           108: emulator should show the Kickstart logo (don't be too impatient, this will
        !           109: take a while on slow machines).
        !           110: 
        !           111: If you don't have a Kickstart file, you may still be able to boot some games
        !           112: and demos. The emulator includes some primitive bootstrap code that will try
        !           113: to read and execute the bootblock of the diskfile you are using, and if that
        !           114: bootblock only uses the one or two Kickstart functions that are supported by 
        !           115: the "replacement Kickstart", your program will boot. Don't expect too much, 
        !           116: though.
        !           117: 
        !           118: 4. Invoking UAE
        !           119: 
        !           120: After building the program, you should have an executable called "uae". You
        !           121: can simply execute it, but you can also optionally give it one of the following
        !           122: parameters:
        !           123: 
        !           124:  -h      : Give help on the options.
        !           125:  -f rate : Sets the frame rate
        !           126:  -D      : Don't start the emulator at once, use the built-in debugger.
        !           127:  -a      : Don't mount the harddisk file automatically. (Useful only for
        !           128:            testing purposes)
        !           129:  -l lang : Set the keyboard language at run-time. Currently, the following
        !           130:            values can be used for lang: "us" for U.S. keyboard (default), "se"
        !           131:           for swedish, "fr" for french, "it" for italian  or "de" for german 
        !           132:           keyboard.
        !           133:  -s      : Emulate slow memory at 0xC00000. Some demos/games need this.
        !           134:  -F n    : Emulate n megabytes of fast memory as an expansion board.
        !           135:  -S      : If you set the LINUX_SOUND option in config.h, you can turn off
        !           136:            sound output with this switch.
        !           137:  -M VOLUME:path
        !           138:  -m VOLUME:path
        !           139:            mount the unix file system at path as an Amiga filesystem with
        !           140:           volume name "VOLUME:". For example, "-M sound:/usr/amiga/modules"
        !           141:           If you use -M instead of -m, the volume will be read only.
        !           142:           See below.
        !           143:  -0 file : Try to use file as diskfile for drive 0 instead of df0.adf.
        !           144:            -1 file, -2 file and -3 also exist for the other drives.
        !           145:  -r file : Use file instead of kick.rom as Kickstart image.
        !           146:  -J      : Use the numeric pad for joystick emulation (with 5 as fire button).
        !           147:            This will turn off real joystick support. It's no good for action
        !           148:           games, but may be useful for other games.
        !           149:  -d mode : Select a graphical resolution for UAE to run in.
        !           150:  -H      : Select a color mode to use.
        !           151:  -p cmd  : Enable printing. See below.
        !           152:  -x      : General-purpose option. For the X version, it makes the X cursor 
        !           153:            visible (recommended). For the SVGAlib version, it turns off
        !           154:           linear framebuffer support (sometimes, with -d 4, SVGAlib is
        !           155:           faster without linear framebuffer).
        !           156: 
        !           157: Resolutions: 0 (320x200); 1 (320x240); 2 (320x400); 3 (800x600, default);
        !           158:              4 (800x600 with correct aspect).
        !           159: Color modes: 0 (256 colors, default); 1 (32768 colors); 2 (65536 colors)
        !           160: UAE may choose to ignore and/or refuse some combinations of these two
        !           161: parameters. The low-resolution modes are mostly meant for SVGAlib and the DOS
        !           162: version. Some of these modes may also fail to work on your system.
        !           163: 
        !           164: The low-resolution (320x???) modes should help some of the proud owners of new
        !           165: P6 systems with a broken chipset and an exciting PCI performance of 4MB/s :-)
        !           166: But if SVGAlib supports linear mode for your graphics card, 800x600 might in
        !           167: fact be faster than 320x200 (it's like this on my system). Experiment a
        !           168: little.
        !           169: 
        !           170: You can also put these options into a configuration file in your home
        !           171: directory. Simply create ~/.uaerc and put some of these options in it. On
        !           172: non-Unix systems, the file is called uae.rc and should be located in the
        !           173: current directory.
        !           174: 
        !           175: If you use SVGAlib, the only way to leave the program is pressing F12.
        !           176: 
        !           177: 5. Harddisk emulation
        !           178: 
        !           179: Using diskfiles is awkward. There are two ways how you can use larger amounts 
        !           180: of data with UAE. 
        !           181: 
        !           182: a) Harddisk files.
        !           183: You can create a harddisk file with
        !           184: 
        !           185:   dd if=/dev/zero of=hardfile bs=512 count=16384
        !           186:   
        !           187: Currently, the size is fixed (8MB). Note that this method does not work with
        !           188: Kickstart versions <=1.3 for some reason.
1.1       root      189: 
1.1.1.2 ! root      190: The harddisk file is accessed by a resident ROM module that is built into the
        !           191: emulator. It's called "uae.device", the DOS name for the harddisk is "uae0:".
        !           192: You have to format it before use (from AmigaDOS).
        !           193: 
        !           194: I don't think I will support this in the future. If I get no emails from users
        !           195: protesting "I put all my files on it" (I got some already, so it's going to
        !           196: stay a while), I'll remove the code again, because you can
        !           197: 
        !           198: b) Access native filesystems from the emulator.
        !           199: 
        !           200: This has some major advantages:
        !           201:  - It also works with Kickstart 1.3.
        !           202:  - It is more convenient.
        !           203:  - It is much faster. In fact, it can be dramatically faster even than a real
        !           204:    Amiga when reading directories.
        !           205: 
        !           206: However, it currently does not work on some ports.
        !           207: 
        !           208: If you specify the -M or -m command line arguments, you can use files on your
        !           209: Unix filesystem from the emulator. If you start UAE with
        !           210: 
        !           211:   uae -m sound:/usr/amiga/modules
        !           212: 
        !           213: you can access all the files in /usr/amiga/modules by reading from the
        !           214: AmigaDOS volume "SOUND:".
        !           215: If you want to execute files, they need to have the x permission bit set.
        !           216: That can be done in Unix by "chmod +x file" or in AmigaDOS with 
        !           217: "protect file rwed".
        !           218: In theory, you can specify this option multiple times. In practice, this
        !           219: doesn't work with Kickstart 1.3, but will probably work with newer Kickstarts.
        !           220: 
        !           221: 6. Tools / Transferring files
        !           222: 
        !           223: In the "amiga" subdirectory you'll find two small tools that you can use to
        !           224: transfer software from the Amiga to the PC. These are called transrom and
        !           225: transdisk. transrom will dump the contents of your Kickstart ROM, and
        !           226: transdisk will dump an image of the floppy in drive DF0:. Both programs write
        !           227: to the standard output, so you want to redirect that. Do
        !           228: 
        !           229:    transrom >ram:kick.rom
        !           230:    
        !           231: to create a file called "kick.rom" in the RAM disk, and
        !           232: 
        !           233:    transdisk >ram:df0.adf
        !           234:    
        !           235: to create a file called "df0.adf" in the RAM disk. These files are pretty
        !           236: big, 524288 bytes for the ROM image and 901120 bytes for a disk image. If you
        !           237: are short on RAM (less than 1.5MB) you may want to transfer those files 
        !           238: directly to a serial link between the Amiga and your Un*x system (works
        !           239: without a problem for me).
        !           240: transdisk understands the following arguments:
        !           241: 
        !           242:     -d device unit: Use this device instead of DF0:
        !           243:     -s n: Begin transfer at track n (default: 0)
        !           244:     -e n: End transfer at track n (default: 79)
        !           245: 
        !           246: So, to transfer the disk in drive DF1:, you'd give the command:
        !           247: 
        !           248:   transdisk >ram:df1.adf -d trackdisk 1
        !           249: 
        !           250: If you are low on disk space, you can split up the transfer into multiple
        !           251: parts with the "-s" and "-e" parameters. To transfer the disk in four parts,
        !           252: you'd use the following commands:
        !           253:   
        !           254:   transdisk >ram:df0_1.adf -s 0 -e 19
        !           255:   transdisk >ram:df0_2.adf -s 20 -e 39
        !           256:   transdisk >ram:df0_3.adf -s 40 -e 59
        !           257:   transdisk >ram:df0_4.adf -s 60 -e 79
        !           258: 
        !           259: Of course, you should save each of the four files from the RAM disk to
        !           260: another place before transferring the next one with transdisk to make space
        !           261: in your RAM disk. If you have all the files on your PC, you can do the
        !           262: following under Unix:
        !           263:   cat df0_1.adf df0_2.adf df0_3.adf df0_4.adf >df0.adf
        !           264: or, under DOS:
        !           265:   COPY /B df0_1.adf df0_2.adf df0_3.adf df0_4.adf df0.adf
        !           266: I don't know how to do that with other operating systems (Mac...).
        !           267: 
        !           268: The current transdisk can only read the standard AmigaDOS format. You will 
        !           269: not be able to transfer copy protected disks. Although the current emulator
        !           270: version can handle a second type of disk file, and I have successfully
        !           271: transferred and run a copy protected game (Turrican I) on the emulator, this
        !           272: support is preliminary, and the disk file format for non-standard disk formats
        !           273: will probably change in future versions. If you also have Turrican and want 
        !           274: the program I used to transfer the disk, mail me.
        !           275: 
        !           276: If you have connected your Amiga to your Linux box with a serial cable, you
        !           277: can do
        !           278: 
        !           279:   transdisk >SER: <options>
        !           280:   
        !           281: on the Amiga to copy the data directly to the serial port. Before that, do
        !           282: 
        !           283:   cat /dev/ttyS1 >df0.adf
        !           284:   
        !           285: on your Linux box to receive the data (it may be ttyS0 on your system, or
        !           286: another number, depending on which serial port you are using). When the Amiga
        !           287: is done transferring, hit ^C on the PC to interrupt the cat program. To make
        !           288: this work, you need to use the same settings for the serial port on both
        !           289: sides. This is done with the Preferences program on the Amiga (this is split
        !           290: into several programs from Kickstart 2.0 upwards, you'll find a program called
        !           291: "serial" in the Prefs directory of your Workbench disk). On the Linux side,
        !           292: use the stty program. "man stty" will give you the manpage describing how to
        !           293: use it.
        !           294: To be on the safe side, set the speed to a low value (2400 baud). Turn off
        !           295: Xon/Xoff, but enable RTS/CTS.
        !           296: I use the following command myself:
        !           297: 
        !           298:   stty 19200 parenb -cstopb cread clocal crtscts -istrip -inlcr -icrnl -opost
        !           299:     -onlcr -parodd -isig -icanon -iexten raw cs8 </dev/ttyS1
        !           300: 
        !           301: which is probably overkill, but you never know :)
        !           302: This maps to 19200 baud, 8 bits, even parity, one stop bit, which you have to
        !           303: set in the Amiga preferences.
        !           304: I have no idea how to use a serial cable with DOS. I tried the obvious way
        !           305: "COPY SER: file" one day, and it did not seem to work. I'm sorry, but I can't
        !           306: help here.
        !           307: 
        !           308: If you don't have a serial cable, you need to use a tool like CrossDOS,
        !           309: which is bundled with newer versions of the Amiga OS, or messydisk, which is
        !           310: PD and can be found on an old Fish disk. These will allow you to write MS-DOG
        !           311: formatted disks on the Amiga.
        !           312: 
        !           313: If you transfer commercial software, you must not distribute the resulting
        !           314: image files, since that would be a violation of copyright law. The Kickstart
        !           315: ROM has to be considered commercial software. You may only use the Kickstart
        !           316: from your own Amiga, and you may not distribute Kickstart ROM files.
        !           317: Please read the license that came with your software for details.
        !           318: 
        !           319: If you have a disk image file, and you want to retrieve the files from it, you
        !           320: can use the "readdisk" tool. It is automatically built by "make". If you have
        !           321: a disk image of a disk called "Workbench1.3D" as df0.adf, and you do
        !           322:    readdisk df0.adf
        !           323: the whole directory structure of the disk image will be stored in a newly
        !           324: created subdirectory called "Workbench1.3D". You can optionally give a second
        !           325: parameter to specify a directory where to create the output other than the
        !           326: current directory.
        !           327: readdisk only understands about the OFS right now. FFS disks will cheerfully
        !           328: be regarded as being unreadable. Use the unixfs.device from within the
        !           329: emulator if you want to transfer files from FFS disks.
        !           330: 
        !           331: 7. Printing
        !           332: 
        !           333: With the "-p cmd" option, you can specify a command that will be run when the
        !           334: emulator detects that the Amiga accesses the parallel port. Usually, you will
        !           335: want to say "-p lpr" to pass the output over to lpd. It's unclear how this
        !           336: will work on non-Unix systems, DOS users can try "-p LPT1:" or something like
        !           337: this.
        !           338: For best results, select the PostScript driver in the Amiga Preferences. This
        !           339: is only available in newer Kickstarts. Printing is not going to work with
        !           340: another printer driver.
        !           341: None of this is guaranteed to work yet, and I have not tried any of this yet.
        !           342: 
        !           343: 8. Quick overview of the debugger commands
        !           344: 
        !           345: If you use the X Windows version, you can press ^C at any time to enter the
        !           346: built-in MC68000 debugger.
        !           347: Each debugger command consists of a single letter and occasionally some
        !           348: parameters.
        !           349: 
        !           350: g:                    Start execution at the current address. 
        !           351: c:                    Dump state of the CIA and custom chips.
        !           352: r:                    Dump state of the CPU
        !           353: m <address> <lines>:  Memory dump starting at <address>
        !           354: d <address> <lines>:  Disassembly starting at <address>
        !           355: t:                    Step one instruction
        !           356: z:                    Step through one instruction - useful for JSR, DBRA etc.
        !           357: f <address>:          Step forward until PC == <address>
        !           358: q:                    Quit the emulator. You don't want to use this command.
        !           359: 
        !           360: (^C has no effect if UAE is compiled for SVGAlib - use F12 to exit)
        !           361: 
        !           362: 9. Input devices
        !           363: 
        !           364: Mouse, keyboard and joystick can be used in a straightforward way. A couple of
        !           365: keyboard languages are supported with the "-l" commandline option. If you have
        !           366: a different keyboard, patches to make UAE work with it are appreciated.
        !           367: The X version of the emulator will try to keep the Amiga mouse pointer at the
        !           368: same location as the X mouse pointer. You can turn off this mode if it does
        !           369: not work with your program by pressing F12. This is needed (for example) for
        !           370: Lemmings and the Magnetic Scrolls adventures, which don't use sprite 0 as a
        !           371: mouse pointer. Other versions (SVGAlib, DOS, possibly others) do not have this 
        !           372: problem.
        !           373: If you use Linux and have the joystick driver kernel module, "configure"
        !           374: should automatically enable support for it. UAE calibrates the joystick
        !           375: automatically. Turn it a few times on startup to get the calibration done. 
        !           376: 
        !           377: 10. Sound
        !           378: 
        !           379: If you define LINUX_SOUND in config.h, the emulator will use /dev/dsp to 
        !           380: output sound. It will try to set the output to 16bit/44100 Hz, but will fall
        !           381: back to 8bit/22050Hz if the sound card does not support this (I hope so, at 
        !           382: least. Can anyone try this?). If graphics output is enabled while sound is 
        !           383: output, the emulator will be much too slow on all current systems. The
        !           384: sound will not be continuous. Therefore, a hack to turn off screen updates is
        !           385: provided: Press ScrollLock to disable graphics, press it again to enable them 
        !           386: (note: for X, you'll have to press it twice each time).
        !           387: The LINUX_SOUND_SLOW_MACHINE option will steal cycles from the CPU emulator.
        !           388: The relative CPU speed will be reduced somewhat if this option is set. This may
        !           389: lead to incompatibilities. The system should not be heavily loaded (no blitter
        !           390: or disk activity) while sound is being played, or even this will be too slow.
        !           391: Only a subset of the Amiga sound hardware is emulated. Attached channels are
        !           392: not implemented, neither is CPU-driven output.
        !           393: 
        !           394: Currently, this implementation is good enough to play *Tracker modules and
        !           395: some game title melodies. It is fast enough (on a P90, without the
        !           396: LINUX_SOUND_SLOW_MACHINE option) to play modules using a Workbench player
        !           397: program if no other (Amiga) processes are active. 
        !           398: 
        !           399: On other Unix systems, the AF sound system may be available. You can configure
        !           400: UAE to use this, too, by changing some paths in the Makefile (I can't answer
        !           401: any questions about this, I never saw/used it).
        !           402: 
        !           403: 11. Speed
        !           404: 
        !           405: The Most Frequently Asked Question is: "Just how fast is it?", and this is
        !           406: also the most difficult one to answer. The easy way to answer is "It depends",
        !           407: but I'll try to do better. All timings I give here were measured on my
        !           408: machine, a P90 (using SVGAlib, with all the x86 assembly options turned on).
        !           409: The MC68000 emulation is more than twice as fast as a real A500. I measured
        !           410: this by letting PowerPacker try to compress itself (it already was compressed).
        !           411: It took UAE about 6 minutes, my A500 took about 15. If you set the frame rate 
        !           412: to a high value (i.e. leaving out many frames), the graphics speed does not 
        !           413: matter and you get about twice the speed of an A500. If you enable the smart
        !           414: update method in config.h, and if it works for your program (it works for 
        !           415: almost all programs using the Workbench) you also get about the same speed at 
        !           416: full frame rate.
        !           417: For games and demos, the CPU speed does not matter, but the average frame time
        !           418: is important. UAE can calculate this automatically. The SVGAlib version gives
        !           419: the number when you exit the emulator, to obtain the value with the X version
        !           420: you need to interrupt it and type "c" in the debugger. A real A500 has a
        !           421: constant frame time of 20ms (50 Hz).
        !           422: If you have a game/demo that has lots of blitter activity, many copper/sprite
        !           423: effects, dual playfields and scrolling, no one can help you. Fortunately, this
        !           424: case is extremely rare. Normal games that have a number of blitter objects,
        !           425: scrolling and maybe some sprites run at 1/3-1/4 the speed of an A500 in the 
        !           426: worst case, some run at 1/2 the speed. Lowering the frame rate helps
        !           427: enormously here, and at 1/5 frame rate, about everything runs somewhere
        !           428: between 50% and 100% the speed of an A500.
        !           429: This still isn't the full story (I bet you start to see why the question is
        !           430: hard to answer). A real A500 without fast memory gets slowed down to about
        !           431: half its speed in Hires 16 color mode. More bitplanes also slow UAE down, but
        !           432: not quite as much, so it can be several times faster than an A500 in that 
        !           433: mode.
        !           434: 
        !           435: 12. Bugs / Unimplemented features.
        !           436: 
        !           437: The sprite emulation is incomplete and buggy. Sprite collisions and sprite 
        !           438: priorities in dual playfield mode are not implemented yet. The serial port
        !           439: is unimplemented. Apart from that, UAE can do everything a real A500 can do
        !           440: (and more), but there may still be one or two buglets that make some programs
        !           441: fail (there seems to be a problem with the blitter in some demos).
        !           442: 
        !           443: 13. Thanks & Acknowledgements
        !           444: 
        !           445: Thanks to all who have written me so far with bugreports and success/failure
        !           446: reports when trying to run the emulator on various hardware with different
        !           447: Kickstart versions. A list of everyone who has contributed to the source code
        !           448: can be found in the CREDITS file (this was getting too big to keep it here).
        !           449: 
        !           450: Special thanks to:
        !           451:   - Jay Miner, Dale Luck, R.J. Mical and all the others who built the Amiga.
        !           452:   - Felix Bardos, whose HRM I "borrowed".
        !           453:   - Hetz Ben Hamo mailed Peter Kittel from Commodore asking for permission to
        !           454:     give Kick 1.3 away. Unfortunately, the response was negative :-(
        !           455:   - Bruno Coste, Ed Hanway, Alessandro Soldo and Marko Nippula provided 
        !           456:     documentation
        !           457: 
        !           458: 14. Ports
        !           459: 
        !           460: Apart from the "main" Unix version, several ports of UAE are ready/being
        !           461: developed.
        !           462: 
        !           463: Gustavo Goedert <[email protected]> has ported UAE to DOS using the
        !           464: DJGPP port of GCC. The binary is available on several ftp sites as well as on
        !           465: my Web site.
        !           466: 
        !           467: Ernesto Corvi <[email protected]> has ported UAE to the Apple
        !           468: Macintosh. He tells me it is available on Info-Mac, and that every Mac user
        !           469: should know where that is. A link to the archive containing both PPC and 68k
        !           470: binaries is on my Web page.
        !           471: 
        !           472: Christian Bauer <[email protected]> has ported UAE to the 
        !           473: BeBox.
        !           474: 
        !           475: Ian Stephenson <[email protected]> has ported UAE to NextStep.
        !           476: 
        !           477: Olaf 'Olsen' Barthel <[email protected]> has ported UAE to the Amiga. This
        !           478: port requires the AA chipset as well as Kickstart 3.0 or higher. CyberGraphX
        !           479: is supported. Please read the file "amiga.c" for information. To compile it,
        !           480: you need SAS/C and the 3.0 includes (they probably come with the compiler).
        !           481: 
        !           482: Since I generally don't have the possibility to test or improve these ports,
        !           483: it is a good idea to contact their respective authors if you have questions.
        !           484: 
        !           485: 15. Pointers
        !           486: 
        !           487: There are a few sites in the Internet that contain helpful information about
        !           488: UAE.
        !           489: 
        !           490: I have set up a WEB page for UAE. You will find interim versions, Linux
        !           491: binaries, diskfiles with Amiga software and other interesting stuff there.
        !           492: The address is
        !           493: 
        !           494: http://www-users.informatik.rwth-aachen.de/~crux/uae.html
        !           495: 
        !           496: There, you will find links to other UAE pages. I'll add these links to this
        !           497: document in the next version, but I don't have them here right now.
        !           498: 
        !           499: I post announcements of new versions of UAE to the newsgroup 
        !           500: comp.emulators.misc. From time to time, I also upload new versions to the ftp
        !           501: server sunsite.unc.edu. You will find them either in pub/Linux/Incoming or in
        !           502: pub/Linux/system/Emulators. There are many sunsite mirrors throughout the
        !           503: world, you should be able to find one near you.
        !           504: 
        !           505: 16. The author's address
        !           506: 
        !           507: Before you contact me with a problem that you have, make sure you have read
        !           508: _all_ of the above. Please read also the file "FAQ", which conains a lot of
        !           509: helpful information. In the future, I will probably no longer respond to
        !           510: questions that are already answered by any of these files.
1.1       root      511: 
                    512: [email protected]
                    513: 
                    514: or, via snailmail
                    515: 
                    516: Bernd Schmidt
                    517: Schlossweiherstrasse 14
                    518: 52072 Aachen
                    519: Germany
1.1.1.2 ! root      520: 
        !           521: Email is more likely to be answered, and will definitely be answered much
        !           522: faster.
        !           523: Please don't ask for Kickstart ROM files.

unix.superglobalmegacorp.com

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