MuMove4K NoMuMove4K _____________________________________________________________________________ The purpose of the MuMove4K program is to ensure that no low-range memory is made available for graphics operation, hence can be remapped with the MMU library without risk. MuMove4K should be run in the startup-sequence right *above* SetPatch. It will install itself and reboot the computer if it is not installed, and it will perform no operation if it is already resident. MuMove4K does not make use of the mmu.library itself, but it is required to allow MuFastZero to remap the exec.library and the expansion.library in the low-memory area. To do that, MuMove4K builds its own memory pool for the low-memory region and adds it with lowest priority to the memory system list. The memory attributes mark it as PRIVATE chip memory. As long as tasks allocate memory correctly with the MEMF_PUBLIC flag set, this pool will remain untouched. Since parts of the pool are relocated by MuFastZero, it will no longer remain CHIP memory afterwards. The corresponding attribute flag will therefore be cleared by MuFastZero. Unfortunately, I can't set the default memory attributes to non-chip in first place because the 68040/68060 library will then fail to construct the MMU tables correctly. Due to the way how MuMove4K works, it is incompatble to the ShapeShifter. This is neither the fault of the ShapeShifter, nor that of MuMove4K; it is more or less due to how the MacOs is constructed, requiring absolute addresses in the low-memory area (yuck!). To remove MuMove4K savely, you should run NoMuMove4K in front of PrepareEmul. It will reboot the computer, and remove the MuMove4K low-memory pool. _____________________________________________________________________________ Release 40.2: MuMove4K moves now actually 32K instead of 4K. This ensures first that the low memory remains aligned even in worst case, for a 68030 or 68851 with 32K pages, and that a possible future Oxypatcher utility might make use of the additional 32K of low memory, for example to use short absolute sub- routine calls.