Short:        MuLib based math speedup for 040/060
Author:       thor@math.tu-berlin.de (Thomas Richter)
Uploader:     thor math tu-berlin de (Thomas Richter)
Type:         util/boot
Version:      40.4
Requires:     util/libs/MMULib.lha, MuLib 68040/68060 lib
Architecture: m68k-amigaos >= 2.0.4

------------------------------------------------------------------------------

MuRedox is a MuLib based "on the fly" speedup patch for 68040
and 68060 based Amiga boards. The 68040 and 68060 do not implement
all instructions of the MC 68K family. The unimplemented instructions -
mainly FPU instructions - generate an exception and need to be 
emulated by the 68040 resp. 68060.library. This is the job of the so-
called "FPSP routines" (floating point support package) within the
CPU libraries. MuRedox detects these instructions as soon as they
generate the emulator exceptions, runs a "just-in-time" compiler
that generates a "stub replacement routine" for this specific
instruction and patches the replacement routine into the running
program. Hence, MuRedox replaces the overhead of the emulator
trap on the next use of the same instruction sequence.

Therefore, MuRedox requires:

- At least an 68040 or an 68060. A 68030 or below implements all
  instructions anyhow and does not require emulator traps at all.

- The mmu.library which is required to setup the special memory
  mapping.

- The fpsp.resource. This resource contains the program code required
  for most unimplemented math functions. This resource is made avail-
  available by the mmu.library-based 68040 and 68060.library. 

  Therefore, installation of the "MuLib" libraries is *required*.
  Please see the "MMULib.lha" package on Aminet how to install them.

------------------------------------------------------------------------------

Top reasons why not to use this program:

- It is a hack. MuRedox replaces program code on the fly, hoping that all
  will go well. This need not to be the case - especially commercial
  programs may keep a checksum over their code and may fail if their
  code gets altered. MuRedox will perform such code modifications.

- MuRedox will therefore not work for all programs - some 
  incompatibilities should be expected.

If you need faster programs, you should rather:

- Ask the vendor for a 68060 or 68040 specific release of the program
  that does not require the software emulated instructions of the 68040
  resp. 68060. Typically, these versions will run faster than a 
  68020/68030 version with MuRedox, anyhow.

- Remember: Programs are made fast by fast and smart algorithms, not by
  your favourite speedup-patch. MuRedox will give some speed impact,
  in realistic situations in the range of about 10%. Specific bench-
  marks may show more dramatic improvements, but they typically test
  situations that are untypical in a real-life situation. Motorola
  choose less frequently used instructions for software emulation in
  first place, hence improvements are typically marginal.

------------------------------------------------------------------------------

                         The THOR-Software Licence (v2, 24th June 1998)


This License applies to the computer programs known as "mmu.library", 
"MuRedox", "FPSPSnoop" and the corresponding documentation, known as
".readme" files. The "Program", below, refers to such program. The "Archive"
refers to the package of distribution, as prepared by the author of the
Program, Thomas Richter. Each licensee is addressed as "you".



The Program and the data in the archive are freely distributable
under the restrictions stated below, but are also Copyright (c)
Thomas Richter.

Distribution of the Program, the Archive and the data in the Archive by a
commercial organization without written permission from the author to any
third party is prohibited if any payment is made in connection with such
distribution, whether directly (as in payment for a copy of the Program) or
indirectly (as in payment for some service related to the Program, or
payment for some product or service that includes a copy of the Program
"without charge"; these are only examples, and not an exhaustive enumeration
of prohibited activities).


However, the following methods of distribution
involving payment shall not in and of themselves be a violation of this
restriction:


(i) Posting the Program on a public access information storage and
retrieval service for which a fee is received for retrieving information
(such as an on-line service), provided that the fee is not
content-dependent (i.e., the fee would be the same for retrieving the same
volume of information consisting of random data).


(ii) Distributing the Program on a CD-ROM, provided that

a) the Archive is reproduced entirely and verbatim on such CD-ROM, including
especially this licence agreement;

b) the CD-ROM is made available to the public for a nominal fee only,

c) a copy of the CD is made available to the author for free except for
shipment costs, and

d) provided further that all information on such CD-ROM is re-distributable
for non-commercial purposes without charge.


Redistribution of a modified version of the Archive, the Program or the
contents of the Archive is prohibited in any way, by any organization,
regardless whether commercial or non-commercial. Everything must be kept
together, in original and unmodified form.




Limitations.


THE PROGRAM IS PROVIDED TO YOU "AS IS", WITHOUT WARRANTY. THERE IS NO
WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD
THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.


IF YOU DO NOT ACCEPT THIS LICENCE, YOU MUST DELETE THE PROGRAM, THE ARCHIVE
AND ALL DATA OF THIS ARCHIVE FROM YOUR STORAGE SYSTEM. YOU ACCEPT THIS
LICENCE BY USING OR REDISTRIBUTING THE PROGRAM.


                                                        Thomas Richter
______________________________________________________________________________

So long,

	Thomas Richter (October 2009)
