Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Questions and Answers for AMIGA Workbench or Coffin

030 Library for MMULes CPUs

Vojin Vidanovic
(Needs Verification)
Posts 1916/ 1
23 Dec 2018 19:04


While reading Epsilons blog on install of 3.1.4 on A500 with ACA030 (an EC version) found link to this beast
EXTERNAL LINK 
I wonder would it aid to the 080, or these problems are already resolved?

Short: MuLib aware 680x0 libraries
Author: thorfdbg at alumni.tu-berlin.de (Thomas Richter)
Uploader: thorfdbg alumni tu-berlin de (Thomas Richter)
Type: util/sys
Version: 46.6.1
Requires: an 68060, 040, 030 or 68020.
Architecture: m68k-amigaos >= 2.0.4
Date: 2018-07-01
Download: EXTERNAL LINK - View contents
Readme: EXTERNAL LINK  Downloads: 6142
This relase provides a 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 at 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)


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
23 Dec 2018 19:06


Apollo 68080 does not need this.


Vojin Vidanovic
(Needs Verification)
Posts 1916/ 1
24 Dec 2018 07:08


Gunnar von Boehn wrote:

Apollo 68080 does not need this.

Good to know. However,usable news for 030+ accelerators owners.

posts 3