NAME xfdPatch 1.02 SYNOPSIS xfdPatch REMOVE/S,CHIP/S,FAST/S,DEFAULT/S,NE=NOEXTERN/S DESCRIPTION xfdPatch patches the dos.library/[New]LoadSeg() vectors in order to avoid that the decrunch headers of crunched programs are executed. This is indeed very useful as some old decrunch headers will not work correctly with new OS versions or are written quite badly. xfdPatch requires Kickstart v37+. With xfdPatch, [New]LoadSeg() will first check the loaded segment list for decrunch headers known by xfdmaster.library. If nothing is found, then everything works as usual. But if a decrunch header has been recognized, the xfdDecrunchSegment() function will be called and the decrunched segment list is passed back as the result of [New]LoadSeg(). On the user level, you will in most cases simply notice that the annoying color/LED flashing of most decrunchers has been disappeared. This shows you that xfdPatch works correctly. Please note that xfdPatch currently doesn't support password or key requests and therefore simply passes on such files to the calling program. If there should ever be a reason to remove xfdPatch from memory, use the REMOVE option to do this. Please note that xfdPatch cannot be removed if another program has changed the dos vectors in the meantime. Most segment decrunchers in the xfdmaster.library support so-called relocation modes which means that you can force the segments to be relocated to a special type of memory. With CHIP and FAST, you can force segments to chip or fast memory, DEFAULT causes xfdPatch to use the memory types given within the hunks. Note that these attributes are only used while decrunching, uncrunched files cannot be relocated somewhere else. These options are useful with old games or intros that need chipram but don't have the correct attributes set in the hunk header. With NOEXTERN, you can forbid the use of external slaves for the recognition and decrunching of segments. This will be of very rare use as there currently doesn't exist any external segment decruncher as far as I know. TECHNICAL INFO This section is especially written for programmers of system monitors or antivirus programs. It tells you how to detect xfdPatch in memory. First of all, if xfdPatch is installed, both the NewLoadSeg() and LoadSeg() vectors of dos.library point to the following piece of code: dc.l "XFDP" JumpIn ... Second, there exists a port called 'xfdPatch.rendezvous'. The fields of this port are all private, so just test if the port exists and nothing else. HISTORY xfdPatch 1.02 - Added option NOEXTERN. xfdPatch 1.01 - Added options CHIP, FAST and DEFAULT. xfdPatch 1.00 - First public release. I used a very simple version of this program for testing purposes for about one year now. But why not giving it to the public? COPYRIGHT xfdPatch is freely distributable for noncommercial use. AUTHOR Georg Hörmann Martinswinkelstraße 16c 82467 Garmisch-Partenkirchen Germany