home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 11 / AACD11.ISO / AACD / System / xfd / README < prev    next >
Text File  |  2000-06-27  |  40KB  |  805 lines

  1.                       XFD Package - Release 1.33
  2.                       ==========================
  3.  
  4. COPYRIGHT
  5. ---------
  6. All  parts  of  this  software  package  are  freely  distributable for
  7. noncommercial use.  If you redistribute XFD, you have to keep all files
  8. together.  All programs are copyright by their authors.
  9.  
  10. DISCLAIMER
  11. ----------
  12. The  authors  are  not  liable  for any changes made to any part of the
  13. package, or consequences thereof as they cannot be made responsible for
  14. damages  or  loss  of  data  directly  or  indirectly  caused  by their
  15. software.
  16.  
  17. AUTHORS
  18. -------
  19. Georg Hörmann          - Definition of XFD standard, xfdmaster.library,
  20.                          xfd#? tools, Assembler includes, some external
  21.                          decrunchers.
  22. Dirk Stöcker           - External decrunchers, 'C' support and
  23.              xfdmaster.library and tools starting with 38.5.
  24.  
  25. ???                    - External decrunchers.
  26. A. Van Helsing/X-Trade - External decrunchers.
  27. Chris Young           - Installer script.
  28. Codetapper           - External decrunchers.
  29. Dexter&Bartman/Abyss   - External decrunchers.
  30. DII                    - External decruncher and older Amiga E stuff.
  31. Jan Poruba           - External decruncher.
  32. Kyzer               - External decrunchers.
  33. Mr.Larmer/Wanted Team  - External decrunchers.
  34. Nils Görs              - External decruncher.
  35. Psygore                - External decrunchers.
  36. Ronald van Dijk           - External decrunchers.
  37. Sven Steiniger           - Amiga E support.
  38. WEPL                   - External decrunchers and Oberon includes.
  39.  
  40. INTRODUCTION
  41. ------------
  42. Almost  every  Amiga  user  has  some  crunched files on his/her disks,
  43. either  Powerpacked docs or crunched demos, utilities or whatever.  But
  44. what to do when you need the files to be uncrunched, and you don't call
  45. the cruncher your own (or it does not support decrunching)? Enters XFD.
  46.  
  47. FEATURES
  48. --------
  49. This  software  package allows you to decrunch almost every packed file
  50. known  on the Amiga.  It consists of the xfdmaster.library as the brain
  51. and a couple of programs that offer certain functions to the user.
  52.  
  53. The  xfdmaster.library is a standard Amiga shared, runtime library.  It
  54. works  with  Kickstart  V33+ and offers applications the possibility to
  55. directly support any crunched files.
  56.  
  57. Other  than the predecessor decrunch.library, the xfdmaster.library has
  58. a  more  flexible interface, offers the possibility to decrunch already
  59. loaded  program  segments,  supports  external  decrunchers, is able to
  60. unlink 4EB9/4EF9- and text-linked files  and can scan for crunched data
  61. in any memory area.
  62.  
  63. REQUIREMENTS
  64. ------------
  65. xfdmaster.library  requires  OS1.2 to work  properly.  To decrunch XPKF
  66. files, you also need xpkmaster.library and the proper sub library.
  67.  
  68. All  included external  utilities need  OS2.0 or OS1.2 and arp.library,
  69. with exception of xfdPatch and xfdDecrunchAddr which always need OS2.0.
  70.  
  71. EXTERNAL DECRUNCHERS
  72. --------------------
  73. External  decrunchers  can  be easily written by any programmer who has
  74. knowledge  about the inner workings of a new cruncher.  That way almost
  75. everybody is able to keep the library up-to-date.  External decrunchers
  76. are  stored in "LIBS:xfd/" and xfdmaster.library loads them on startup.
  77. Please  check  out  your own "LIBS:xfd/" drawer and compare it with the
  78. latest  one included in this package.  The slaves from this package are
  79. always  the latest versions.  There exist old external decrunchers that
  80. are  no  longer  required,  please delete them from "LIBS:xfd/" to save
  81. diskspace AND memory.  They are mentioned in "LIBS:xfd/.README.FIRST"
  82.  
  83. ATTENTION
  84. ---------
  85. Although  I  clearly  stated  in the autodocs that external decrunchers
  86. have  to  be fully reentrant (which means they can handle several files
  87. within the same time), some externals are programmed not 100% safe.  If
  88. you  ever  have trouble with XFD, first disable the external slaves and
  89. then try again.  If there's still a problem, send me a bug report.
  90.  
  91. SUBMISSIONS
  92. -----------
  93. You are a programmer who has
  94. - developed external decrunchers for xfdmaster.library?
  95. - written applications that support xfdmaster.library?
  96. You have new crunchers that are not supported yet?
  97. Please send anything of the above to the following address:
  98.  
  99. ( Georg Hörmann            )
  100. ( Martinswinkelstraße 16c    )
  101. ( 82467 Garmisch-Partenkirchen    )
  102. ( Germany            )
  103.  
  104. As  Georg  has  no time  to improve  xfdmaster.library, he gave  me the
  105. sources to do further updates. Maybe in some future time he  will again
  106. make  the library  himself,  but at  the moment  I am the author of the
  107. xfdmaster.library.
  108.  
  109. You can contact me at:
  110. Dirk Stöcker
  111. Geschwister-Scholl-Straße 10
  112. 01877 Bischofswerda
  113. GERMANY
  114.  
  115. or "stoecker@amigaworld.com" or "dstoecker@gmx.de".
  116.  
  117. I still  need some of the  older crunchers,  strange data crunchers and
  118. lots of linkers. Any sent stuff is welcome.
  119.  
  120. THANKS
  121. ------
  122. Special  thanks  go  out  to  all the people who sent me new crunchers,
  123. external  decrunchers,  bug  reports  or  whatever.  You will find your
  124. names somewhere in the history.
  125.  
  126. HELP ME
  127. -------
  128. Who  is  interested  in writing a nice GUI for xfdmaster.library?  As I
  129. don't  have  enough  time to do this myself, I'm searching for somebody
  130. who  would  like  to  and has the skills to code a GUI-based all-in-one
  131. xfdDecrunch/Unlink/List/Scan  utility.   It  should read files, analyse
  132. them  quickly  (crunched?/linked?) scan them if necessary and save back
  133. the  result.   All  this  combined  with  lots  of  options and default
  134. settings would be very useful for all of us.
  135.  
  136. HISTORY
  137. -------
  138. XFD 1.33 [xfdmaster.library 39.10]
  139. - Fixed bug in installer introduced in last version.
  140. - Added Iron-ID to CrunchMania slave.
  141. - Added SZDD slave made by Kyzer. Thanks for that one. I always wanted to
  142.   have an decruncher for that nasty Microsoft format.
  143. - Splitted user and developer archive. Added all available sources to
  144.   developer archive.
  145. - Added support for modified SuperCruncher2.7 files. Thanks Don Adan for
  146.   sending examples.
  147. - Added CD³¹-ID to CrunchMania slave. Thanks Don Adan for the files.
  148. - Fixed Enforcer hits.
  149.  
  150. XFD 1.32 [xfdmaster.library 39.9]
  151. - Fixed Enforcer hits in master library, Crunch and ByteKillerClone
  152.   externals.
  153. - Added Dupa-ID to Imploder slave.
  154. - Fixed ISC Pass3 bug. Thanks Don Adan for the hint.
  155. - Fixed and shortened HUFF slave. Thanks Ronald van Dijk for example files.
  156. - Fixed and shortened RLE slave and included data scanning. Thanks Ronald
  157.   van Dijk for error report.
  158. - Fixed crash in Imploder slave. Thanks Ronald for the example file.
  159. - Added 3 new external slaves ByteKillerData, TimeCruncherData and 
  160.   ZeroPacker done by Ronald van Dijk. Thanks a lot, as these formats are
  161.   very hard to detect (Nearly impossible :-).
  162.  
  163. XFD 1.31 [xfdmaster.library 39.8]
  164. - Added GAZ!-ID to PowerPacker slave.
  165. - Added $29075337-ID to PowerPacker slave and AYS!-ID to Stonecracker
  166.   slave. Thanks to Ronald van Dijk for the files.
  167. - Added KennyGrant external done by Kyzer. Remove GraftGold external,
  168.   as this is inluded in new KennyGrant.
  169. - Added updated TPWM slave. Thanks WEPL for the file.
  170.  
  171. XFD 1.30 [xfdmaster.library 39.7]
  172. - Added "IFT?"-ID to CrunchMania slave. Remove "IFT?" external.
  173. - Fixed data scanning problem.
  174. - Added internal "SMF Compacker" slave made by Georg Hörmann.
  175. - Added TRX external. Thanks Georg Hörmann for making this one.
  176. - Added LZW external done by Georg Hörmann.
  177.  
  178. XFD 1.29 [xfdmaster.library 39.6]
  179. - Finally fixed crash in CrunchMania decruncher. The related file
  180.   crashs all known decrunchers, but no more xfdmaster. :-) Thanks Georg
  181.   Hörmann for fixing the bug. I did not find a solution myself.
  182. - Added fixed version of D815 slave made by Mr. Larmer. Thanks for
  183.   sending this one.
  184. - Added "Pd" Data to IAM-ATM5 slave. Remove Pd external, if you have.
  185. - Added GK90 slave (a IAM-ICE! derivate) made by Mr. Larmer.
  186. - Added FLS0 data to PMC slave. Thanks to Mr.Larmer for the files.
  187. - Added MDCS and POPI slaves made by Mr. Larmer.
  188. - Removed some source examples to reduce needed archive size.
  189. - Fixed bug in IAM-ICE! decruncher.
  190. - Shortened and fixed VICE slave.
  191. - Finally fixed another crash in Stonecracker decruncher. Thanks again
  192.   Georg Hörmann for fixing the bug.
  193.  
  194. XFD 1.28 [xfdmaster.library 39.5]
  195. - Removed some useless instructions from PCompress2 slave.
  196. - Added support for XPK password requester in xfdDecrunch.
  197. - Shortened and fixed XP10 slave.
  198. - Fixed name creation problem with xfdScan. Names from file 101 and
  199.   up have been wrong.
  200. - Added ZbL! external.
  201. - Added SOS external. Thanks to WEPL for that one.
  202. - Shortened and fixed GP data slave. Removed self modifying code and
  203.   other bad behaviour.
  204. - Added Andromeda decruncher. Thanks Mr. Larmer for that one.
  205. - Fixed pack decruncher.
  206. - Updated external TTW! (IFF cruncher) done by Ronald van Dijk. Thanks
  207.   for the new version.
  208.  
  209. XFD 1.27 [xfdmaster.library 39.4]
  210. - Fixed Segment recognition for Stonecracker 4 Library files. Thanks
  211.   Håkan Parting for the report.
  212. - Replaced =SB= external by LHA3 external, which doesn't crash and is
  213.   written in C language. It also supports V39 stuff, data scanning and
  214.   is a bit shorter.
  215.   There exist some corrupt files due to a bug of LHA3 by Stefan Boberg.
  216. - Silmarils no longer detects NetBSD executables.
  217. - Added external TTW! (IFF cruncher) done by Ronald van Dijk. Thanks
  218.   for that one.
  219. - Added IlScuro and Switch externals done by Codetapper. Thanks for
  220.   the stuff.
  221. - PseudoPacker now directly decrunches files without exe header. No
  222.   need to use ADDHEAD of xfdDecrunchAddr.
  223. - Included ISC external in master library and fixed it a lot. It now
  224.   can handle multipass ISC files and also files with a crunchrate
  225.   higher than 50%. Please remove external ISC.
  226. - Added STORECOMMENT option to xfdDecrunchAddr tool.
  227. - Included PCompress2 external in master library and added data
  228.   scanning. Please remove the external file.
  229. - Fixed and shortened JR decruncher. Thanks Codetapper for example
  230.   files.
  231. - Fixed Enforcer hit for corrupt Titanics files.
  232. - Fixed and shortened VDCO decruncher.
  233. - Again fixed IAM (ATM5) Packer. Now it really works. :-)
  234.  
  235. XFD 1.26 [xfdmaster.library 39.3]
  236. - ATOM decruncher now removes 2 byte security buffer. Thanks Don Adan
  237.   for the hint.
  238. - Optimized and fixed IAM packer slave. Thanks Don Adan for example
  239.   files.
  240. - Removed VOL1 external, as it is included in new LOB added in release
  241.   1.25. Thanks Don Adan for the hint.
  242. - Splitted StoneCracker 4.04 and 4.04 Library to support really short
  243.   library files.
  244. - Updated all the missing internal clients to V39. All internal data
  245.   clients support user targets now, when it is possible for that type.
  246. - Added HAL! ID to MasterCruncher3.0 Data client. Thanks Don Adan for
  247.   some files.
  248. - Added Pseudo Packer 1.0 address cruncher as Pseudo external.
  249.  
  250. XFD 1.25 [xfdmaster.library 39.2]
  251. - Fixed CP and ATOM slaves. The decrunch routines should not be able to
  252.   crash anymore. Thanks Mr. Larmer for the example files. These clients
  253.   are the first external V39 clients.
  254. - Fixed little bug in GZip slave.
  255. - Both executable test heads (C and ASM) support V39 auto allocation
  256.   now.
  257. - Imploder Data slave bug fixed.
  258. - Updated some more clients to V39.
  259. - Fixed Enforcer hits in Crunch, 4GetIt!, ImploderClone clients and in
  260.   master library.
  261. - Added new Cruncher ID's MLDC & MD12 (PowerPacker), PAC/01 (RNC) and
  262.   Pack (StoneCracker 4.04). Thanks to Ronald van Dijk for example
  263.   files.
  264. - Added or updated LOB, LZSS, NJMP, XPAC and Silmarils externals.
  265.   Thanks Don Adan for the files.
  266.  
  267. XFD 1.24 [xfdmaster.library 39.1]
  268. - Added support for TurboSqueezer5.1. Thanks to Richard Wagenführer for
  269.   sending the cruncher. Fixed TurboSqueezer6.1 Segment Decruncher.
  270.   Added xfdSegHead.a to source drawer. This header allows to test the
  271.   segment functions.
  272. - Again fixed PowerPacker4.0 Reloc correction routine. The library will
  273.   no longer crash for some defective files, but produce files which
  274.   contain additional stuff behind the real data. Using a file split
  275.   utility to remove that should produce a valid executable file again.
  276.   This is a bug of PowerPacker and not of xfdmaster.library.
  277. - Fixed broken error detection for PowerPacker files.
  278. - Added segment support to "MegaCruncher Obj".
  279. - Added "Unknown Cruncher 2" (Unknown2 external). Anyone who knows the
  280.   name of that address cruncher? Thanks Don Adan for some example
  281.   files.
  282. - Added SubPacker1.0, a (lossy) ProTracker module packer. Thanks Martin
  283.   Jeppesen for the cruncher.
  284. - Fixed MasterCruncher3.0 Data detection (corrupted since Release
  285.   1.22).
  286. - Added Data scanning to Crunch1.3 slave.
  287. - Included PCR4 decruncher made by Jan Poruba.
  288. - Joined PMC and TurtleSmasher2.0 decrunch code and improved it a bit.
  289. - Fixed bug in StoneCracker data slaves.
  290. - Added auto buffer allocation feature. When USERTARGET is supported
  291.   the master library automatically allocates the buffer for client.
  292.   Added xfdrr_MinSourceLen field to allow easy buffer truncation
  293.   checks. The decrunch routine of data slaves can be really short now,
  294.   when the format allows to supply size information in Recog function.
  295. - Bumped version to 39.
  296. - Updated internal slaves to support new features. As a result some
  297.   more of the data slaves support USERTARGET now.
  298. - Added FileShield linker. Thanks to Heiner Schneegold for example
  299.   files.
  300.   NOTE: The first unlinked file is really useless, as it contains
  301.   only 1 zero word and 3 RTS instructions.
  302.  
  303. XFD 1.23 [xfdmaster.library 38.7]
  304. - Updated AddressHead to support 2 more headers (total 10 now).
  305. - Fixed bug in PowerPacker4.0 Reloc correction routine, which caused a
  306.   crash for at least 2 (partly) defective files.
  307. - Moved DeluxeCruncher into library, as it is a ByteKiller clone.
  308.   Please remove external DeluxeCruncher.
  309. - Added support for StoneCracker 4.10 Plain Address header and
  310.   ByteKiller 2.03/2.05. Address crunched files no longer pass a hunk
  311.   structure test, as there are lots of files with defective structure
  312.   which are still decrunchable and the decrunch slaves do not need a
  313.   correct structure.
  314. - Fixed bug in FileDescript linker which caused a crash on 68000 CPU's.
  315. - Added ByteKiller97 slave. What guy did a ByteKiller clone in 1997?
  316.   And additionally he forgot to add pad bytes in the hunk version.
  317. - Fixed Crunch external to support BSS hunks.
  318. - ProPack slave now supports files with missing HUNK_END.
  319.  
  320. XFD 1.22 [xfdmaster.library 38.6]
  321. - Added new Cruncher ID's SLAM (StoneCracker 4.04), ViS1 & ViSL
  322.   (CrunchMania), FLT! (Imploder), KDUB (MasterCruncher 3.0),
  323.   LSD! (MasterCruncher 3.0 or CrunchMania), 1AM & 2AM (StoneCracker).
  324.   Please remove KDUB, LSD! and 1AM externals.
  325.   Thanks to Rafal Mania and Don Adan for example files.
  326. - Added StoneCracker2.92 Data. External 89A8 is obsolete now.
  327. - Added updated decrunchers. Thanks to Martin Jeppesen for sending
  328.   them.
  329. - Added FileDescript Linker (xDiz and TxtExtract). These are the first
  330.   two implemented linkers, which do not use executable files.
  331. - Included Installer script made by Chris Young.
  332. - Replaced ByteKillerFake by newer ByteKillerClone. Thanks Don Adan for
  333.   the file.
  334. - Added "Unknown Cruncher 1" (Unknown1 external). Anyone who knows the
  335.   name of that address cruncher? Thanks Martin Jeppesen and Don Adan
  336.   for example files.
  337. - Fixed bug in xfdList.
  338. - GZip external is a lot saver now, updated DeluxeCruncher and
  339.   AddrHeads.
  340. - Added LeCrunch external. I do not have the cruncher itself. Would be
  341.   fine if anyone could send it.
  342. - Added Crunch external for Crunch1.3 and Crunch1.4ß files. Remove CRUa
  343.   or related externals.
  344. - Moved Supplex into master library as "Mega Cruncher Obj".
  345. - Added "PowerPacker4.0 LoadSeg Overlay" files support.
  346. - Added TUC1.16 decruncher done by Georg Hörmann. As you can see Georg
  347.   is still alive and programming (I did not get TUC finished for about
  348.   a half year now.). TUC is really a worst example of programming.
  349.  
  350. XFD 1.21 [xfdmaster.library 38.5]
  351. - Bugfix in xfdmaster.library 38.3 "PK Protector 2.00" slave. Special
  352.   thanks to Jan Andersen for sending me the bug report from Alex van
  353.   Niel. Released as xfdmaster.library 38.4.
  354. - From now the library is no longer done by Georg but by Dirk Stöcker.
  355.   Maybe that changes back again in future. Nobody knows :-)
  356. - Included PPbk in xfdmaster.library now doing complete decrunching.
  357.   Please remove PPBK from LIBS:xfd directory!
  358. - Added ID XPKZ to CrunchMania and PACK to PowerPacker.
  359. - Added new externals PCompress2, GZip, DataPACK, ISC, DeluxeCruncher
  360.   and their sources.
  361. - New external AddrHeads removes xfd and ObjectMaster address headers.
  362. - Included xfdDecrunchAddr tool in the distribution.
  363. - Updated LSD! external to support fake CrM2 files.
  364. - Added Text-Linkers EXP1.1, ETA0.91, ETA0.99 and ETA1.00. Has anyone
  365.   a linker program or not recogniced linker files? Please send them.
  366. - Added new V38.5 AmigaE support files done by Sven Steiniger.
  367. - Added Crunch-O-Matic 1.0 (COMatic external). This cruncher seems to
  368.   be buggy, as some of the decrunched files are corrupt. The decruncher
  369.   itself should not do any weird things (like crashing) except
  370.   producing corrupt files, as there is no way testing the files.
  371.   Solutions, bug fixes or newer Crunch-O-Matic versions are welcome.
  372. - Fixed a bug Georg introduced in 38.3 SyncroPacker fix. Normal
  373.   SyncroPacker files are recogniced again.
  374. - Removed some little Enforcer hits in GNU-Packer, FlashSpeed and TSK.
  375. - Updated some other external decrunchers.
  376.  
  377. XFD 1.20 [xfdmaster.library 38.3]
  378. - Removed externals AMOS, CRND, CRUN, FUCK as they are included in the
  379.   external ByteKillerFake too. Thanks to Dirk Stöcker for the hint.
  380. - PowerPacker Data slave supports PP2O files now (capital O instead of
  381.   zero). Thanks to Dirk Stöcker again.
  382. - Added new externals DMP0, PCompress and Supplex written by Dirk
  383.   Stöcker and Nils Görs. Thanks guys, this really saved me some work.
  384. - Added sourcecodes for new PCompress and Supplex externals.
  385. - Added support for patched DragPack 1.0 files. These will not appear
  386.   very much as they are made by hand, but it was simple to implement,
  387.   so why not? Thanks to Dirk Stöcker again for the example.
  388. - Added support for another SyncroPacker version to the S.P. slave.
  389.   The example file must have been created by a version different to
  390.   4.6, but I don't know if any other versions exist, so I added it
  391.   to 4.6. Thanks again to Dirk for the file.
  392. - Improved ProPack slave. It now supports files with manipulated IDs.
  393.   But the correct algorithm type in the ID is still required, so some
  394.   totally overwritten IDs will still not be recognized.
  395. - Added StoneCracker 4.03 slave. Thanks to Dirk for the files.
  396. - Reworked recognition for StoneCracker 4.04 files. Manipulated IDs
  397.   will be accepted now. Thanks to Dirk for the files.
  398. - Reworked ProPack slave again. It now accepts any kind of
  399.   manipulation. Thanks to Dirk for the files.
  400. - Fixed CP external. This one recognized 'CPic' files and then crashed.
  401.   As I don't have CP files, I just added a 'negative' recognition to
  402.   avoid CPic files. Thanks to Dirk for the bug report.
  403. - Added PK-Protector 2.00 slave. This will just remove the protection
  404.   from crunched files so you can decrunch them afterwards. Thanks to
  405.   Mr.Larmer for sending the program.
  406.  
  407. XFD 1.19 [xfdmaster.library 38.2]
  408. - Added external slave 'UNIX-Compress' and its sourcecode written by
  409.   Dirk Stöcker. Thanks a lot. This is the first slave written in 'C'
  410.   and a good example how to do it correctly.
  411. - Fixed problem with PowerPacker Data slaves. With odd file lengths the
  412.   slaves crashed on MC68000. Thanks to Dirk Stöcker for the report.
  413. - Added recognition for 'PARA' files to Imploder slave. It's just a
  414.   cloned FImp file and the external PARA slave wrongly recognized
  415.   'SCOPTIONS' files as PARA crunched. Please remove PARA slave from
  416.   LIBS:xfd!! Thanks again to Dirk for the report.
  417. - Added new Include files for 'C' language. These are 100% correct
  418.   and have been created by Dirk Stöcker. Thanks once again.
  419. - Fixed Autodocs: Some synopsises for 'C' were incorrect. Thanks one
  420.   more time to Dirk ;-)
  421. - Fixed Imploder Data slave: The last longword is just a checksum that
  422.   has been stripped at some clones, I don't test for this any longer.
  423.   Thanks for the example files to Dirk.
  424. - Added old Imploder version. I can only guess which version created
  425.   the file sent by Dirk Stöcker (maybe 1.0?), because I've never seen
  426.   such an Imploder file header and I don't have Imploder 1.0, but it's
  427.   definately an original Imploder file. Anyway, such files are handled
  428.   correctly now.
  429. - Added PowerPacker 2.0 slave. Thanks to Dirk for the example file.
  430. - Fixed bug in CrunchMania Data slaves and added XFDPFF_RECOGLEN and
  431.   XFDPFF_USERTARGET support.
  432. - Added XFDPFF_RECOGLEN and XFDPFF_USERTARGET to Imploder Data and
  433.   PowerPacker Data slaves. All important data formats support the
  434.   new flags now, I will add them to the minor slaves somewhere in
  435.   the near future.
  436. - Added xfdm_ExecBase field to the library base. Not all internal
  437.   slaves can support this cached pointer, but most will do in the
  438.   future. The main library code already supports the field for better
  439.   CPU performance.
  440. - Did a little definition add-on I forgot in v38.1: If slaves support
  441.   XFDPFF_RECOGLEN but can't for what reason ever determine the correct
  442.   lengths for return to the caller, they set xfdrr_MinTargetSize and
  443.   xfdrr_FinalTargetSize to -1. So please check for those values in
  444.   your applications. Sorry!
  445. - Added support for cached ExecBase to almost every internal slave
  446.   and by the way fixed some bad library calls that might have caused
  447.   crashes (funny: all errors stuck in error handling code ;-)
  448.  
  449. XFD 1.18 [xfdmaster.library 38.1]
  450. - Added support for CrunchyDat 1.0 files. Thanks go to Bert Jahn for
  451.   sending me that packer.
  452. - Added new feature to xfdRecogBuffer(): The recog code can determine
  453.   the length of the decrunched file already during recognition. The
  454.   caller then knows how big the buffer for decrunching must be and
  455.   can allocate its own buffer for that purpose. This is supported by
  456.   xfdDecrunchBuffer() now. All this meant changes in xfdBufferInfo,
  457.   lots of additional flags and a new structure called xfdRecogResult.
  458.   See autodocs for further information.
  459.   Idea by Dirk Stöcker, author of XPK, to make XFD more compatible to
  460.   XPK and let XPK benefit from the power of xfdmaster.library.
  461. - Unfortunately, in the current state of development, everything is
  462.   prepared for the new features, but no slave supports them until now.
  463.   And there will always be slaves that never ever support them because
  464.   it's simply impossible to calculate the decrunched length without
  465.   starting to decrunch the files.
  466.   Nevertheless I will try to update all slaves as soon as possible.
  467. - Here we go: Added support for new features to StoneCracker Data
  468.   slaves and ProPack Data slaves to test the new options. Works fine!
  469.   Now it's your turn, Dirk ;-)
  470. - Added external slaves and sourcecodes (4GetIt, BHC3, ImploderClone,
  471.   PPBk) written by Dave Jones. Thanks dude!
  472.  
  473. XFD 1.17 [xfdmaster.library 37.8]
  474. - Added support for StoneCracker 2.99b files. Thanks to Mr. Larmer for
  475.   sending me that old cruncher.
  476. - Fixed bug in xfdScan() routine that caused crashes when using hooks.
  477.   Thanks again to Mr. Larmer for the report.
  478. - Finally added support for old ProPack data files. These use the same
  479.   identifier like the new ones, therefore it was a bit complicated to
  480.   determine the correct type. Thanks again to Mr. Larmer for example
  481.   files and decrunchers.
  482.  
  483. XFD 1.16 [xfdmaster.library 37.6]
  484. - Fixed problem with ProPack (RNC) executables that contain hunks
  485.   with reloc information. Thanks to Mr. Larmer/Wanted Team for the
  486.   example file.
  487. - Added JEK!, LeCr and Vice decrunchers written by Mr. Larmer.
  488. - Added support for PowerPacker LoadSeg (PPLS) files. Thanks for
  489.   the suggestion to WEPL. These files may cause problems because
  490.   overlayed files are crunched as well with this format without
  491.   any differences :-(
  492.  
  493. XFD 1.15 [xfdmaster.library 37.5]
  494. - Added support for CFP 1.35/1.36 protected files.
  495. - Fixed bug in xfdStripHunks(). It may happen that a hunk_name etc.
  496.   is the very last hunk without any other information after it. In
  497.   this case the old routine crashed. Thanks for the example file to
  498.   Christoph Dietz.
  499. - Added new ProPack strain. Thanks to WEPL for sending the sample.
  500. - Added 68000-fixed version of BOND external slave to the library.
  501.   Thanks to Dirk Stöcker for the bug report.
  502. - Fixed external CP slave. Now it won't produce wrong recognitions
  503.   any longer. Thanks to Holger Wessling and Emmanuel Poirier for
  504.   the example files.
  505.  
  506. XFD 1.14 [xfdmaster.library 37.3]
  507. - Added CPU cache handling code to all routines that manipulate any
  508.   buffers. I hope this will reduce problems with 68040/060 CPUs.
  509. - Replaced several buggy sublibraries by Mr.Larmer/Wanted Team with
  510.   new cleaned-up versions. Thanks for that updates, dude.
  511. - Added new sublibrary (DPRa) and some Amiga E stuff by DII. Thanks!
  512.  
  513. XFD 1.13 [xfdmaster.library 37.2]
  514. - Added segment support to Titanics Cruncher 1.1/1.2, Spike Cruncher,
  515.   ProPack, TurboSqueezer 6.1/8.0 and HQC Cruncher 2.0 slaves.
  516. - Added Master Cruncher 3.0 Data slave, added segment support to
  517.   Master Cruncher 3.0 slave and rewrote parts of the Master Cruncher
  518.   decrunch routines.
  519. - Added new version of xfdPatch with a serious bug fixed. Sorry folks!
  520. - Arhh! Bug fixed in the optimized Crunchmania routines added in 1.12.
  521.   Empty code hunks caused a system crash. Thanks to Holger Wessling
  522.   for the report and the example files.
  523. - Fixed little bug in the StoneCracker 4.04 Data length calculation.
  524.   No crash this time :-) Thanks to Holger again for the example file.
  525. - Added segment support to DragPack 2.52 slave.
  526. - Added XFDPFF_RELMODE flag support to the following slaves: Propack,
  527.   Imploder (Normal/Lib/Overlay) and CrunchMania (Normal/Lib/Simple)!
  528.   As these crunchers already allocate their hunks during LoadSeg(),
  529.   I wrote a hunk manager that checks the memory type of each loaded
  530.   hunk and switches to another area if neccessary.
  531. - Added segment support to Chryseis Cruncher 0.9 and ReloKit 1.0.
  532.   Finally I made it!! All internal reloc slaves support full segment
  533.   decrunching and relocation modes now :-))
  534. - Combined Powerpacker x.x Master/Normal to simple PowerPacker x.x
  535.   slaves. This saves memory and CPU time.
  536. - Added data scan support to LightPack 1.5 and TurtleSmasher 2.00
  537.   Data slaves. Changed CrunchMaster 1.0 type from data to address.
  538. - Added data scan support to ST Cruncher 1.0 Data slave. Now all
  539.   internal data slaves support data scanning!!
  540. - Added Super Cruncher 2.7 slave with buffer and segment support.
  541. - Added Ultimate Packer 1.1 slave with buffer and segment support.
  542. - Added Old ProPack (RNC) slave. Thanks to WEPL for the sourcecode
  543.   and the example files. This slave cannot handle XFDREL_#? as only
  544.   the first hunk is crunched and all others are already relocated at
  545.   decrunch time. Sorry!
  546. - Added SA/SC/SF/SP/SQ Cruncher slave. Here we have a big problem:
  547.   There exist different versions of the SA, SC and SP formats with
  548.   different crunch algorithms. Therefore these will only be scanned
  549.   for, but not decrunched. SF and SQ should work properly. Thanks to
  550.   WEPL for the sourcecode and the example files.
  551. - Added PowerPacker Patch 1.0 slave. This silly tool adds different
  552.   headers to standard PowerPacker 4.0 files. Thanks to Dave Jones
  553.   for sending that stuff.
  554. - Added ExeDescript 1.0 Linker to the internal linker brain. This
  555.   one is a bit special as it just adds a data hunk at the end of a
  556.   file with some text in it. To recognize this stuff, the whole file
  557.   must be in memory. Sorry, but the xfdm_MinLinkerSize field is of
  558.   no use any longer for this type of linker. Thanks to Dave Jones
  559.   for sending lots of example files.
  560.  
  561. XFD 1.12 [xfdmaster.library 37.1]
  562. - Fixed problem in ProPack slave. It may happen that some hunks are
  563.   not crunched in the RNC format but included as plain hunks. This has
  564.   not been supported correctly. Thanks to Dave Jones and John Aadnoy
  565.   for the example files.
  566. - Optimized decrunch speed of CrunchMania slave by factor 50 !!!
  567.   You won't see it with small files, but Holger Wessling sent me two
  568.   files that took several minutes to decrunch with the old routine
  569.   and about 4 seconds with the new one (the file had up to 140 hunks
  570.   and 6200 reloc entries at 700000 bytes). Thanks Holger.
  571. - Added lots of external decrunchers written by Mr.Larmer/Wanted Team.
  572.   Thanks for all the work you had with that stuff.
  573. - Added new utility called xfdPatch. Just use it!
  574. - Added an extra feature to Imploder and CrunchMania slaves:
  575.   they both will decrunch even some modified files now. Thanks to
  576.   Dave Jones for sending the 'The Party IV' 40k intros.
  577. - Added full GNU Packer 1.2 support. Thanks to Mr.Larmer/Wanted Team
  578.   for sending that stuff.
  579. - Added new version of xfdPatch that allows to set relocation modes.
  580. - Added support for TrashEliminator 1.0.
  581. - Added new version of xfdLibInfo.
  582. - Added new functions to xfdmaster.library: xfdScanData(),
  583.   xfdFreeScanList() and xfdObjectType(). The data scanner is based
  584.   on an idea by Holger Wessling. Thanks dude!
  585. - Added new fields to xfdBufferInfo and xfdSegmentInfo structures.
  586.   Read the autodocs for more details about the new behaviour of
  587.   xfdRecogBuffer()/xfdRecogSegment() concerning external slaves.
  588.   This was neccessary as a lot of people sent me files that made
  589.   some trouble with external slaves. Thanks to Axel Folley, Holger
  590.   Wessling, John Aadnoy and all the others for the example files.
  591. - Added new utility called xfdScan that supports the new data scan
  592.   routines.
  593. - Added data scan support and improved data recognition/testing to
  594.   ANC, SoundTracker Song, CrunchMania, DragPack 2.52, GNU Packer,
  595.   IAM (ICE!/ATM5), PMC, StoneCracker, XPK, ProPack, PackIt and
  596.   Imploder data slaves.
  597. - Added new versions of xfdList, xfdDecrunch and xfdPatch.
  598. - Added data scan support for PowerPacker PP20 data. This code is
  599.   a real data analyzer that checks data for proper decrunchability.
  600.   The crypted data PX20 however can not be scanned in deep mode.
  601. - Added segment support to QuickPowerPacker 1.0.
  602. - Added new function xfdInitScanHook() for easy hook management.
  603. - Added ProPackExe external decruncher. Thanks to WEPL for sending
  604.   this new format.
  605.  
  606. XFD 1.11 [xfdmaster.library 36.4]
  607. - Added new versions of xfdDecrunch, xfdList and xfdUnlink with
  608.   several bug fixes and/or new features.
  609. - Fixed support for Hunk_Reloc32Short in xfdTestHunkStructureFlags(),
  610.   xfdRelocate() and xfdStripHunks(). Thanks to WEPL for the report.
  611. - Added new/updated external decrunchers written by WEPL (thanks
  612.   for all your work): Ice_TSM, SSUR, TPWM, BOND, CMP1, LOB, DeCloner.
  613. - Added Oberon include file for xfdmaster.library. Thanks again to
  614.   WEPL for that stuff. Please note that it is written for XFD 1.07
  615.   and therefore a bit old, but you may modify it for your needs.
  616. - Added external decruncher for 4Vx written by Psygore. Thanks to
  617.   Holger Wessling for sending it.
  618. - Added full segment decrunch support to Imploder, Imploder Library
  619.   and Imploder Overlay slaves. No dirty jump-in hacks, but a real
  620.   emulation that also corrects the hunktable entries of overlays.
  621. - Fixed PowerPacker 3.0/4.0 Overlay segment decrunching code.
  622.   The entries in the hunktable haven't been updated.
  623.  
  624. XFD 1.10 [xfdmaster.library 36.3]
  625. - Added recognition and unlink code for Glue 2.2 and Glue 2.3 text
  626.   linkers. You will get the text file and the original executable
  627.   as a result after unlinking such files. Thanks to Markus Schmall
  628.   and Dave Jones for the example files.
  629. - Finally fixed Imploder stuff to work 100% correctly. The new
  630.   method is a bit slower, but doesn't waste any memory any longer.
  631.   The length calculation of the old one was based on a rough guess,
  632.   now it's counted byte by byte. Corrupted data is detected now and
  633.   won't lead to a big crash any longer. The new code also recognizes
  634.   if a hunk was originally data or code.
  635. - Added support for Imploder Overlay files. These have been only
  636.   recognized, but not decrunched. Now the new length calculation
  637.   made it easy to finally implement that stuff. Thanks to Axel
  638.   Folley for all the example files.
  639. - Added new version of xfdDecrunch.
  640.  
  641. XFD 1.09 [xfdmaster.library 36.1]
  642. - Oops! XPK slave set password length to 0. This caused some
  643.   trouble when decrunching XPK encrypted files. I forgot to
  644.   set MaxSpecialLen to -1 as XPK has unlimited password lengths.
  645.   Thanks to the guy (sorry, forgot your name) who called me.
  646. - Fixed xfdTestHunkStructure[New]() and xfdRelocate().
  647.   Those two calls now only support hunk types that may really
  648.   exist in load files and no longer any weird linker stuff.
  649.   Added full support for hunk_reloc32short ($3f7/$3fc).
  650. - Added xfdTestHunkStructureFlags() with XFDTHB_NOOVERLAYS
  651.   to force an error if a file is overlayed.
  652. - Added xfdStripHunks() as an easy possibility to remove
  653.   hunk_name, hunk_symbol and/or hunk_debug from files.
  654. - Extended xfdSlave and xfdMasterBase structures.
  655.   Internal slaves have an ID now and can be replaced by
  656.   external slaves. Minimum buffer size to recognize a
  657.   crunched file can be specified for every slave now.
  658.   The largest buffer size is stored in xfdMasterBase and
  659.   can be used as buffer size for recognition purposes.
  660.   Thanks to Dave Jones and the other guy (see above) for
  661.   the inspiration.
  662. - Added new versions of xfdDecrunch and xfdLibInfo.
  663. - Moved external Chryseis slave inside library.
  664. - Added new version of xfdList.
  665. - Fixed defines in xfdmaster.h from $XYZ to 0xXYZ.
  666. - Added external decrunchers: AXIS, LOB and SF written by
  667.   A. Van Helsing/X-TraDe. Thanks to Holger Wessling for
  668.   sending them to me.
  669. - Fixed ProPack slave. Recognizes another executable header
  670.   now and doesn't crash with several hunk_bss any more.
  671.   Thanks to Markus Schmall for reporting the problem.
  672. - Fixed StoneCracker 4.04 slave. Forgot to support empty
  673.   code and data hunks as old compilers produce them.
  674.   Thanks to Dave Jones for the example file.
  675. - Added StoneCracker 4.03 Data slave and replaced SC 4.04
  676.   decrunch code by the optimized version from 'Cozine'.
  677. - Added QuickPowerPacker 1.0 slave.
  678.   Thanks to Dave again for sending this stuff.
  679. - Added xfdAllocObject() and xfdFreeObject() as a replacement
  680.   for Alloc#?Info() and Free#?Info().
  681. - Added xfdRecogLinker() and xfdUnlink() to support so-called
  682.   4EB9-Linkers and their clones.
  683. - Fixed problem with some PowerPacker 4.0 files. It might have
  684.   happened in one special case that one byte of the processed
  685.   reloc hunk was overwritten before it was reprocessed.
  686.   Using a one-byte prefetch mechanism now fixes this bug.
  687. - Added xfdm_MinLinkerSize field in xfdMasterBase structure.
  688. - Added recognition for 4EB9, 4EF9, UFO and XLink linkers to
  689.   the internal linker brain.
  690. - Added unlink code for 4EB9, 4EF9, UFO and XLink linkers.
  691. - Fixed another problem with PowerPacker 4.0 files. If hunks
  692.   are located in chipmem, PP sets the qualifier in the hunk
  693.   header AND in the hunks themselves. OS 2.0+ doesn't like
  694.   this behaviour very much and crashes immediately. The flag
  695.   will therefore be deleted in the hunks now.
  696.   Thanks to Axel Folley for sending me an example file.
  697. - Fixed problem with SoundTracker songs. Some clever game
  698.   coders use the same identifier (PACK) for their files, but
  699.   certainly another algorithm. I use an enhanced recognition
  700.   now that checks the uncrunched length for valid song sizes.
  701.   Thanks again to Axel Folley for all the example files.
  702. - Added the tool xfdUnlink to the package. This is just a
  703.   simple interface for unlinking linked files.
  704. - Added second type of 4EB9 linker and fixed recognition
  705.   for UFO linker.
  706. - Fixed Imploder decrunch code to support modified files too.
  707.   Some guys tried to prevent XFD and also the Imploder itself
  708.   from unpacking files by changing a data to a code hunk.
  709.  
  710. XFD 1.08 [xfdmaster.library 35.1]
  711. - Added new feature to xfdmaster.library (now version 35):
  712.   Crunchers that require a 16/32 bit key for decrunching are
  713.   supported now. Only neccessary for ProPack (RNC) at the
  714.   moment.
  715. - Added new versions of xfdDecrunch and xfdLibInfo that
  716.   support the new feature.
  717. - Added full support for ProPack, formerly called RNC.
  718.   Now also decrunches executables and key-locked data files.
  719.   Moved the external decruncher inside the library.
  720. - Added support for TetraPack 1.1.
  721. - Added support for HQC Compressor 1.00.
  722. - Added external decrunchers for LZWH and GraftGold.
  723. - Added support for TSK Cruncher, LightPack 1.5 and
  724.   SoundTracker Cruncher 1.0 Exe/Data files.
  725. - Added new tool to the package: HackProPack. This makes it
  726.   possible to decrunch key-locked ProPack data files.
  727. - Re-added Kickstart 1.2/1.3 support to xfdDecrunch.
  728.   Hope everybody is happy now, so am I.
  729. - Added support for segment decrunching to the following
  730.   slaves: DragPack 1.0, StoneCracker 4.00/4.01/4.04,
  731.   CrunchMania Normal/Library/Simple, TNM Cruncher 1.1.
  732. - Revised XPK external decruncher and moved it inside
  733.   xfdmaster.library.
  734. - Moved PMC external decruncher inside the library.
  735. - Debugged arp.library stuff in xfdDecrunch, xfdList
  736.   and HackProPack. Some arp routines behave different from
  737.   dos v37, but it wasn't documented anywhere.
  738. - Added segment support to IAM Packer 1.0 and PackIt 1.0.
  739.  
  740. XFD 1.07 [xfdmaster.library 34.1]
  741. - Added new sublibs for SSUR, TPWM and TSM crunchers.
  742.   Thanks to WEPL for sending them.
  743. - Added RNC2 support to the RNC external decruncher.
  744.   Thanks to WEPL again for sending me the sourcecode.
  745.  
  746. XFD 1.06 [xfdmaster.library 34.1]
  747. - Increased library version to 34 because of new features.
  748.   The V34 library is fully downward compatible to V33 libraries.
  749. - Rewritten xfdGetErrorText() function with lots of new error codes.
  750. - Added xfdTestHunkStructureNew() routine that returns detailed
  751.   error codes.
  752. - Added xfdRelocate() routine for better segment list support.
  753. - Extended xfdSegmentInfo structure for relocation mode support.
  754. - Overworked autodocs for more detailed information.
  755. - Overworked whole 'C' support stuff (includes, protos, pragmas).
  756. - Updated Assembler support files.
  757. - Added external decruncher for PMC files.
  758. - Added support for recognition and decrunching of segments
  759.   to the following slaves:
  760.   - PowerPacker 2.3 command files (all modes)
  761.   - PowerPacker 3.0 command files (all modes)
  762.   - PowerPacker 4.0 command files (all modes)
  763. - Added new version of xfdLibInfo with extended information.
  764. - Added external decrunchers for RNC and FIRE files. Thanks to
  765.   Dexter&BartMan/Abyss for sending me this stuff.
  766. - Added ATN! support to xfdmaster.library. Dexter/Abyss sent me
  767.   an external for this one, but it's just a FImp clone, so I
  768.   added it to the internals.
  769.  
  770. XFD 1.05 [xfdmaster.library 33.6]
  771. - Added decrunch support for StoneCracker 4.04 executables.
  772. - Added external decruncher for XPK files.
  773.  
  774. XFD 1.04 [xfdmaster.library 33.4]
  775. - Added 'C' includes, protos, pragmas. Thanks to Anders Melchiorsen
  776.   for typing all this stuff. Thanks to Brice Allenbrand too. He also
  777.   typed some 'C' stuff, but Anders was 3 days faster. Sorry!
  778. - Removed arp.library from the package as everybody has it anyway.
  779. - Added decrunch support for StoneCracker 4.04 data & address files.
  780.  
  781. XFD 1.03 [xfdmaster.library 33.3]
  782. - Added new version of xfdDecrunch with extended features.
  783.  
  784. XFD 1.02 [xfdmaster.library 33.3]
  785. - Did astonishing speed optimization to CrunchMania decruncher. All
  786.   files with lots of relocs will decrunch about 30 times faster. Thanks
  787.   to Markus Schmall who sent me a file (GadToolsBox with over 8000 [!]
  788.   reloc entries) that took 90 seconds (!) before that code cleanup and
  789.   3 seconds afterwards. Actually he thought XFD would crash, but who
  790.   waits 90 seconds ??? ;-)
  791. - Added Chryseis 0.9 decruncher. This one is implemented as external
  792.   decruncher including sourcecode as an example on how to code that
  793.   kind of thing.
  794. - Added File Imploder (FImp) decruncher.
  795. - Added new version of xfdDecrunch with lots of new features.
  796.  
  797. XFD 1.01 [xfdmaster.library 33.2]
  798. - Added asm includes, autodocs and fd files.
  799. - Final fixes in password code.
  800. - Added new versions of xfdDecrunch and xfdLibInfo.
  801. - Added support for external decrunchers.
  802.  
  803. XFD 1.00 [xfdmaster.library 33.1]
  804. - First public release.
  805.