XFD Package - Release 1.21 ========================== COPYRIGHT --------- All parts of this software package are freely distributable for noncommercial use. If you redistribute XFD, you have to keep all files together. All programs are copyright by their authors. DISCLAIMER ---------- The authors are not liable for any changes made to any part of the package, or consequences thereof as they cannot be made responsible for damages or loss of data directly or indirectly caused by their software. AUTHORS ------- Georg Hörmann - Definition of XFD standard, xfdmaster.library, xfd#? tools, Assembler includes, some external decrunchers. Dirk Stöcker - External decrunchers, 'C' support and xfdmaster.library starting with 38.5. Dexter&Bartman/Abyss - External decrunchers. WEPL - External decrunchers and Oberon includes. ??? - External decrunchers. A. Van Helsing/X-Trade - External decrunchers. Psygore - External decrunchers. Mr.Larmer/Wanted Team - External decrunchers. DII - External decruncher and older Amiga E stuff. Nils Görs - External decruncher. Sven Steiniger - Amiga E support. INTRODUCTION ------------ Almost every Amiga user has some crunched files on his/her disks, either Powerpacked docs or crunched demos, utilities or whatever. But what to do when you need the files to be uncrunched, and you don't call the cruncher your own (or it doesn't support decrunching)? Enters XFD. FEATURES -------- This software package allows you to decrunch almost every packed file known on the Amiga. It consists of the xfdmaster.library as the brain and a couple of programs that offer certain functions to the user. The xfdmaster.library is a standard Amiga shared, runtime library. It works with Kickstart V33+ and offers applications the possibility to directly support any crunched files. Other than the predecessor decrunch.library, the xfdmaster.library has a more flexible interface, offers the possibility to decrunch already loaded program segments, supports external decrunchers, is able to unlink 4EB9/4EF9- and text-linked files and can scan for crunched data in any memory area. EXTERNAL DECRUNCHERS -------------------- External decrunchers can be easily written by any programmer who has knowledge about the inner workings of a new cruncher. That way almost everybody is able to keep the library up-to-date. External decrunchers are stored in "LIBS:xfd/" and xfdmaster.library loads them on startup. Please check out your own "LIBS:xfd/" drawer and compare it with the latest one included in this package. The slaves from this package are always the latest versions. There exist old external decrunchers that are no longer required, please delete them from "LIBS:xfd/" to save diskspace AND memory. They are mentioned in "LIBS:xfd/.README.FIRST" ATTENTION --------- Although I clearly stated in the autodocs that external decrunchers have to be fully reentrant (which means they can handle several files within the same time), some externals are programmed not 100% safe. If you ever have trouble with XFD, first disable the external slaves and then try again. If there's still a problem, send me a bug report. SUBMISSIONS ----------- You are a programmer who has - developed external decrunchers for xfdmaster.library? - written applications that support xfdmaster.library? You have new crunchers that are not supported yet? Please send anything of the above to the following address: ( Georg Hörmann ) ( Martinswinkelstraße 16c ) ( 82467 Garmisch-Partenkirchen ) ( Germany ) As Georg has no time to improve xfdmaster.library, he gave me the sources to do further updates. Maybe in some future he will again make the library himself, but at the moment I'm the author of xfdmaster.library. You can contact me at: Dirk Stöcker Geschwister-Scholl-Straße 10 01877 Bischofswerda GERMANY or "stoecker@amigaworld.com" or "stoecker@rcs.urz.tu-dresden.de". I still need some of the older crunchers, strange data cruncher and all the linkers. Any sent stuff is welcome. THANKS ------ Special thanks go out to all the people who sent me new crunchers, external decrunchers, bug reports or whatever. You will find your names somewhere in the history. HELP ME ------- Who is interested in writing a nice GUI for xfdmaster.library? As I don't have enough time to do this myself, I'm searching for somebody who would like to and has the skills to code a GUI-based all-in-one xfdDecrunch/Unlink/List/Scan utility. It should read files, analyse them quickly (crunched?/linked?) scan them if necessary and save back the result. All this combined with lots of options and default settings would be very useful for all of us. HISTORY ------- XFD 1.21 [xfdmaster.library 38.5] - bugfix in xfdmaster.library 38.3 "PK Protector 2.00" slave. Special thanks to Jan Andersen for sending me the bug report from Alex van Niel. Released as xfdmaster.library 38.4. - From now the library is no longer done by Georg but by Dirk Stöcker. Maybe that changes back again in future. Nobody knows :-) - Included PPbk in xfdmaster.library now doing complete decrunching. Please remove PPBK from LIBS:xfd directory! - Added ID XPKZ to CrunchMania and PACK to PowerPacker. - Added new externals PCompress2, GZip, DataPACK, ISC, DeluxeCruncher and their sources. - New external AddrHeads removes xfd and ObjectMaster address headers. - Included xfdDecrunchAddr tool in the distribution. - Updated LSD! external to support fake CrM2 files. - Added Text-Linkers EXP1.1, ETA0.91, ETA0.99 and ETA1.00. Has anyone a linker program or not recogniced linker files? Please send them. - Added new V38.5 AmigaE support files done by Sven Steiniger. - Added Crunch-O-Matic 1.0 (COMatic external). This cruncher seems to be buggy, as some of the decrunched files are corrupt. The decruncher itself should not do any weird things (like crashing) except producing corrupt files, as there is no way testing the files. Solutions, bug fixes or newer Crunch-O-Matic versions are welcome. - Fixed a bug Georg introduced in 38.3 SyncroPacker fix. Normal SyncroPacker files are recogniced again. - Removed some little Enforcer hits in GNU-Packer, FlashSpeed and TSK. - Updated some other external decrunchers. XFD 1.20 [xfdmaster.library 38.3] - Removed externals AMOS, CRND, CRUN, FUCK as they are included in the external ByteKillerFake too. Thanks to Dirk Stöcker for the hint. - PowerPacker Data slave supports PP2O files now (capital O instead of zero). Thanks to Dirk Stöcker again. - Added new externals DMP0, PCompress and Supplex written by Dirk Stöcker and Nils Görs. Thanks guys, this really saved me some work. - Added sourcecodes for new PCompress and Supplex externals. - Added support for patched DragPack 1.0 files. These will not appear very much as they are made by hand, but it was simple to implement, so why not? Thanks to Dirk Stöcker again for the example. - Added support for another SyncroPacker version to the S.P. slave. The example file must have been created by a version different to 4.6, but I don't know if any other versions exist, so I added it to 4.6. Thanks again to Dirk for the file. - Improved ProPack slave. It now supports files with manipulated IDs. But the correct algorithm type in the ID is still required, so some totally overwritten IDs will still not be recognized. - Added StoneCracker 4.03 slave. Thanks to Dirk for the files. - Reworked recognition for StoneCracker 4.04 files. Manipulated IDs will be accepted now. Thanks to Dirk for the files. - Reworked ProPack slave again. It now accepts any kind of manipulation. Thanks to Dirk for the files. - Fixed CP external. This one recognized 'CPic' files and then crashed. As I don't have CP files, I just added a 'negative' recognition to avoid CPic files. Thanks to Dirk for the bug report. - Added PK-Protector 2.00 slave. This will just remove the protection from crunched files so you can decrunch them afterwards. Thanks to Mr.Larmer for sending the program. XFD 1.19 [xfdmaster.library 38.2] - Added external slave 'UNIX-Compress' and its sourcecode written by Dirk Stöcker. Thanks a lot. This is the first slave written in 'C' and a good example how to do it correctly. - Fixed problem with PowerPacker Data slaves. With odd file lengths the slaves crashed on MC68000. Thanks to Dirk Stöcker for the report. - Added recognition for 'PARA' files to Imploder slave. It's just a cloned FImp file and the external PARA slave wrongly recognized 'SCOPTIONS' files as PARA crunched. Please remove PARA slave from LIBS:xfd!! Thanks again to Dirk for the report. - Added new Include files for 'C' language. These are 100% correct and have been created by Dirk Stöcker. Thanks once again. - Fixed Autodocs: Some synopsises for 'C' were incorrect. Thanks one more time to Dirk ;-) - Fixed Imploder Data slave: The last longword is just a checksum that has been stripped at some clones, I don't test for this any longer. Thanks for the example files to Dirk. - Added old Imploder version. I can only guess which version created the file sent by Dirk Stöcker (maybe 1.0?), because I've never seen such an Imploder file header and I don't have Imploder 1.0, but it's definately an original Imploder file. Anyway, such files are handled correctly now. - Added PowerPacker 2.0 slave. Thanks to Dirk for the example file. - Fixed bug in CrunchMania Data slaves and added XFDPFF_RECOGLEN and XFDPFF_USERTARGET support. - Added XFDPFF_RECOGLEN and XFDPFF_USERTARGET to Imploder Data and PowerPacker Data slaves. All important data formats support the new flags now, I will add them to the minor slaves somewhere in the near future. - Added xfdm_ExecBase field to the library base. Not all internal slaves can support this cached pointer, but most will do in the future. The main library code already supports the field for better CPU performance. - Did a little definition add-on I forgot in v38.1: If slaves support XFDPFF_RECOGLEN but can't for what reason ever determine the correct lengths for return to the caller, they set xfdrr_MinTargetSize and xfdrr_FinalTargetSize to -1. So please check for those values in your applications. Sorry! - Added support for cached ExecBase to almost every internal slave and by the way fixed some bad library calls that might have caused crashes (funny: all errors stuck in error handling code ;-) XFD 1.18 [xfdmaster.library 38.1] - Added support for CrunchyDat 1.0 files. Thanks go to Bert Jahn for sending me that packer. - Added new feature to xfdRecogBuffer(): The recog code can determine the length of the decrunched file already during recognition. The caller then knows how big the buffer for decrunching must be and can allocate its own buffer for that purpose. This is supported by xfdDecrunchBuffer() now. All this meant changes in xfdBufferInfo, lots of additional flags and a new structure called xfdRecogResult. See autodocs for further information. Idea by Dirk Stöcker, author of XPK, to make XFD more compatible to XPK and let XPK benefit from the power of xfdmaster.library. - Unfortunately, in the current state of development, everything is prepared for the new features, but no slave supports them until now. And there will always be slaves that never ever support them because it's simply impossible to calculate the decrunched length without starting to decrunch the files. Nevertheless I will try to update all slaves as soon as possible. - Here we go: Added support for new features to StoneCracker Data slaves and ProPack Data slaves to test the new options. Works fine! Now it's your turn, Dirk ;-) - Added external slaves and sourcecodes (4GetIt, BHC3, ImploderClone, PPBk) written by Dave Jones. Thanks dude! XFD 1.17 [xfdmaster.library 37.8] - Added support for StoneCracker 2.99b files. Thanks to Mr. Larmer for sending me that old cruncher. - Fixed bug in xfdScan() routine that caused crashes when using hooks. Thanks again to Mr. Larmer for the report. - Finally added support for old ProPack data files. These use the same identifier like the new ones, therefore it was a bit complicated to determine the correct type. Thanks again to Mr. Larmer for example files and decrunchers. XFD 1.16 [xfdmaster.library 37.6] - Fixed problem with ProPack (RNC) executables that contain hunks with reloc information. Thanks to Mr. Larmer/Wanted Team for the example file. - Added JEK!, LeCr and Vice decrunchers written by Mr. Larmer. - Added support for PowerPacker LoadSeg (PPLS) files. Thanks for the suggestion to WEPL. These files may cause problems because overlayed files are crunched as well with this format without any differences :-( XFD 1.15 [xfdmaster.library 37.5] - Added support for CFP 1.35/1.36 protected files. - Fixed bug in xfdStripHunks(). It may happen that a hunk_name etc. is the very last hunk without any other information after it. In this case the old routine crashed. Thanks for the example file to Christoph Dietz. - Added new ProPack strain. Thanks to WEPL for sending the sample. - Added 68000-fixed version of BOND external slave to the library. Thanks to Dirk Stöcker for the bug report. - Fixed external CP slave. Now it won't produce wrong recognitions any longer. Thanks to Holger Wessling and Emmanuel Poirier for the example files. XFD 1.14 [xfdmaster.library 37.3] - Added CPU cache handling code to all routines that manipulate any buffers. I hope this will reduce problems with 68040/060 CPUs. - Replaced several buggy sublibraries by Mr.Larmer/Wanted Team with new cleaned-up versions. Thanks for that updates, dude. - Added new sublibrary (DPRa) and some Amiga E stuff by DII. Thanks! XFD 1.13 [xfdmaster.library 37.2] - Added segment support to Titanics Cruncher 1.1/1.2, Spike Cruncher, ProPack, TurboSqueezer 6.1/8.0 and HQC Cruncher 2.0 slaves. - Added Master Cruncher 3.0 Data slave, added segment support to Master Cruncher 3.0 slave and rewrote parts of the Master Cruncher decrunch routines. - Added new version of xfdPatch with a serious bug fixed. Sorry folks! - Arhh! Bug fixed in the optimized Crunchmania routines added in 1.12. Empty code hunks caused a system crash. Thanks to Holger Wessling for the report and the example files. - Fixed little bug in the StoneCracker 4.04 Data length calculation. No crash this time :-) Thanks to Holger again for the example file. - Added segment support to DragPack 2.52 slave. - Added XFDPFF_RELMODE flag support to the following slaves: Propack, Imploder (Normal/Lib/Overlay) and CrunchMania (Normal/Lib/Simple)! As these crunchers already allocate their hunks during LoadSeg(), I wrote a hunk manager that checks the memory type of each loaded hunk and switches to another area if neccessary. - Added segment support to Chryseis Cruncher 0.9 and ReloKit 1.0. Finally I made it!! All internal reloc slaves support full segment decrunching and relocation modes now :-)) - Combined Powerpacker x.x Master/Normal to simple PowerPacker x.x slaves. This saves memory and CPU time. - Added data scan support to LightPack 1.5 and TurtleSmasher 2.00 Data slaves. Changed CrunchMaster 1.0 type from data to address. - Added data scan support to ST Cruncher 1.0 Data slave. Now all internal data slaves support data scanning!! - Added Super Cruncher 2.7 slave with buffer and segment support. - Added Ultimate Packer 1.1 slave with buffer and segment support. - Added Old ProPack (RNC) slave. Thanks to WEPL for the sourcecode and the example files. This slave cannot handle XFDREL_#? as only the first hunk is crunched and all others are already relocated at decrunch time. Sorry! - Added SA/SC/SF/SP/SQ Cruncher slave. Here we have a big problem: There exist different versions of the SA, SC and SP formats with different crunch algorithms. Therefore these will only be scanned for, but not decrunched. SF and SQ should work properly. Thanks to WEPL for the sourcecode and the example files. - Added PowerPacker Patch 1.0 slave. This silly tool adds different headers to standard PowerPacker 4.0 files. Thanks to Dave Jones for sending that stuff. - Added ExeDescript 1.0 Linker to the internal linker brain. This one is a bit special as it just adds a data hunk at the end of a file with some text in it. To recognize this stuff, the whole file must be in memory. Sorry, but the xfdm_MinLinkerSize field is of no use any longer for this type of linker. Thanks to Dave Jones for sending lots of example files. XFD 1.12 [xfdmaster.library 37.1] - Fixed problem in ProPack slave. It may happen that some hunks are not crunched in the RNC format but included as plain hunks. This has not been supported correctly. Thanks to Dave Jones and John Aadnoy for the example files. - Optimized decrunch speed of CrunchMania slave by factor 50 !!! You won't see it with small files, but Holger Wessling sent me two files that took several minutes to decrunch with the old routine and about 4 seconds with the new one (the file had up to 140 hunks and 6200 reloc entries at 700000 bytes). Thanks Holger. - Added lots of external decrunchers written by Mr.Larmer/Wanted Team. Thanks for all the work you had with that stuff. - Added new utility called xfdPatch. Just use it! - Added an extra feature to Imploder and CrunchMania slaves: they both will decrunch even some modified files now. Thanks to Dave Jones for sending the 'The Party IV' 40k intros. - Added full GNU Packer 1.2 support. Thanks to Mr.Larmer/Wanted Team for sending that stuff. - Added new version of xfdPatch that allows to set relocation modes. - Added support for TrashEliminator 1.0. - Added new version of xfdLibInfo. - Added new functions to xfdmaster.library: xfdScanData(), xfdFreeScanList() and xfdObjectType(). The data scanner is based on an idea by Holger Wessling. Thanks dude! - Added new fields to xfdBufferInfo and xfdSegmentInfo structures. Read the autodocs for more details about the new behaviour of xfdRecogBuffer()/xfdRecogSegment() concerning external slaves. This was neccessary as a lot of people sent me files that made some trouble with external slaves. Thanks to Axel Folley, Holger Wessling, John Aadnoy and all the others for the example files. - Added new utility called xfdScan that supports the new data scan routines. - Added data scan support and improved data recognition/testing to ANC, SoundTracker Song, CrunchMania, DragPack 2.52, GNU Packer, IAM (ICE!/ATM5), PMC, StoneCracker, XPK, ProPack, PackIt and Imploder data slaves. - Added new versions of xfdList, xfdDecrunch and xfdPatch. - Added data scan support for PowerPacker PP20 data. This code is a real data analyzer that checks data for proper decrunchability. The crypted data PX20 however can not be scanned in deep mode. - Added segment support to QuickPowerPacker 1.0. - Added new function xfdInitScanHook() for easy hook management. - Added ProPackExe external decruncher. Thanks to WEPL for sending this new format. XFD 1.11 [xfdmaster.library 36.4] - Added new versions of xfdDecrunch, xfdList and xfdUnlink with several bug fixes and/or new features. - Fixed support for Hunk_Reloc32Short in xfdTestHunkStructureFlags(), xfdRelocate() and xfdStripHunks(). Thanks to WEPL for the report. - Added new/updated external decrunchers written by WEPL (thanks for all your work): Ice_TSM, SSUR, TPWM, BOND, CMP1, LOB, DeCloner. - Added Oberon include file for xfdmaster.library. Thanks again to WEPL for that stuff. Please note that it is written for XFD 1.07 and therefore a bit old, but you may modify it for your needs. - Added external decruncher for 4Vx written by Psygore. Thanks to Holger Wessling for sending it. - Added full segment decrunch support to Imploder, Imploder Library and Imploder Overlay slaves. No dirty jump-in hacks, but a real emulation that also corrects the hunktable entries of overlays. - Fixed PowerPacker 3.0/4.0 Overlay segment decrunching code. The entries in the hunktable haven't been updated. XFD 1.10 [xfdmaster.library 36.3] - Added recognition and unlink code for Glue 2.2 and Glue 2.3 text linkers. You will get the text file and the original executable as a result after unlinking such files. Thanks to Markus Schmall and Dave Jones for the example files. - Finally fixed Imploder stuff to work 100% correctly. The new method is a bit slower, but doesn't waste any memory any longer. The length calculation of the old one was based on a rough guess, now it's counted byte by byte. Corrupted data is detected now and won't lead to a big crash any longer. The new code also recognizes if a hunk was originally data or code. - Added support for Imploder Overlay files. These have been only recognized, but not decrunched. Now the new length calculation made it easy to finally implement that stuff. Thanks to Axel Folley for all the example files. - Added new version of xfdDecrunch. XFD 1.09 [xfdmaster.library 36.1] - Oops! XPK slave set password length to 0. This caused some trouble when decrunching XPK encrypted files. I forgot to set MaxSpecialLen to -1 as XPK has unlimited password lengths. Thanks to the guy (sorry, forgot your name) who called me. - Fixed xfdTestHunkStructure[New]() and xfdRelocate(). Those two calls now only support hunk types that may really exist in load files and no longer any weird linker stuff. Added full support for hunk_reloc32short ($3f7/$3fc). - Added xfdTestHunkStructureFlags() with XFDTHB_NOOVERLAYS to force an error if a file is overlayed. - Added xfdStripHunks() as an easy possibility to remove hunk_name, hunk_symbol and/or hunk_debug from files. - Extended xfdSlave and xfdMasterBase structures. Internal slaves have an ID now and can be replaced by external slaves. Minimum buffer size to recognize a crunched file can be specified for every slave now. The largest buffer size is stored in xfdMasterBase and can be used as buffer size for recognition purposes. Thanks to Dave Jones and the other guy (see above) for the inspiration. - Added new versions of xfdDecrunch and xfdLibInfo. - Moved external Chryseis slave inside library. - Added new version of xfdList. - Fixed defines in xfdmaster.h from $XYZ to 0xXYZ. - Added external decrunchers: AXIS, LOB and SF written by A. Van Helsing/X-TraDe. Thanks to Holger Wessling for sending them to me. - Fixed ProPack slave. Recognizes another executable header now and doesn't crash with several hunk_bss any more. Thanks to Markus Schmall for reporting the problem. - Fixed StoneCracker 4.04 slave. Forgot to support empty code and data hunks as old compilers produce them. Thanks to Dave Jones for the example file. - Added StoneCracker 4.03 Data slave and replaced SC 4.04 decrunch code by the optimized version from 'Cozine'. - Added QuickPowerPacker 1.0 slave. Thanks to Dave again for sending this stuff. - Added xfdAllocObject() and xfdFreeObject() as a replacement for Alloc#?Info() and Free#?Info(). - Added xfdRecogLinker() and xfdUnlink() to support so-called 4EB9-Linkers and their clones. - Fixed problem with some PowerPacker 4.0 files. It might have happened in one special case that one byte of the processed reloc hunk was overwritten before it was reprocessed. Using a one-byte prefetch mechanism now fixes this bug. - Added xfdm_MinLinkerSize field in xfdMasterBase structure. - Added recognition for 4EB9, 4EF9, UFO and XLink linkers to the internal linker brain. - Added unlink code for 4EB9, 4EF9, UFO and XLink linkers. - Fixed another problem with PowerPacker 4.0 files. If hunks are located in chipmem, PP sets the qualifier in the hunk header AND in the hunks themselves. OS 2.0+ doesn't like this behaviour very much and crashes immediately. The flag will therefore be deleted in the hunks now. Thanks to Axel Folley for sending me an example file. - Fixed problem with SoundTracker songs. Some clever game coders use the same identifier (PACK) for their files, but certainly another algorithm. I use an enhanced recognition now that checks the uncrunched length for valid song sizes. Thanks again to Axel Folley for all the example files. - Added the tool xfdUnlink to the package. This is just a simple interface for unlinking linked files. - Added second type of 4EB9 linker and fixed recognition for UFO linker. - Fixed Imploder decrunch code to support modified files too. Some guys tried to prevent XFD and also the Imploder itself from unpacking files by changing a data to a code hunk. XFD 1.08 [xfdmaster.library 35.1] - Added new feature to xfdmaster.library (now version 35): Crunchers that require a 16/32 bit key for decrunching are supported now. Only neccessary for ProPack (RNC) at the moment. - Added new versions of xfdDecrunch and xfdLibInfo that support the new feature. - Added full support for ProPack, formerly called RNC. Now also decrunches executables and key-locked data files. Moved the external decruncher inside the library. - Added support for TetraPack 1.1. - Added support for HQC Compressor 1.00. - Added external decrunchers for LZWH and GraftGold. - Added support for TSK Cruncher, LightPack 1.5 and SoundTracker Cruncher 1.0 Exe/Data files. - Added new tool to the package: HackProPack. This makes it possible to decrunch key-locked ProPack data files. - Re-added Kickstart 1.2/1.3 support to xfdDecrunch. Hope everybody is happy now, so am I. - Added support for segment decrunching to the following slaves: DragPack 1.0, StoneCracker 4.00/4.01/4.04, CrunchMania Normal/Library/Simple, TNM Cruncher 1.1. - Revised XPK external decruncher and moved it inside xfdmaster.library. - Moved PMC external decruncher inside the library. - Debugged arp.library stuff in xfdDecrunch, xfdList and HackProPack. Some arp routines behave different from dos v37, but it wasn't documented anywhere. - Added segment support to IAM Packer 1.0 and PackIt 1.0. XFD 1.07 [xfdmaster.library 34.1] - Added new sublibs for SSUR, TPWM and TSM crunchers. Thanks to WEPL for sending them. - Added RNC2 support to the RNC external decruncher. Thanks to WEPL again for sending me the sourcecode. XFD 1.06 [xfdmaster.library 34.1] - Increased library version to 34 because of new features. The V34 library is fully downward compatible to V33 libraries. - Rewritten xfdGetErrorText() function with lots of new error codes. - Added xfdTestHunkStructureNew() routine that returns detailed error codes. - Added xfdRelocate() routine for better segment list support. - Extended xfdSegmentInfo structure for relocation mode support. - Overworked autodocs for more detailed information. - Overworked whole 'C' support stuff (includes, protos, pragmas). - Updated Assembler support files. - Added external decruncher for PMC files. - Added support for recognition and decrunching of segments to the following slaves: - PowerPacker 2.3 command files (all modes) - PowerPacker 3.0 command files (all modes) - PowerPacker 4.0 command files (all modes) - Added new version of xfdLibInfo with extended information. - Added external decrunchers for RNC and FIRE files. Thanks to Dexter&BartMan/Abyss for sending me this stuff. - Added ATN! support to xfdmaster.library. Dexter/Abyss sent me an external for this one, but it's just a FImp clone, so I added it to the internals. XFD 1.05 [xfdmaster.library 33.6] - Added decrunch support for StoneCracker 4.04 executables. - Added external decruncher for XPK files. XFD 1.04 [xfdmaster.library 33.4] - Added 'C' includes, protos, pragmas. Thanks to Anders Melchiorsen for typing all this stuff. Thanks to Brice Allenbrand too. He also typed some 'C' stuff, but Anders was 3 days faster. Sorry! - Removed arp.library from the package as everybody has it anyway. - Added decrunch support for StoneCracker 4.04 data & address files. XFD 1.03 [xfdmaster.library 33.3] - Added new version of xfdDecrunch with extended features. XFD 1.02 [xfdmaster.library 33.3] - Did astonishing speed optimization to CrunchMania decruncher. All files with lots of relocs will decrunch about 30 times faster. Thanks to Markus Schmall who sent me a file (GadToolsBox with over 8000 [!] reloc entries) that took 90 seconds (!) before that code cleanup and 3 seconds afterwards. Actually he thought XFD would crash, but who waits 90 seconds ??? ;-) - Added Chryseis 0.9 decruncher. This one is implemented as external decruncher including sourcecode as an example on how to code that kind of thing. - Added File Imploder (FImp) decruncher. - Added new version of xfdDecrunch with lots of new features. XFD 1.01 [xfdmaster.library 33.2] - Added asm includes, autodocs and fd files. - Final fixes in password code. - Added new versions of xfdDecrunch and xfdLibInfo. - Added support for external decrunchers. XFD 1.00 [xfdmaster.library 33.1] - First public release.