-----------------------------------------------------------------------------
Release 47.2
-------------
The 68040 and 68060.library now unload the floating point support part of
their code if they are run on a CPU without working FPU, i.e. on the
68EC040, 68LC040, 68EC060 and 68LC060. This saves approximately 48K of
memory. The emulation of the 64bit division algorithm of the 68060.library
improved a tiny little bit in case the divisor is larger than 16 bits.
This release also includes the latest version of the mmu.library (47.5)
which did not change from the last Aminet release.
Release 46.7
-------------
The 68040 and 68060 no longer generate a visible warning in case they are
run on the wrong CPU (i.e. the 68060.library on a 68040 or the 68040.library
on a 68060) provided a recent exec.library is detected. It is assumed that
on such newer systems, a sane version of SetPatch is present that no longer
attempts to load the wrong library. This avoids problems with programs that
attempt to open the CPU library manually, though from the wrong processor.
Note that there is absolutely no reason why an application should
attempt to open them - the public interface towards the CPU libraries
is in the 680x0.library.
This release also includes the latest version of the mmu.library (required
for the processor libraries). In case the mmu.library was run on top of an EC
processor, the IOMMU functions CachePreDMA() and CachePostDMA() run into an
alert as the DMA translation tables are not prepared. They now implement
a 1:1 logical to physical mapping in the absence of a MMU.
Release 46.6.2
--------------
This release includes a new version of the 68030.library which supports
the A3000 SuperKickstart feature, along with the 46.20 mmu.library.
A3000 owners that run from SuperKickstart should upgrade their 68030.library
to the version included in this archive.
Also, ACAInit has been updated; as a bug in the ACA card identification has
been found, this release may hopefully cure some incompatibilities with the
68030-based ACA products.
-----------------------------------------------------------------------------
This relase providesa new version of the 68030.library which includes
now better support for the 68EC030 processors, especially on GVP
boards. For these boards, caching needs to be disabled for the
entire lower 16MB. Typically, the MMU and the mmu.library do that, but
not if an EC processor lacking a MMU is in the system.
-----------------------------------------------------------------------------
This release provides a new version of the 68060.library which includes
now a more careful test for the I4 bug of the 68060. Apparently, the
test used before could fail to detect the erratum on revision 5
68060 processors.
This distribution also includes a new (still experimental) MMU setup
helper "ACAInit" that opens the MMU pages for some older ACA (icomp)
cards such that ACATune will hopefully continue to operate on them.
To use ACAInit, copy it to LIBS:mmu, and add this command at the
end of ENVARC:MMU-Configuration. Feedback welcome.
-----------------------------------------------------------------------------
Only the 68030.library changed this time by keeping the data burst
disabled. Data burst does not seem to provide much of an improvement
and even seems to cause problems for some boards.
-----------------------------------------------------------------------------
Release 46.4 does not change the 68040 and 68060 libraries at all, only the
68020 and 68030 libraries have been updated. The only change is that both
libraries enable caching and (when applicable) bursting for the instruction
and (if available) the data cache. Note that the 68040 and 68060 library
do both since ever, i.e. they cache and burst data and instruction. This
means in particular that the CPU command is no longer required to optimize
the settings for 68020 and 68030 processors.
No other functional changes have been made.
-----------------------------------------------------------------------------
Release 46.3: Yes, this is really re-release of the 680x0 libraries for the
MMU project, one that fixes one unfortunate, but serious left-over bug for
single-precision operands of unimplemented opcodes.
Note also that while the above email stays valid for probably a short time,
you might want to contact me at thorfdbg@alumni.tu-berlin.de in the future.
-----------------------------------------------------------------------------
This archive replaces the 68040Lib archive of former releases. It contains
all processor libraries for the complete motorola CISC family, from the
68020 up to the 68060.
-----------------------------------------------------------------------------
These are processor libraries that make use of the MMU.library to setup
its MMU tree. Hence, the setup logic of this library has been streamlined
as the complete MMU setup logic has been removed. Since it does not build
an MMU tree itself, it will save approximately 200K of memory for an
initial MMU tree which would be wasted otherwise. Moreover, this library makes
use of the latest FPSP motorola FPU emulation core for both the 68040.library
resp. 68060.library, and has been carefully hand-optimized. It does not include
questionable patches, but is still configurable thru the mmu.library
"MMU-Configuration" file. All libraries within this archive are VMM aware
and will emulate non-implemented instructions even if placed in virtual memory.
Special care must be taken to use this library on P5 hardware which is,
unfortunately, not always auto-configuring. A setup script is included in
the archive.
This library *IS NOT* a must if you want to use the mmu.library. It is an
option which was written to reduce memory usage.
A new 680x0.library and a patch for SetPatch is included to get rid of
the 68040 dummy libraries which are still in use.
The libraries provide LVOs to control the FPU exception processing, and a shell
tool, named "FPU", to configure it.
Moreover, the 68040.library and 68060.library add a new resource to your
system, the "fpsp.resource". This resource provides the emulation routines for
unimplemented instructions of the 68040 and the 68060. It is installed by the
libraries on startup and made use of as soon as the 68040/060 detects an FPU
instruction it can't handle itself. It is also used by an external tool,
FastIEEE, which redirects the mathieeee...library vectors to this resource
which hence avoids an unecessery emulation exception the libs would have to
handle otherwise. The math libraries included in Os 3.9 will detect and use
this resource themselves, so FastIEEE is not required for the latest Os
release.
Note that a higher version number does not always mean better code...
------------------------------------------------------------------------------
This library is part of the MMULib distribution. To find out more about the
mmu.library and its goals, download util/libs/MMULib.lha.
------------------------------------------------------------------------------
Quick installation notes:
- Copy LIBS/mmu.library to LIBS:
- Copy LIBS/680#?0.library to LIBS:
- Optionally: Read the MMU.guide how to patch SetPatch and how
to install the 680x0.library.
- Copy ENVARC/MMU-Configuration to ENVARC: (not essential)
------------------------------------------------------------------------------
The THOR-Software Licence (v3, January 2nd 2021)
This License applies to the computer programs known as the "mmu.library",
the "680x0.library" and the "68040.library V40" 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) Distributing the Program on a physical data carrier (e.g. CD-ROM,
DVD, USB-Stick, Disk...) provided that:
a) the Archive is reproduced entirely and verbatim on such data carrier,
including especially this licence agreement;
b) the data carrier is made available to the public for a nominal
fee only, i.e. for a fee that covers the costs of the data carrier,
and shipment of the data carrier;
c) a data carrier with the Program installed is made available to the
author for free except for shipment costs, and
d) provided further that all information on said data carrier is
redistributable 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 NONINFRINGEMENT 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 (July 2022)
|