home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / Cruncher / XFD109.LHA / xfd / README
Encoding:
Text File  |  1995-09-25  |  11.3 KB  |  261 lines

  1.                       XFD Package - Release 1.09
  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.                          xfdLibInfo, xfdList, xfdDecrunch, Asm support,
  21.                          some external decrunchers.
  22. Anders Melchiorsen     - 'C' includes, protos, pragmas.
  23. Dexter&Bartman/Abyss   - External decruncher for FIRE.
  24. WEPL                   - External decrunchers for SSUR, TPWM & TSM.
  25. ?                      - External decrunchers for GraftGold and LZWH.
  26. A. Van Helsing/X-TraDe - External decrunchers for AXIS, LOB and SF.
  27.  
  28. INTRODUCTION
  29. ------------
  30. Almost  every  Amiga  user  has  some  crunched files on his/her disks,
  31. either  Powerpacked docs or crunched demos, utilities or whatever.  But
  32. what to do when you need the files to be uncrunched, and you don't call
  33. the cruncher your own (or it doesn't support decrunching)?  Enters XFD.
  34.  
  35. FEATURES
  36. --------
  37. This  software  package allows you to decrunch almost every packed file
  38. known  on the Amiga.  It consists of the xfdmaster.library as the brain
  39. and a couple of programs that offer certain functions to the user.
  40.  
  41. The  xfdmaster.library is a standard Amiga shared, runtime library.  It
  42. works  with  Kickstart  V33+ and offers applications the possibility to
  43. directly support any crunched files.
  44.  
  45. Other  than the predecessor decrunch.library, the xfdmaster.library has
  46. a  more  flexible interface, offers the possibility to decrunch already
  47. loaded  program  segments, supports external decrunchers and is able to
  48. unlink so-called 4EB9-linked files.
  49.  
  50. EXTERNAL DECRUNCHERS
  51. --------------------
  52. External  decrunchers  can  be easily written by any programmer who has
  53. knowledge  about the inner workings of a new cruncher.  That way almost
  54. everybody is able to keep the library up-to-date.  External decrunchers
  55. are  stored in "LIBS:xfd/" and xfdmaster.library loads them on startup.
  56. The following are available at the moment:
  57.  
  58. AXIS      - AXIS (PP20-Fake) data files
  59. FIRE      - FIRE data files
  60. GraftGold - GraftGold data files
  61. LOB       - Thalion (LOB) data files
  62. LZWH      - LZ Warp Huffman data files
  63. SF        - SF/SC data files
  64. SSUR      - SSUR data files
  65. TPWM      - TPWM data files
  66. TSM       - TSM data files
  67.  
  68. Old  external  decrunchers  that  are no longer required (please delete
  69. them from "LIBS:xfd/" to save diskspace AND memory):
  70.  
  71. Chryseis  - moved inside xfdmaster.library
  72. PMC       - moved inside xfdmaster.library
  73. RNC       - moved inside xfdmaster.library
  74. XPK       - moved inside xfdmaster.library
  75.  
  76. SUBMISSIONS
  77. -----------
  78. You are a programmer who has
  79. - developed external decrunchers for xfdmaster.library?
  80. - written applications that support xfdmaster.library?
  81. You have new crunchers that are not supported yet?
  82. Please send anything of the above to the following address:
  83.  
  84. Georg Hörmann
  85. Martinswinkelstraße 16c
  86. 82467 Garmisch-Partenkirchen
  87. Germany
  88.  
  89. THANKS
  90. ------
  91. Special  thanks  go  out  to  all the people who sent me new crunchers,
  92. external  decrunchers,  bug  reports  or  whatever.  You will find your
  93. names somewhere in the history.
  94.  
  95. HISTORY
  96. -------
  97. XFD 1.09 [xfdmaster.library 36.1]
  98. - Oops! XPK slave set password length to 0. This caused some
  99.   trouble when decrunching XPK encrypted files. I forgot to
  100.   set MaxSpecialLen to -1 as XPK has unlimited password lengths.
  101.   Thanks to the guy (sorry, forgot your name) who called me.
  102. - Fixed xfdTestHunkStructure[New]() and xfdRelocate().
  103.   Those two calls now only support hunk types that may really
  104.   exist in load files and no longer any weird linker stuff.
  105.   Added full support for hunk_reloc32short ($3f7/$3fc).
  106. - Added xfdTestHunkStructureFlags() with XFDTHB_NOOVERLAYS
  107.   to force an error if a file is overlayed.
  108. - Added xfdStripHunks() as an easy possibility to remove
  109.   hunk_name, hunk_symbol and/or hunk_debug from files.
  110. - Extended xfdSlave and xfdMasterBase structures.
  111.   Internal slaves have an ID now and can be replaced by
  112.   external slaves. Minimum buffer size to recognize a
  113.   crunched file can be specified for every slave now.
  114.   The largest buffer size is stored in xfdMasterBase and
  115.   can be used as buffer size for recognition purposes.
  116.   Thanks to Dave Jones and the other guy (see above) for
  117.   the inspiration.
  118. - Added new versions of xfdDecrunch and xfdLibInfo.
  119. - Moved external Chryseis slave inside library.
  120. - Added new version of xfdList.
  121. - Fixed defines in xfdmaster.h from $XYZ to 0xXYZ.
  122. - Added external decrunchers: AXIS, LOB and SF written by
  123.   A. Van Helsing/X-TraDe. Thanks to Holger Wessling for
  124.   sending them to me.
  125. - Fixed ProPack slave. Recognizes another executable header
  126.   now and doesn't crash with several hunk_bss any more.
  127.   Thanks to Markus Schmall for reporting the problem.
  128. - Fixed StoneCracker 4.04 slave. Forgot to support empty
  129.   code and data hunks as old compilers produce them.
  130.   Thanks to Dave Jones for the example file.
  131. - Added StoneCracker 4.03 Data slave and replaced SC 4.04
  132.   decrunch code by the optimized version from 'Cozine'.
  133. - Added QuickPowerPacker 1.0 slave.
  134.   Thanks to Dave again for sending this stuff.
  135. - Added xfdAllocObject() and xfdFreeObject() as a replacement
  136.   for Alloc#?Info() and Free#?Info().
  137. - Added xfdRecogLinker() and xfdUnlink() to support so-called
  138.   4EB9-Linkers and their clones.
  139. - Fixed problem with some PowerPacker 4.0 files. It might have
  140.   happened in one special case that one byte of the processed
  141.   reloc hunk was overwritten before it was reprocessed.
  142.   Using a one-byte prefetch mechanism now fixes this bug.
  143. - Added xfdm_MinLinkerSize field in xfdMasterBase structure.
  144. - Added recognition for 4EB9, 4EF9, UFO and XLink linkers to
  145.   the internal linker brain.
  146. - Added unlink code for 4EB9, 4EF9, UFO and XLink linkers.
  147. - Fixed another problem with PowerPacker 4.0 files. If hunks
  148.   are located in chipmem, PP sets the qualifier in the hunk
  149.   header AND in the hunks themselves. OS 2.0+ doesn't like
  150.   this behaviour very much and crashes immediately. The flag
  151.   will therefore be deleted in the hunks now.
  152.   Thanks to Axel Folley for sending me an example file.
  153. - Fixed problem with SoundTracker songs. Some clever game
  154.   coders use the same identifier (PACK) for their files, but
  155.   certainly another algorithm. I use an enhanced recognition
  156.   now that checks the uncrunched length for valid song sizes.
  157.   Thanks again to Axel Folley for all the example files.
  158. - Added the tool xfdUnlink to the package. This is just a
  159.   simple interface for unlinking linked files.
  160. - Added second type of 4EB9 linker and fixed recognition
  161.   for UFO linker.
  162. - Fixed Imploder decrunch code to support modified files too.
  163.   Some guys tried to prevent XFD and also the Imploder itself
  164.   from unpacking files by changing a data to a code hunk.
  165.  
  166. XFD 1.08 [xfdmaster.library 35.1]
  167. - Added new feature to xfdmaster.library (now version 35):
  168.   Crunchers that require a 16/32 bit key for decrunching are
  169.   supported now. Only neccessary for ProPack (RNC) at the
  170.   moment.
  171. - Added new versions of xfdDecrunch and xfdLibInfo that
  172.   support the new feature.
  173. - Added full support for ProPack, formerly called RNC.
  174.   Now also decrunches executables and key-locked data files.
  175.   Moved the external decruncher inside the library.
  176. - Added support for TetraPack 1.1.
  177. - Added support for HQC Compressor 1.00.
  178. - Added external decrunchers for LZWH and GraftGold.
  179. - Added support for TSK Cruncher, LightPack 1.5 and
  180.   SoundTracker Cruncher 1.0 Exe/Data files.
  181. - Added new tool to the package: HackProPack. This makes it
  182.   possible to decrunch key-locked ProPack data files.
  183. - Re-added Kickstart 1.2/1.3 support to xfdDecrunch.
  184.   Hope everybody is happy now, so am I.
  185. - Added support for segment decrunching to the following
  186.   slaves: DragPack 1.0, StoneCracker 4.00/4.01/4.04,
  187.   CrunchMania Normal/Library/Simple, TNM Cruncher 1.1.
  188. - Revised XPK external decruncher and moved it inside
  189.   xfdmaster.library.
  190. - Moved PMC external decruncher inside the library.
  191. - Debugged arp.library stuff in xfdDecrunch, xfdList
  192.   and HackProPack. Some arp routines behave different from
  193.   dos v37, but it wasn't documented anywhere.
  194. - Added segment support to IAM Packer 1.0 and PackIt 1.0.
  195.  
  196. XFD 1.07 [xfdmaster.library 34.1]
  197. - Added new sublibs for SSUR, TPWM and TSM crunchers.
  198.   Thanks to WEPL for sending them.
  199. - Added RNC2 support to the RNC external decruncher.
  200.   Thanks to WEPL again for sending me the sourcecode.
  201.  
  202. XFD 1.06 [xfdmaster.library 34.1]
  203. - Increased library version to 34 because of new features.
  204.   The V34 library is fully downward compatible to V33 libraries.
  205. - Rewritten xfdGetErrorText() function with lots of new error codes.
  206. - Added xfdTestHunkStructureNew() routine that returns detailed
  207.   error codes.
  208. - Added xfdRelocate() routine for better segment list support.
  209. - Extended xfdSegmentInfo structure for relocation mode support.
  210. - Overworked autodocs for more detailed information.
  211. - Overworked whole 'C' support stuff (includes, protos, pragmas).
  212. - Updated Assembler support files.
  213. - Added external decruncher for PMC files.
  214. - Added support for recognition and decrunching of segments
  215.   to the following slaves:
  216.   - PowerPacker 2.3 command files (all modes)
  217.   - PowerPacker 3.0 command files (all modes)
  218.   - PowerPacker 4.0 command files (all modes)
  219. - Added new version of xfdLibInfo with extended information.
  220. - Added external decrunchers for RNC and FIRE files. Thanks to
  221.   Dexter&BartMan/Abyss for sending me this stuff.
  222. - Added ATN! support to xfdmaster.library. Dexter/Abyss sent me
  223.   an external for this one, but it's just a FImp clone, so I
  224.   added it to the internals.
  225.  
  226. XFD 1.05 [xfdmaster.library 33.6]
  227. - Added decrunch support for StoneCracker 4.04 executables.
  228. - Added external decruncher for XPK files.
  229.  
  230. XFD 1.04 [xfdmaster.library 33.4]
  231. - Added 'C' includes, protos, pragmas. Thanks to Anders Melchiorsen
  232.   for typing all this stuff. Thanks to Brice Allenbrand too. He also
  233.   typed some 'C' stuff, but Anders was 3 days faster. Sorry!
  234. - Removed arp.library from the package as everybody has it anyway.
  235. - Added decrunch support for StoneCracker 4.04 data & address files.
  236.  
  237. XFD 1.03 [xfdmaster.library 33.3]
  238. - Added new version of xfdDecrunch with extended features.
  239.  
  240. XFD 1.02 [xfdmaster.library 33.3]
  241. - Did astonishing speed optimization to CrunchMania decruncher. All
  242.   files with lots of relocs will decrunch about 30 times faster. Thanks
  243.   to Markus Schmall who sent me a file (GadToolsBox with over 8000 [!]
  244.   reloc entries) that took 90 seconds (!) before that code cleanup and
  245.   3 seconds afterwards. Actually he thought XFD would crash, but who
  246.   waits 90 seconds ??? ;-)
  247. - Added Chryseis 0.9 decruncher. This one is implemented as external
  248.   decruncher including sourcecode as an example on how to code that
  249.   kind of thing.
  250. - Added File Imploder (FImp) decruncher.
  251. - Added new version of xfdDecrunch with lots of new features.
  252.  
  253. XFD 1.01 [xfdmaster.library 33.2]
  254. - Added asm includes, autodocs and fd files.
  255. - Final fixes in password code.
  256. - Added new versions of xfdDecrunch and xfdLibInfo.
  257. - Added support for external decrunchers.
  258.  
  259. XFD 1.00 [xfdmaster.library 33.1]
  260. - First public release.
  261.