This directory contains various fixes for CBM programs and third-party products, either recommended of the MuTools or for general system house- keeping. _____________________________________________________________________________ spatch This is a tool program to apply patches to system components. Details about its use are presented below. _____________________________________________________________________________ mathieeedoubbas.pch This is a fix for the mathieeedoubbas.library V38. The patch fixes the MathIEEE comparision that is broken in the library, negative numbers are sometimes ordered in the wrong way. This is no longer needed for the V45, Os 3.9, version of the library. How to apply the patch: Open a shell, then change the current directory to this directory by CD /Fixes where  is the directory where you unpacked the archive to. Then make a copy of the original version of the mathieeedoubbas.library, and keep it in a safe place. For example: copy LIBS:mathieeedoubbas.library to SYS:Updates Then enter the command spatch -oram:mathieeedoubbas.library -pmathieeedoubbas.pch libs:mathieeedoubbas.library This will build an updated version of the mathieeedoubbas.library in ram: Just copy it back to LIBS: by copy ram:mathieeedoubbas.library to LIBS: _____________________________________________________________________________ SetPatch.pch An experimental patch for SetPatch 43.6. If applied, SetPatch will try to open the 680x0.library instead of the 68040.library, regardless of the processor found. It's then the matter of the 680x0.library to detect the processor in use, and to load the appropriate processor driver library, might it be the 68040.library, the 68060.library or the 68030.library. To run the patched version of SetPatch, you *MUST* install the 680x0.library in LIBS: How to apply the patch: Open a shell, then change the current directory to this directory by CD /Fixes where  is the directory where you unpacked the archive to. Then make a copy of the original version of SetPatch, and keep it in a safe place. For example: copy C:SetPatch to SYS:Updates To apply the patch, enter spatch -oram:SetPatch -pSetPatch.pch C:SetPatch The updated edition of SetPatch will appear in RAM: Just copy it back to C:. copy ram:SetPatch to C: Don't forget to install the 680x0.library by: copy /680x0.library to LIBS: This patch comes also in additional variations: SetPatch_44.pch is an update for the SetPatch edition that came with the Os 3.5 package. It is applied in the same way except that "SetPatch.pch" has to be replaced by "SetPatch_44.pch" in the instructions above. SetPatch_44_6.pch is an upgrade for the 44.6 edition of SetPatch that was made available by the "BoingBag". SetPatch_44_16.pch is a similar update for the 44.16 edition that came with BoingBag 2. SetPatch_44_17.pch a similar patch for the 44.17 edition of SetPatch that comes with the Os 3.9 BB1. _____________________________________________________________________________ narrator.device.pch The narrator device stack is setup a bit too small, which might cause warnings if MuGuardianAngel is used. This patch increases the stack size of the narrator.device. How to apply the patch: Open a shell, then change the current directory to this directory by CD /Fixes where  is the directory where you unpacked the archive to. Then make a copy of the original version of the narrator.device, and keep it in a safe place. For example: copy DEVS:narrator.device to SYS:Updates To apply the patch, enter spatch -oram:narrator.device -pnarrator.device.pch DEVS:narrator.device The updated edition of SetPatch will appear in RAM: Just copy it back to DEVS:. copy ram:narrator.device to DEVS: _____________________________________________________________________________ FixCybAccess This fixes a flaw of the cybscsi.device and the z3scsi.device, which access a non-allocated chip-RAM location periodically on SCSI I/O. This program should be "run" in front of MuGuardianAngel to prevent warnings about this bogus access, i.e. a run <>NIL: FixCybAccess will do it. More details are in the FixCybAccess.readme. _____________________________________________________________________________ FixP5Scsi A fix similar to FixCybAccess that works by a different matter, still in experimental state. If you own a P5 scsi device that can be fixed by FixCybAccess, but not by FixP5Scsi, please let me know. The advantage of this program is that it does not cause any chip memory fragmentation, but it replaces the faulty instructions by hand. This program must then be started in the startup-sequence by FixP5Scsi _____________________________________________________________________________ PatchRAM A fix for two features of the RAM disk. First of all, it is also too low on stack and will generate warnings if MuGuardianAngel is active, for good reason. Second, the RAM disk shows always up as "100% full", which I regard as pretty annoying. To install this fix, run it *BEFORE* accessing the RAM disk for the first time. A good place for this program would be directly after SetPatch. This patch is longer available for the RAM disk that comes with Os 3.9. More details are in the PatchRAM.readme. _____________________________________________________________________________ ConsoleFix This repairs a a bug in the console.device supervisor task which appears on window resizing. Due to a programming fault, the device doesn't go thru all its windows correctly if one of its client windows is resized. Luckely, this doesn't seem to be fatal as long as the console.device gets enough stack space. This patch is no longer requires for Os 3.9 since it comes with a new console.device anyhow. Details about how this fix works are in the ConsoleFix.readme _____________________________________________________________________________ IPrefs.pch Increases the stack size of the 40.7 IPrefs to 8K making it more stable when using datatypes as background pictures. This will effectively fix the "Nearly out of stack" messages of IPrefs, too. This patch is no longer required for Os 3.5 and above. _____________________________________________________________________________ mfmdev.pch Increases the stack size of the Os 3.1 release of the mfm.device used by CrossDos, avoiding the "Nearly out of stack" messages MuGuardianAngel would show. This fix was provided by Gene Heskett, thanks Gene! ----------------------------------------------------------------------------- RamLibFix Fixes two bugs in the ramlib process. First of all, ramlib is too low on stack which might cause certain problems. The mmu.library works around this problem anyhow by swapping in its own stack, but this might be an issue for other libraries as well. Second, ramlib uses SIGF_SINGLE as message bit for its command message port, but the same bit has been used for semaphore signalling. Hence, some race conditions could result if semaphores are used in the library setup code. The bug has been reported by Eddy Carroll (SnoopDos). Thanks, Eddy! This program *ABSOLUTELY MUST* be copied into C:, and its name *MUST NOT BE CHANGED*, due to the way it works. This patch is longer required for Os 3.9. ----------------------------------------------------------------------------- ConFix And just another console related fix. This one increases the stack size of the native CON: and RAW: handlers. It is not required if you use a third party console replacement, e.g. ViNCEd. No longer required for Os 3.9 as SetPatch implies a similar patch. ----------------------------------------------------------------------------- FixLongMult Fixes a bug in UMult64 and SMult64 for the 68000, 68010 and 68060. Does nothing for 68020, 68030 and 68040. In fact, it "corrects" the 68000, 010, 060 versions to use the same "wrong" syntax than the 68020,030,040 versions. In fact, this "wrong" syntax is now the official syntax. *Without this fix, the DEV-Handler and other programs will not run correctly on the 68000, 68010 and possibly the 68060.* This fix is no longer required for Os 3.9. ------------------------------------------------------------------------------ BVisionPPC_28.pch This is a fix for the V28 BVisionPPC CyberGraphics 3.x driver which depends on some undocumented internals of the P5 68040 and 68060 libraries. To apply the patch, CD into this directory and enter the following commands: copy DEVS:Monitors/BVisionPPC to ThisIsASafePlace:BVisionPPC ^^^^^^^^^^^^^^^^^ Changed accordingly to your private backup device or directory. Then apply the patch: spatch -oram:BVisionPPC -pBVisionPPC_28.pch DEVS:Monitors/BVisionPPC The updated edition of the driver will appear in RAM: Just copy it back to DEVS:Monitors... copy ram:BVisionPPC to DEVS:Monitors This updated driver requires the new (>= 40.3) release of P5Init. Make sure you install the updated version of P5Init as well. ------------------------------------------------------------------------------ BVisionPPC_42r7.pch This is a fix for the 42.7 BVisionPPC CyberGraphics 4.x driver which depends on some undocumented internals of the P5 68040 and 68060 libraries. To apply the patch, CD into this directory and enter the following commands: copy DEVS:Monitors/BVisionPPC to ThisIsASafePlace:BVisionPPC ^^^^^^^^^^^^^^^^^ Changed accordingly to your private backup device or directory. Then apply the patch: spatch -oram:BVisionPPC -pBVisionPPC_42r7.pch DEVS:Monitors/BVisionPPC The updated edition of the driver will appear in RAM: Just copy it back to DEVS:Monitors... copy ram:BVisionPPC to DEVS:Monitors This updated driver requires the new (>= 40.3) release of P5Init. Make sure you install the updated version of P5Init as well. ------------------------------------------------------------------------------ P5Integrate In case you do not want to patch the BVision driver, or the patch cannot be applied, you could alternatively copy P5Integrate to C: and run it in the startup sequence: copy P5Integrate to C: Then edit the Startup-sequence with an editor of your choice: ed S:Startup-Sequence Locate the SetPatch command in the startup sequence, move the cursor below that line and press to open a new line. Within the new line, enter P5Integrate Then save the changes. Make sure that you really installed the latest P5Init or this command won't work. P5Integrate is IMHO the least pleasent way to make some obscure P5 wierdos available the the BVision driver. It has also to modify the library version number such that the revision information is no longer accurate. ------------------------------------------------------------------------------ SetFastAvec.pch Patches the P5 "SetFastAvec" program, release 1.4 to use the "p5emu.library" and hence to co-operate with the "P5Init" program of the MMU-Configuration. To apply the patch, enter spatch -oram:SetFastAVec -pSetFastAvec.pch C:SetFastAvec The updated edition of SetFastAvec will appear in RAM: Just copy it back to C:. Note: This requires to run "P5Init" in the MMU-Configuration file. ------------------------------------------------------------------------------ setmemmode.pch Patches the P5 "setmemmode" program, release 1.5 to use the "p5emu.library" and hence to co-operate with the "P5Init" program of the MMU-Configuration. To apply the patch, enter spatch -oram:setmemmode -psetmemmode.pch C:setmemmode The updated edition of setmemmode will appear in RAM: Just copy it back to C:. Note: This requires to run "P5Init" in the MMU-Configuration file. ------------------------------------------------------------------------------