Short: Patch RAM to show right size & more Author: thor@einstein.math.tu-berlin.de (Thomas Richter) Uploader: thor einstein math tu-berlin de (Thomas Richter) Type: util/sys Version: 1.11 Requires: OS 2.04 or better. Architecture: m68k-amigaos This file patches the RAM disk to show the real size occupied - its no longer 100% full. Additionally, large blocks of memory for the RAM are allocated backwards, to reduce memory defragmentation. ____________________________________________________________________________ Changes made in 1.11: - Added command line options, see below. - Added a different patching mechanism on request. Changes made in 1.10: - Fixed a bug that actually broke the reverse memory allocation feature. Sigh. Changes made in 1.09: - PatchRAM replaces no longer the AllocVec() function completely. Thus, the patch might be slightly (almost unnoticably) slower, but is compatible to AROS. Thanks to Jörg Strohmeier for the report. Changes made in 1.08: - Streamlined the code a bit. - PatchRAM can now be run anywhere in your startup sequence. It loads the RAM disk in case it is not available. ____________________________________________________________________________ The THOR-Software Licence This License applies to the computer programs known as "PatchRAM". The "Program", below, refers to such program. The programs and files in this distribution are freely distributable under the restrictions stated below, but are also Copyright (c) Thomas Richter. Distribution of the Program 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 the files containing the Program are reproduced entirely and verbatim on such CD-ROM, and provided further that all information on such CD-ROM be redistributable for non-commercial purposes without charge. Everything in this distribution 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 ALL FILES CONTAINED IN THIS ARCHIVE. _____________________________________________________________________________ Synopsis: PatchRAM MEMPATCHONLY/S,INFOPATCHONLY/S,PORTPATCH/S MEMPATCHONLY: Do not attempt to fix the 100% full bug of the RAM disk, but allocate memory for the RAM disk buffers in reverse direction. (Recommended for usage with PoolMem). INFOPATCHONLY: Do not attempt to change the memory allocation policy of the RAM disk, but fix the 100% full bug. PORTPATCH: If given, use a different patching mechanism for the RAM disk disk info bug. The "PORTPATCH" might be slightly faster, might cause less compatibility problems with programs that somehow mess with the port lists and the reply ports, but is itself not without its quirks, too. It uses the undocumented PA_ACTION¹ type for the RAM disk port to capture the broken dos packets. The problem is that this message port type has never been officially documented, but is working since the very first release of the system, though. This patched port might - or should (!) - make your virus scanner scream! _____________________________________________________________________________ ¹ For all the picky folks: Yes, I KNOW that this type isn't called PA_ACTION indeed, but since no official name has been assigned to this mode and it is often referred to as PA_ACTION, I keep this name for "traditional reasons". _____________________________________________________________________________ Installation: Add PatchRAM to your startup sequence. A good point is below a line like this: makedir RAM:T PatchRAM ;insert below this line, probably with options... So long, Thomas