home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / GIFDEV.ZIP / ARCH1.TXT next >
Text File  |  1989-02-11  |  47KB  |  1,347 lines

  1.  
  2.  
  3.              [[[[[[[[[  ARCHIVE FORMATS AND DATA  ]]]]]]]]] 
  4.  
  5.                          (C) 1989 Raymond Clay 
  6.                Permision to freely distribute and modify 
  7.                  is granted so long as credit is given 
  8.                and all of the text through the disclaimer 
  9.                         is retained and unchanged 
  10.  
  11.         October 31, 1989 
  12.  
  13. If you want to submit corrections, changes or source code (in plain ASCII), 
  14. you can reach me via: 
  15.  
  16.  
  17.         CIS          :   74730,1344 
  18.         GEnie        :   R.CLAY1 
  19.         AppleLink    :   Raymond6 
  20.         StarText     :   209287       <D/FW-Texas 
  21.  
  22. DISCLAIMER: 
  23.  
  24. I make no garuntees of any kind about the accuracy or adequacey of this 
  25. information for any purpose, nor am I responsible for the consequences of 
  26. using this information in any manner. 
  27.  
  28. Oh, for a less litiginous world! 
  29.  
  30.  
  31.           ************************************************** 
  32.  
  33.  
  34.           CONTENTS                                      PAGE 
  35.           -------------------------------------------------- 
  36.           ARC/PAK Format ................................  2 
  37.  
  38.           Binary ][ Format ..............................  3 
  39.  
  40.           DWC Format ....................................  5 
  41.  
  42.           GIF Format ....................................  6 
  43.  
  44.           LZH Format ....................................  8 
  45.  
  46.           NuFX Format ...................................  9 
  47.  
  48.           PackIt Format ................................. 13 
  49.  
  50.           StuffIt ....................................... 13 
  51.  
  52.           ZIP Format .................................... 15 
  53.  
  54.           ZOO Format .................................... 19 
  55.  
  56.           Time Value Formats ............................ 20 
  57.  
  58.           Extended Files ................................ 20 
  59.  
  60.           Filenames ..................................... 20 
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.                                 ARC/PAK                        Page  2 
  70.                                 ======= 
  71.  
  72. System of Origin : IBM 
  73.  
  74. Original author : Thom Henderson 
  75.  
  76. FILE FORMAT 
  77. ----------- 
  78.  
  79.      file header 1 
  80.           file 1 
  81.      file header 2 
  82.           file 2 
  83.      . 
  84.      . 
  85.      file header n 
  86.           file n 
  87. EOF 
  88.  
  89.  
  90. FILE HEADER 
  91. ----------- 
  92.  
  93. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  94. ------ ----------- ---- ----------- ---------------------------------- 
  95. 00     ARCID       DB   $1A 
  96. 01     ARCMTD      DB   00          ;Method 
  97. 02     ARCFNT      DS   12          ;filename 
  98. 0E                 DB   00 
  99. 0F     ARCNSZ      HEX  00000000    ;Compressed size 
  100. 13     ARCDAT      DW   0000        ;File date (MSDOS) 
  101. 15     ARCTIM      DW   0000        ;File time (MSDOS) 
  102. 17     ARCCRC      DW   0000 
  103. 19     ARCOSZ      HEX  00000000    ;Uncompressed size 
  104. 1D     ARCFIL      DS   ARCNSZ 
  105.  
  106.  
  107.        COMPRESSION METHOD 
  108.        ------------------ 
  109.  
  110.        NAME        METHOD  DESCRIPTION 
  111.        ----------- ------ -------------------------------------------- 
  112.        Stored        0     No compression used 
  113.        Packed        1     Repeated running length encoding (RLE) 
  114.        Squeezed      2     Huffman encoding 
  115.        Crunched      3     LZW with 4K buffer, 12 bits codes 
  116.        Crunched      4     First packing, then LZW 4K buffer with 12 bits 
  117.        Crunched      5     Packing, LZW, 4K buffer, vari len (9-12 bits) 
  118.        Squashed      6     LZW, 8K buffer, variable length (9-13 bits) 
  119.        Crushed       7     Packing, then LZW 8K buffer, 2-13 bits (PAK 1.0) 
  120.        Distill       8     Dynamic Huffman with 8K buffer (PAK 2.0) 
  121.  
  122.  
  123. POSITIONING IN FILE 
  124. ------------------- 
  125.  
  126. Begining of File Data = Begining of File Header + $1D 
  127.  
  128. Next File Header = Begining of File Header + $1D + ARCNSZ 
  129.        or 
  130.                  = Begining of File Data + ARCNSZ 
  131.  
  132.           ************************************************** 
  133.  
  134.  
  135.                               BINARY ][                        Page  3 
  136.                               ========= 
  137.  
  138. System of Origin : Apple ][ 
  139.  
  140. Original Author : Gary Little 
  141.  
  142. FILE FORMAT 
  143. ----------- 
  144.  
  145.      file header 1 
  146.           file 1 
  147.      file header 2 
  148.           file 2 
  149.      . 
  150.      . 
  151.      file header n 
  152.           file n 
  153. EOF 
  154.  
  155.  
  156. FILE HEADER 
  157. ----------- 
  158.  
  159. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  160. ------ ----------- ---- ----------- ---------------------------------- 
  161. 00     B2ID1       DB   $A          ;ID bytes 
  162. 01     B2ID2       ASC  'GL'        ;authors initials - Gary Little 
  163. 03     B2ACS       DB   00          ;access code 
  164. 04     B2FTYP      DB   00          ;file type 
  165. 05     B2AUX       DB   0000        ;auxiliary type 
  166. 07     B2STYP      DB   00          ;storage type 
  167. 08     B2FSIZ      DW   0000        ;size of file in 512-byte blocks 
  168. 0A     B2MODDAT    DW   0000        ;date of modification 
  169. 0C     B2MODTIM    DW   0000        ;time of modification 
  170. 0E     B2CRDAT     DW   0000        ;date of creation 
  171. 10     B2CRTIM     DW   0000        ;time of creation 
  172. 12     B2ID3       DB   2           ;ID byte 
  173. 13                 DS   1           ;reserved 
  174. 14     B2EOF       HEX  000000      ;end-of-file (EOF) position 
  175. 17     B2FLN       DB   00          ;length of filename or partial pathname 
  176. 18     B2FNAM      DS   15          ;ASCII filename or partial pathname 
  177.                                     ;If the filename is a partial pathname 
  178.                                     ;it will overwrite the following 
  179.                                     ;2 segments for native filename 
  180. 27     B2NFLN      DB   00          ;length of native filename] 
  181. 28     B2NFNAM     DS   48          ;ASCII native filename 
  182. 58                 DS   23          ;reserved, must be zero 
  183. 6F     B2GSACS     DB   00          ;GS/OS access code (high byte) 
  184. 70     B2GSFTYP    DB   00          ;GS/OS file type code (high byte) 
  185. 71     B2GSSTYP    DB   00          ;GS/OS storage type code (high byte) 
  186. 72     B2GSSIZ     DW   0000        ;GS/OS size of file in blocks (high word) 
  187. 74     B2GSEOF     DB   00          ;GS/OS EOF position (high byte) 
  188. 75     B2DSKSPC    HEX  00000000    ;disk space needed (512 byte Blocks) 
  189. 79     B2OS        DB   00          ;operating system type 
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                                                Page  4 
  203.  
  204.  
  205.        OPERATING SYSTEM TYPE 
  206.  
  207.        VALUE  DESCRIPTION               VALUE  DESCRIPTION 
  208.        ----- -------------------------- ----- ------------------------ 
  209.        00     ProDOS or SOS             07     Macintosh XL 
  210.        01     DOS 3                     08     Apple CP/M 
  211.        02     reserved                  09     reserved 
  212.        03     DOS 3.2 or DOS 3.1        0A     MS-DOS 
  213.        04     Apple II Pascal           0B     High Sierra(CD-ROM) 
  214.        05     Macintosh MFS             0C     ISO 9660 (CD-ROM) 
  215.        06     Macintosh HFS 
  216.  
  217. 7A     B2NFTYP     DW   0000        ;native file type code 
  218. 7C     B2PHANTOM   DB   00          ;phantom file flag 
  219.  
  220.        PHANTOM FILE S/W DESIGNATIONS 
  221.  
  222.        VALUE  DESCRIPTION               VALUE  DESCRIPTION 
  223.        ----- -------------------------- ----- ------------------------ 
  224.        00     [generic]                 04     Modem MGR 
  225.        01     Point-to-Point            05     CommWorks 
  226.        02     Tele-Master Comm Sys      06     MouseTalk 
  227.        03     ProTERM 
  228.  
  229. 7D     B2FLAGS     DB   00          ;data flags 
  230.  
  231.        LABEL       BIT        DESCRIPTION 
  232.        ----------- --------- ----------------------------------------- 
  233.        B2FLAGS       7        data is compressed (SQUeezed) 
  234.                      6        data is encrypted 
  235.                      0        file is sparse/packed 
  236.  
  237.  
  238.        NAME        METHOD  DESCRIPTION 
  239.        ----------- ------ -------------------------------------------- 
  240.        SQUEEZED            Huffman Squeeze. The filename will have '.QQ' 
  241.                            appended. The first 16 bytes of the file are 
  242.                            the original filename length and filename, the 
  243.                            next 14 bytes are identical in form and content 
  244.                            to the Apple GetInfo results and the bytes $3 - 
  245.                            $10 of the Binary ][ header. The rest of the 
  246.                            file is squeezed with packing. 
  247.  
  248. 7E     B2VERSION   DB   00          ;Binary II version number 
  249. 7F     B2NUMFOL    DB   00          ;number of files to follow 
  250.  
  251.  
  252. NOTE : Many GS/OS file attributes are stored in 2 places (this is a result 
  253.        of the differences between ProDOS 8/16 and GS/OS). 
  254.  
  255. POSITIONING IN FILE 
  256. ------------------- 
  257.  
  258. Begining of File Data = Begining of File Header + $80 
  259.  
  260. Next File Header = Begining of File Header + $80 + B2FSIZ 
  261.        or 
  262.                  = Begining of File Data + B2FSIZ 
  263.  
  264.           ************************************************** 
  265.  
  266.  
  267.                                  DWC                           Page  5 
  268.                                  === 
  269.  
  270. System of Origin : IBM 
  271.  
  272. FILE FORMAT 
  273. ----------- 
  274.  
  275.           file 1 
  276.           file 2 
  277.           . 
  278.           . 
  279.           file n 
  280.           file header 1 
  281.           file header 2 
  282.           . 
  283.           . 
  284.           file header n 
  285.      end header 
  286. EOF 
  287.  
  288.  
  289. FILE HEADER 
  290. ----------- 
  291.  
  292. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  293. ------ ----------- ---- ----------- ---------------------------------- 
  294. 00     DWCFNT      DS   12          ;filename 
  295. 0C                 DB   00 
  296. 0D     DWCOSZ      HEX  00000000    ;Uncompressed size 
  297. 11     DWCTIM      DW   0000        ;File time ala MSDOS 
  298. 13     DWCDAT      DW   0000        ;File date ala MSDOS 
  299. 15     DWZNSZ      HEX  00000000    ;Compressed size 
  300. 19     DWCFTP      HEX  00000000    ;File offset from SOF 
  301. 1D     DWCMTD      DB   00          ;Method 
  302. 1E                 DW   0000        ;??? 
  303. 20     DWCCRC      DW   0000        ;CRC 
  304.  
  305.  
  306. END HEADER 
  307. ---------- 
  308.  
  309.          ORG       DWCEND-27 
  310.  
  311. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  312. ------ ----------- ---- ----------- ---------------------------------- 
  313. 00               DS     20          ;? 
  314. 14               DW     0000        ;Number of files 
  315. 16               DW     0000 
  316. 18               ASC    'DWC'       ;ID 
  317. 1B     DWCEND 
  318.  
  319.  
  320.        COMPRESSION METHOD 
  321.        ------------------ 
  322.  
  323.        NAME        METHOD  DESCRIPTION 
  324.        ----------- ------ -------------------------------------------- 
  325.        Stored              No compression used 
  326.        Crunched            Packing, LZW, 4K buffer, var len (9-12 bits) 
  327.  
  328.           ************************************************** 
  329.  
  330.  
  331.  
  332.  
  333.                                 GIF                            Page  6 
  334.                                 --- 
  335.  
  336. Created by Compuserve, Inc. 
  337.  
  338. FILE FORMAT 
  339. ----------- 
  340.  
  341.      GIF Header 
  342.           Global Color Map 
  343.                Image Descriptor 1 
  344.                     Local Color Map 
  345.                     Raster Data 
  346.                Image Descriptor 2 
  347.                     Local Color Map 
  348.                     Raster Data 
  349.                . 
  350.                . 
  351.                . 
  352.                Image Descriptor n 
  353.                     Local Color Map 
  354.                     Raster Data 
  355.      GIF Terminator 
  356. EOF 
  357.  
  358.  
  359. HEADER FORMAT 
  360. ------------- 
  361.  
  362. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  363. ------ ----------- ---- ----------- ---------------------------------- 
  364. 00     GIFSIG      ASC  'GIF87a'    ;Gif signature and version (87a) 
  365. 06     GIFWDTH     DW   0000        ;Screen Width - Raster width in pixels 
  366. 08     GIFHGHT     DW   0000        ;Screen Height - Raster height in pixels 
  367. 0A     GIFCOLR     DB   00          ;Colorbyte 
  368.  
  369.        LABEL       BIT        DESCRIPTION 
  370.        ----------- --------- ----------------------------------------- 
  371.        GCMFLG         7       if set - Global color map follows Descriptor 
  372.        GCMRES        6-4      # bits of color resolution + 1 
  373.                       3       reserved 
  374.        GCMPSIZ       2-0      # bits/pixel in image +1, range of values 1 
  375.                               to 8 bits. This gives a range of 2 (B & W) to 
  376.                               256 colors 
  377.  
  378. 0B     GIFBKGRND   DB   00          ;Color index of screen background, 
  379.                                     ;color is defined from the Global 
  380.                                     ;color map or default map. 
  381.        GIFEXTN                      ;Currently undefined GIF extension 
  382.                                     ;block 
  383.  
  384.        OFFSET LABEL       TYP  VALUE       DESCRIPTION 
  385.        ------ ----------- ---- ---------- ---------------------------- 
  386.        00     GIFEXTSIG   DB   $21         ;Extension Block signature 
  387.        01     EXTCODE     DB   00          ;Extension Function Code 
  388.        02     EXTCNT0     DB   00          ;Count of function bytes 
  389.        03     EXTFUNC0    DS   up to 255 
  390.        . 
  391.        .         repeat EXTCNT0 and EXTFUNC0 as many times as required 
  392.        . 
  393.               EXTTERM     DB   00          ;Termination of Extension Block 
  394.  
  395. 0C     GIFHEND     DB   00          ;end of GIF header 
  396.  
  397.  
  398.  
  399.                                                                Page  7 
  400.  
  401.  
  402. GLOBAL COLOR MAP FORMAT 
  403. ----------------------- 
  404.  
  405. GCMNUM = 2 ^ (GCMPSIZ) 
  406.  
  407. GCMLEN = GCMNUM * 3 
  408.  
  409. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  410. ------ ----------- ---- ----------- ---------------------------------- 
  411. 00     GCMCOLR0    HEX  000000      ;definition for color 0 
  412.  
  413.        OFFSET LABEL       TYP  VALUE       DESCRIPTION 
  414.        ------ ----------- ---- ---------- ---------------------------- 
  415.        00     REDINTNS    DB   00          ;Red intensity value for this 
  416.                                            ;color 
  417.        01     GRNINTNS    DB   00          ;Green intensity value for 
  418.                                            ;this color 
  419.        02     BLUINTNS    DB   00          ;Blue intensity value for this 
  420.                                            ;color 
  421.  
  422. 03     GCMCOLR1    HEX  000000      ;definition for color 1 
  423.        . 
  424.        . 
  425.        . 
  426. xx     GCMCOLRn    HEX  000000      ;definition for color n 
  427.  
  428.  
  429. IMAGE DESCRIPTOR 
  430. ---------------- 
  431.  
  432. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  433. ------ ----------- ---- ----------- ---------------------------------- 
  434. 00     IMGSEP      DB   $2C         ;Image separator character 
  435. 01     IMGLFT      DW   0000        ;Start of image in pixels from the 
  436.                                     ;left side of the screen 
  437. 03     IMGTOP      DW   0000        ;Start of image in pixels from the 
  438.                                     ;top of the screen 
  439. 05     IMGWID      DW   0000        ;Width of the image in pixels 
  440. 07     IMGHGT      DW   0000        ;Height of the image in pixels 
  441. 09     IMGFLGS     DB   00          ;GIF flags for this image 
  442.  
  443.        LABEL       BIT        DESCRIPTION 
  444.        ----------- --------- ----------------------------------------- 
  445.        MAPFLG         7       If set, use pixel and Local color map 
  446.                               following, use pixel; otherwise use Global 
  447.                               Color Map 
  448.        RASTFLG        6       If clear, Image formatted in Sequential order, 
  449.                               if set then Image in Interlaced order 
  450.                      5-3      unused 
  451.        IMGPSIZ       2-0      bits per pixel for this image 
  452.  
  453. 0A     LOCOLMAP    DS   [IMGPSIZ^2]*3 ;Same format and size computation 
  454.                                     ;as Global Color Map 
  455.        RASTDAT                      ;Raster Data - compressed image 
  456.        GIFTERM     DB   $3B         ;Termination of GIF data 
  457.  
  458.        COMPRESSION METHOD 
  459.        ------------------ 
  460.        LZW, 4k BuffER, variable length (3-12 bits) 
  461.  
  462.           ************************************************** 
  463.  
  464.  
  465.                                 LZH                            Page  8 
  466.                                 === 
  467.  
  468. System of Origin : IBM 
  469.  
  470. FILE FORMAT 
  471. ----------- 
  472.  
  473.      file header 1 
  474.           file 1 
  475.      file header 2 
  476.           file 2 
  477.      . 
  478.      . 
  479.      file header n 
  480.           file n 
  481. EOF 
  482.  
  483.  
  484. FILE HEADER 
  485. ----------- 
  486.  
  487. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  488. ------ ----------- ---- ----------- ---------------------------------- 
  489. 00     LZHHSZ      DB   0           ;Header size 
  490. 01     LZHCKS      DB   0           ;Cksum of remaining bytes 
  491. 02     LZHMTD      ASC  '-lh0-'     ;Method 
  492. 07     LZHNSZ      HEX  00000000    ;Compressed size 
  493. 0B     LZHOSZ      HEX  00000000    ;Uncompressed size 
  494. 0F     LZHTIM      DW   0000        ;File time (MSDOS) 
  495. 11     LZHDAT      DW   0000        ;File date (MSDOS) 
  496. 13     LZHATR      DW   0000        ;File attribute 
  497. 15     LZHFNL      DB   00          ;filename/path length 
  498. 16     LZHFNT      DS   LZHFNL      ;filename/path 
  499. 2B     LZHCRC      DW   0000        ;CRC-16 
  500.  
  501.  
  502.        COMPRESSION METHOD 
  503.        ------------------ 
  504.  
  505.        NAME        METHOD  DESCRIPTION 
  506.        ----------- ------ -------------------------------------------- 
  507.        STORED      -lh0-   No compression used 
  508.        LZHUF       -lh1-   LZW, 4K buffer, Huffman for upper 6 bits of pos 
  509.        LZARI       -lz4-   LZW, Arithmetic Encoding 
  510.        LZARI       -lz5-   LZW, Arithmetic Encoding 
  511.  
  512.  
  513. POSITIONING IN FILE 
  514. ------------------- 
  515.  
  516. Begining of File Data = Begining of Header + LZHHSZ 
  517.  
  518. Begining of Next File Header = Begining of File Data + LZHNSZ 
  519.  
  520.           ************************************************** 
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.                            NuFX - SHRINKIT                     Page  9 
  532.                            =============== 
  533.  
  534. System of Origin: Apple ][ 
  535.  
  536. Original author: Andrew Nicholas 
  537.  
  538. FILE FORMAT 
  539. ----------- 
  540.  
  541.      Master Header 
  542.           File 1 Header 
  543.                Attribute Section 
  544.                Filename Section 
  545.                Thread Section 
  546.                     Thread 1 
  547.                     .             File data is contained in a thread 
  548.                     . 
  549.                     Thread n 
  550.           File 2 Header 
  551.                Attribute Section 
  552.                Filename Section 
  553.                Thread Section 
  554.                     Thread 1 
  555.                     . 
  556.                     . 
  557.                     Thread n 
  558.           File 3 Header 
  559.           . 
  560.           . 
  561.           . 
  562. EOF 
  563.  
  564.  
  565. MASTER HEADER 
  566. ------------- 
  567.  
  568. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  569. ------ ----------- ---- ----------- ---------------------------------- 
  570. 00     NUID1       HEX  4EF546E96CE5 ;Master signature spells "NuFile" 
  571.                                     ;in alternating high and low ASCII 
  572. 06     NUCRC       DW   0000        ;CRC of bytes $08 - $2F in this block 
  573. 08     NURECS      HEX  00000000    ;Total number of files in this archive 
  574. 0C     NUCRTIM     HEX  000000      ;archive creation time and date 
  575. 0F     NUCRDAT     HEX  0000000000 
  576. 14     NUMDTIM     HEX  000000      ;time and date archive last modified 
  577. 17     NUMDDAT     HEX  0000000000 
  578. 1C                 DS   19          ;reserved 
  579. 2F                                  ;end master header 
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.                                                                Page 10 
  598.  
  599. TIME FORMAT 
  600. ----------- 
  601.  
  602.        OFFSET LABEL       TYP  VALUE       DESCRIPTION 
  603.        ------ ----------- ---- ---------- ---------------------------- 
  604.        00     GSSEC       DB   00          ;second - 0 through 59 
  605.        01     GSMIN       DB   00          ;minute - 0 through 59 
  606.        02     GSHR        DB   00          ;hour - 0 through 23 
  607.        03     GSYR        DB   00          ;current Year minus 1900 
  608.        04     GSDAY       DB   00          ;day - 0 through 30 
  609.        05     GSMNTH      DB   00          ;month - 0 through 11, with 
  610.                                            ;0=January 
  611.        06                 DB   00          ;filler byte - reserved = 00 
  612.        07     GSWDAY      DB   00          ;weekday - 1 through 7, with 
  613.                                            ;1=Sunday 
  614.  
  615.        The format of this field is identical to that described in the 
  616.        _ReadTimeHex ($0D03) call described on page 14-14 of the 
  617.        Apple_IIgs_Toolbox_Reference:_Volume_1. 
  618.  
  619.  
  620. FILE HEADER 
  621. ----------- 
  622.  
  623. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  624. ------ ----------- ---- ----------- ---------------------------------- 
  625. 00     NXID1       HEX  4EF546D8    ;Header signature spells "NuFX" in 
  626.                                     ;alternating high and low ASCII 
  627. 04     NXCRC       DW   0000        ;CRC of bytes $06 - NXATRBCNT+1 
  628.  
  629.  
  630. ATTRIBUTE SECTION 
  631. ----------------- 
  632.  
  633. 06     NXATRBCNT   DW   0000        ;length of the attribute section of 
  634.                                     ;each header. The distance from NXID1 
  635.                                     ;to and including NXFNL 
  636. 08     NXVERS      DW   0000        ;Minimum version needed for extraction 
  637. 0A     NXNUMTHR    HEX  00000000    ;The number of threads following NXFNAM 
  638. 0E     NXSYSID     DW   0000        ;Native file system identifier 
  639.  
  640.                           SYSTEM IDENTIFIERS 
  641.  
  642.        VALUE  DESCRIPTION               VALUE  DESCRIPTION 
  643.        ----- -------------------------- ----- ------------------------ 
  644.        0000   File is an Archived Disk  0008   Apple CP/M 
  645.        0001   ProDOS/SOS                0009   reserved, do not use 
  646.        0002   DOS 3.3                   000A   MS-DOS 
  647.        0003   DOS 3.2                   000B   High-Sierra/ISO 9660 
  648.        0004   Apple II Pascal           000C 
  649.        0005   Macintosh(tm) (HFS)       .     reserved 
  650.        0006   Macintosh (MFS)           FFFF 
  651.        0007   LISA(tm) file system 
  652.  
  653.  
  654. 10     NXSYSSEP    ASC  '/'         ;Native file system seperator 
  655.                                     ;ProDOS = '/' ($2F) 
  656.                                     ;HFS = ':' ($3A) 
  657.                                     ;MS-DOS = '\' ($5C) 
  658. 11     NXSPARSE    DB   00          ;sparse file indicated if = $01 
  659. 12     NXACCESS    HEX  00000000    ; 
  660.  
  661.  
  662.  
  663.                                                                Page 11 
  664.  
  665.  
  666.        LABEL       BIT        DESCRIPTION if set 
  667.        ----------- --------- ----------------------------------------- 
  668.        NXACCESS     31-8      reserved, must be zero 
  669.                       7       destroy enabled 
  670.                       6       rename enabled 
  671.                       5       backup needed 
  672.                      4-3      reserved, must be zero 
  673.                       2       file is invisible 
  674.                       1       write enabled 
  675.                       0       read enabled 
  676.  
  677. 16     NXFTYP      HEX  00000000    ;file type, Disk = 0 
  678. 1A     NXEXTYP     HEX  00000000    ;extra type, ProDOS aux_type or HFS 
  679.                                     ;creator_type, Disk: total number 
  680.                                     ;of blocks on the device 
  681. 1E     NXSTRTYP    DW   0000        ;storage type, if a disk this should 
  682.                                     ;contain the block size of the O/S 
  683.  
  684.                              STORAGE TYPE 
  685.  
  686.       TYPE  IF FILE SIZE IS:           O/S      BLOCK SIZE 
  687.       ---- ------------------------- --------- --------------- 
  688.        $1   < 512 bytes              ProDOS     512 
  689.        $2   > 511 bytes, < 128k      DOS 3.3    256 
  690.        $3   > 129k                   HFS        524 
  691.        $5   extended file 
  692.        $D   subdirectory 
  693.  
  694. 20     NXCRTIM     HEX  000000      ;file creation time and date 
  695. 23     NXCRDAT     HEX  0000000000 
  696. 28     NXMDTIM     HEX  000000      ;time and date file last modified 
  697. 2B     NXMDDAT     HEX  0000000000 
  698. 30     NXARCTIM    HEX  000000      ;time and date file archived 
  699. 33     NXARCDAT    HEX  0000000000 
  700.        . 
  701.        . 
  702.  
  703. Any other attributes are added here. NXATRBCNT points to the NXFNL, which 
  704. is always the last attribute. 
  705.  
  706.        . 
  707.        . 
  708. NXATRBCNT-2 
  709.        NXFNL       DW   0000        ;filename length 
  710.  
  711.  
  712. FILENAME SECTION 
  713. ---------------- 
  714.  
  715. NXFNL+2 
  716.        NXFILE      DS   NXFNL       ;Filename, partial pathname or disk 
  717.                                     ;volume name. Names ported across 
  718.                                     ;systems may have illegal characters 
  719.                                     ;or characteristics. 
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.                                                                Page 12 
  730.  
  731.  
  732. THREAD SECTION 
  733. -------------- 
  734.  
  735. Thread records are 16 byte records which immediately follow the filename and 
  736. describe the types of data structures which are included with a given record. 
  737. The number of threads is in the attribute section under NXNUMTHR. 
  738.  
  739.  
  740. A thread record can be represented as follows: 
  741.  
  742. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  743. ------ ----------- ---- ----------- ---------------------------------- 
  744. 00     THRCLASS    DW   0000        ;describes the class of the thread 
  745.  
  746.                         0000        CLS_MSG 
  747.                         0001        CLS__CNTRL 
  748.                         0002        CLS_DATA 
  749.                         0003        CLS_SPRSE 
  750.  
  751. 02     THRFRMT     DW   0000        ;format of the data within the thread 
  752.  
  753.                         0000        ;Uncompressed 
  754.                         0001        ;SQueezed (SQ/USQ) 
  755.                         0002        ;Dynamic LZW [ShrinkIt] 
  756.                         0003 
  757.                         .           ;RESERVED, contact the author 
  758.                         FFFF 
  759.  
  760. 04     THRKIND     DW   0000        ;describes data in thread 
  761.  
  762.        if THRCLS =      and THRKIND =   THEN THE THREAD CONTAINS: 
  763.        ---------------- -------------- --------------------------- 
  764.        CLS_MSG          0000            ASCII text 
  765.                                         all others undefined 
  766.  
  767.        CLS_CNTRL        0000            create directory 
  768.                                         all others undefined 
  769.  
  770.        CLS_DATA         0000            data_fork of file 
  771.                         0001            disk image 
  772.                         0002            resource_fork of file 
  773.                                         all others undefined 
  774.  
  775. 06                 DS   2 
  776. 08     THREOF      HEX  00000000    ;length of the uncompressed thread 
  777. 0C     THRCMPEOF   HEX  00000000    ;length of the compressed thread 
  778.  
  779. POSITIONING IN FILE 
  780. ------------------- 
  781.  
  782. Start of the thread list = (beginning of header) + NXATRBCNT + NXFNL 
  783.  
  784. End of the thread list = (beginning of header) + NXATRBCNT + NXFNL + 
  785.                          (16 * NXNUMTHR) 
  786.  
  787. Start of a data_thread = (beginning of header) + NXATRBCNT + NXFNL + 
  788.                          (16 * NXNUMTHR) + (THRCMPEOF of all threads 
  789.                           in the thread list which are not data prior 
  790.                           to finding a CLS_DATA = 0000) 
  791.  
  792.  
  793.  
  794.  
  795.                                                                Page 13 
  796.  
  797.  
  798. Start of a resource_thread = (beginning of header) + NXATRBCNT + NXFNL + 
  799.                              (16 * NXNUMTHR) + (THRCMPEOF of all the 
  800.                               threads in the thread list which are not 
  801.                               resources prior to finding a 
  802.                               CLS_DATA = 0002) 
  803.  
  804. Next record = (beginning of header) + NXATRBCNT + NXFNL + 
  805.               (16 * NXNUMTHR) + (THRCMPEOF of each thread) 
  806.  
  807.           ************************************************** 
  808.  
  809.  
  810.                                PACKIT 
  811.                                ====== 
  812.  
  813. System of Origin : Macintosh 
  814.  
  815. FILE HEADER 
  816. ----------- 
  817.  
  818. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  819. ------ ----------- ---- ----------- ---------------------------------- 
  820. 00     PITFLN      HEX  00          ;filename length 
  821. 01     PITFNAM     DS   63          ;filename 
  822. 40     PITTYP      HEX  00000000    ;file type 
  823. 44     PITCRT      HEX  00000000    ;Creator 
  824. 48     PITFFLG     DW   0000        ;Finder flags 
  825. 4C     PITLOK      DW   0000        ;locked? 
  826. 4E     PITDSIZ     HEX  00000000    ;data fork uncompressed size 
  827. 52     PITRSIZ     HEX  00000000    ;resource fork uncompressed size 
  828. 56     PITCDSIZ    HEX  00000000    ;data fork compressed size 
  829. 5A     PITCRSIZ    HEX  00000000    ;resource fork compressed size 
  830. 5E     PITCRC      DW   0000        ;CRC 
  831.  
  832.           ************************************************** 
  833.  
  834.  
  835.                                STUFFIT 
  836.                                ======= 
  837.  
  838. System of Origin : Macintosh 
  839.  
  840. Original author : Raymond Lau 
  841.  
  842. FILE FORMAT 
  843. ----------- 
  844.  
  845.      Master Header 
  846.           file header 1 
  847.                file 1 resource fork 
  848.                file 1 data fork 
  849.           file header 2 
  850.                file 2 resource fork 
  851.                file 2 data fork 
  852.           . 
  853.           . 
  854.           file header n 
  855.                file n resource fork 
  856.                file n data fork 
  857. EOF 
  858.  
  859.  
  860.  
  861.                                                                Page 14 
  862.  
  863.  
  864. MASTER HEADER 
  865. ------------- 
  866.  
  867. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  868. ------ ----------- ---- ----------- ---------------------------------- 
  869. 00     SITHSIG     ASC  'SIT!'      ;STUFFIT archive signature 
  870. 04     SITHNUM     DW   0000        ;number of files in archive 
  871. 06     SITHLEN     HEX  00000000    ;length of entire archive incl hdr 
  872. 0A     SITHID2     ASC  'rLau'      ;authors name - R. Lau 
  873. 0E     SITHVER     DB   00          ;version number 
  874. 0F                 DS   7           ;reserved 
  875.  
  876.  
  877. FILE HEADER 
  878. ----------- 
  879.  
  880. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  881. ------ ----------- ---- ----------- ---------------------------------- 
  882. 00     SITFRCMP    DB   00          ;rsrc fork compression method 
  883. 01     SITFDCMP    DB   00          ;data fork compression method 
  884. 02     SITFNL      DB   00          ;file name length 
  885. 03     SITFNAM     DS   $3F         ;filename 
  886. 41     SITFTYP     DB   00000000    ;filetype 
  887. 45     SITFCR      DB   00000000    ;file creator 
  888. 49     SITFFFL     DW   0000        ;Finder flags 
  889. 4B     SITFCRD     HEX  00000000    ;creation date 
  890. 4F     SITFMDD     HEX  00000000    ;modification date 
  891. 53     SITFRLN     HEX  00000000    ;uncompressed resource fork length 
  892. 57     SITFDLN     HEX  00000000    ;uncompressed data fork length 
  893. 5B     SITFCRLN    HEX  00000000    ;compressed resource fork length 
  894. 5F     SITFCDLN    HEX  00000000    ;compressed data fork length 
  895. 61     SITFRCRC    DW   0000        ;resource fork CRC 
  896. 63     SITFDCRC    DW   0000        ;data fork CRC 
  897. 65     SITFRPAD    DB   00          ;pad bytes for encrypted files, 
  898. 66     SITFDPAD    DB   00          ;resource and data forks 
  899. 6A                 DS   4           ;reserved 
  900. 6E     SITFHCRC    DW   0000        ;CRC of file header 
  901.  
  902.  
  903.        STUFFIT METHODS 
  904.  
  905.        NAME        METHOD  DESCRIPTION 
  906.        ----------- ------ -------------------------------------------- 
  907.        noComp         0    uncompressed 
  908.        rleComp        1    RLE compression 
  909.        lzwComp        2    LZW compression, 18k buffer, 14 bit code size 
  910.        hufComp        3    Huffman compression 
  911.        encrypted     16    bit set if encrypted. ex: encrypted+lzwComp 
  912.        startFolder   32    marks start of a new folder 
  913.        endFolder     33    marks end of the last folder started 
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.                                                                Page 15 
  928.  
  929.  
  930. POSITIONING IN FILE 
  931. ------------------- 
  932.  
  933. First File Header = SITHSIG + $15 
  934.  
  935. Begining of Resource Fork = SITFRCMP + $6F 
  936.  
  937. Begining of Data Fork = Begining of Resource Fork + SITFCRLN 
  938.  
  939. Next File Header = Begining of previous Data Fork + SITFCDLN 
  940.        or 
  941.                  = Previous File Header + $6F + SITFCRLN + SITCDLN 
  942.  
  943.           ************************************************** 
  944.  
  945.  
  946.                                 ZIP 
  947.                                 === 
  948.  
  949. System of Origin : IBM 
  950.  
  951. Original author : Phil Katz 
  952.  
  953. FILE FORMAT 
  954. ----------- 
  955.  
  956.  
  957. Files stored in arbitrary order.  Large zipfiles can span multiple 
  958. diskette media. 
  959.  
  960.           Local File Header 1 
  961.                     file 1 extra field 
  962.                     file 1 comment 
  963.                file data 1 
  964.           Local File Header 2 
  965.                     file 2 extra field 
  966.                     file 2 comment 
  967.                file data 2 
  968.           . 
  969.           . 
  970.           . 
  971.           Local File Header n 
  972.                     file n extra field 
  973.                     file n comment 
  974.                file data n 
  975.      Central Directory 
  976.                central extra field 
  977.                central comment 
  978.           End of Central Directory 
  979.                     end comment 
  980. EOF 
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.                                                                Page 16 
  994.  
  995.  
  996. LOCAL FILE HEADER 
  997. ----------------- 
  998.  
  999. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  1000. ------ ----------- ---- ----------- ---------------------------------- 
  1001. 00     ZIPLOCSIG   HEX  04034B50    ;Local File Header Signature 
  1002. 04     ZIPVER      DW   0000        ;Version needed to extract 
  1003. 06     ZIPGENFLG   DW   0000        ;General purpose bit flag 
  1004. 08     ZIPMTHD     DW   0000        ;Compression method 
  1005. 0A     ZIPTIME     DW   0000        ;Last mod file time (MS-DOS) 
  1006. 0C     ZIPDATE     DW   0000        ;Last mod file date (MS-DOS) 
  1007. 0E     ZIPCRC      HEX  00000000    ;CRC-32 
  1008. 12     ZIPSIZE     HEX  00000000    ;Compressed size 
  1009. 16     ZIPUNCMP    HEX  00000000    ;Uncompressed size 
  1010. 1A     ZIPFNLN     DW   0000        ;Filename length 
  1011. 1C     ZIPXTRALN   DW   0000        ;Extra field length 
  1012. 1E     ZIPNAME     DS   ZIPFNLN     ;filename 
  1013. --     ZIPXTRA     DS   ZIPXTRALN   ;extra field 
  1014.  
  1015. CENTRAL DIRECTORY STRUCTURE 
  1016. --------------------------- 
  1017.  
  1018. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  1019. ------ ----------- ---- ----------- ---------------------------------- 
  1020. 00     ZIPCENSIG   HEX  02014B50    ;Central file header signature 
  1021. 04     ZIPCVER     DB   00          ;Version made by 
  1022. 05     ZIPCOS      DB   00          ;Host operating system 
  1023. 06     ZIPCVXT     DB   00          ;Version needed to extract 
  1024. 07     ZIPCEXOS    DB   00          ;O/S of version needed for extraction 
  1025. 08     ZIPCFLG     DW   0000        ;General purpose bit flag 
  1026. 0A     ZIPCMTHD    DW   0000        ;Compression method 
  1027. 0C     ZIPCTIM     DW   0000        ;Last mod file time (MS-DOS) 
  1028. 0E     ZIPCDAT     DW   0000        ;Last mod file date (MS-DOS) 
  1029. 10     ZIPCCRC     HEX  00000000    ;CRC-32 
  1030. 14     ZIPCSIZ     HEX  00000000    ;Compressed size 
  1031. 18     ZIPCUNC     HEX  00000000    ;Uncompressed size 
  1032. 1C     ZIPCFNL     DW   0000        ;Filename length 
  1033. 1E     ZIPCXTL     DW   0000        ;Extra field length 
  1034. 20     ZIPCCML     DW   0000        ;File comment length 
  1035. 22     ZIPDSK      DW   0000        ;Disk number start 
  1036. 24     ZIPINT      DW   0000        ;Internal file attributes 
  1037.  
  1038.        LABEL       BIT        DESCRIPTION 
  1039.        ----------- --------- ----------------------------------------- 
  1040.        ZIPINT         0       if = 1, file is apparently an ASCII or 
  1041.                               text file 
  1042.                       0       if = 0, file apparently contains binary 
  1043.                               data 
  1044.                      1-7      unused in version 1.0. 
  1045.  
  1046. 26     ZIPEXT      HEX  00000000    ;External file attributes, host 
  1047.                                     ;system dependent 
  1048. 2A     ZIPOFST     HEX  00000000    ;Relative offset of local header 
  1049.                                     ;from the start of the first disk 
  1050.                                     ;on which this file appears 
  1051. 2E     ZIPCFN      DS   ZIPCFNL     ;Filename or path - should not 
  1052.                                     ;contain a drive or device letter, 
  1053.                                     ;or a leading slash. All slashes 
  1054.                                     ;should be forward slashes '/' 
  1055. --     ZIPCXTR     DS   ZIPCXTL     ;extra field 
  1056. --     ZIPCOM      DS   ZIPCCML     ;file comment 
  1057.  
  1058.  
  1059.                                                                Page 17 
  1060.  
  1061.  
  1062. END OF CENTRAL DIR STRUCTURE 
  1063. ---------------------------- 
  1064.  
  1065. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  1066. ------ ----------- ---- ----------- ---------------------------------- 
  1067. 00     ZIPESIG     HEX  06064B50    ;End of central dir signature 
  1068. 04     ZIPEDSK     DW   0000        ;Number of this disk 
  1069. 06     ZIPECEN     DW   0000        ;Number of disk with start central dir 
  1070. 08     ZIPENUM     DW   0000        ;Total number of entries in central dir 
  1071.                                     ;on this disk 
  1072. 0A     ZIPECENN    DW   0000        ;total number entries in central dir 
  1073. 0C     ZIPECSZ     HEX  00000000    ;Size of the central directory 
  1074. 10     ZIPEOFST    HEX  00000000    ;Offset of start of central directory 
  1075.                                     ;with respect to the starting disk 
  1076.                                     ;number 
  1077. 14     ZIPECOML    DW   0000        ;zipfile comment length 
  1078. 16     ZIPECOM     DS   ZIPECOML    ;zipfile comment 
  1079.  
  1080.  
  1081. ZIP VALUES LEGEND 
  1082. ----------------- 
  1083.  
  1084.        HOST O/S 
  1085.  
  1086.        VALUE  DESCRIPTION               VALUE  DESCRIPTION 
  1087.        ----- -------------------------- ----- ------------------------ 
  1088.        0      MS-DOS and OS/2 (FAT)     5      Atari ST 
  1089.        1      Amiga                     6      OS/2 1.2 extended file sys 
  1090.        2      VMS                       7      Macintosh 
  1091.        3      *nix                      8 thru 
  1092.        4      VM/CMS                    255    unused 
  1093.  
  1094.  
  1095.        GENERAL PURPOSE BIT FLAG 
  1096.  
  1097.        LABEL       BIT        DESCRIPTION 
  1098.        ----------- --------- ----------------------------------------- 
  1099.        ZIPGENFLG      0       If set, file is encrypted 
  1100.           or          1       If file Imploded and this bit is set, 8K 
  1101.        ZIPCFLG                sliding dictionary was used. If clear, 4K 
  1102.                               sliding dictionary was used. 
  1103.                       2       If file Imploded and this bit is set, 3 
  1104.                               Shannon-Fano trees were used. If clear, 2 
  1105.                               Shannon-Fano trees were used. 
  1106.                      3-4      unused 
  1107.                      5-7      used internaly by ZIP 
  1108.  
  1109.        Note:  Bits 1 and 2 are undefined if the compression method is 
  1110.               other than type 6 (Imploding). 
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.                                                                Page 18 
  1126.  
  1127.  
  1128.        COMPRESSION METHOD 
  1129.  
  1130.        NAME        METHOD  DESCRIPTION 
  1131.        ----------- ------ -------------------------------------------- 
  1132.        Stored         0    No compression used 
  1133.        Shrunk         1    LZW, 8K buffer, 9-13 bits with partial clearing 
  1134.        Reduced-1      2    Probalistic compression, L(X) = lower 7 bits 
  1135.        Reduced-2      3    Probalistic compression, L(X) = lower 6 bits 
  1136.        Reduced-3      4    Probalistic compression, L(X) = lower 5 bits 
  1137.        Reduced-4      5    Probalistic compression, L(X) = lower 4 bits 
  1138.        Imploded       6    2 Shanno-Fano trees, 4K sliding dictionary 
  1139.        Imploded       7    3 Shanno-Fano trees, 4K sliding dictionary 
  1140.        Imploded       8    2 Shanno-Fano trees, 8K sliding dictionary 
  1141.        Imploded       9    3 Shanno-Fano trees, 8K sliding dictionary 
  1142.  
  1143.  
  1144.        EXTRA FIELD 
  1145.  
  1146.        OFFSET LABEL       TYP  VALUE       DESCRIPTION 
  1147.        ------ ----------- ---- ---------- ---------------------------- 
  1148.        00     EX1ID       DW   0000        ;0-31 reserved by PKWARE 
  1149.        02     EX1LN       DW   0000 
  1150.        04     EX1DAT      DS   EX1LN       ;Specific data for individual 
  1151.        .                                   ;files. Data field should begin 
  1152.        .                                   ;with a s/w specific unique ID 
  1153.        EX1LN+4 
  1154.               EXnID       DW   0000 
  1155.               EXnLN       DW   0000 
  1156.               EXnDAT      DS   EXnLN       ;entire header may not exceed 64k 
  1157.  
  1158.           ************************************************** 
  1159.  
  1160.  
  1161.                                 ZOO 
  1162.                                 === 
  1163.  
  1164. System of Origin : IBM 
  1165.  
  1166. Original author : Rahul Dhesi 
  1167.  
  1168. FILE FORMAT 
  1169. ----------- 
  1170.  
  1171.      Master Header 
  1172.           file 1 header 
  1173.                file 1 
  1174.           file 2 header 
  1175.                file 2 
  1176.           . 
  1177.           . 
  1178.           file n header 
  1179.                file n 
  1180. EOF 
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.                                                                Page 19 
  1192.  
  1193.  
  1194. MASTER HEADER 
  1195. ------------- 
  1196.  
  1197. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  1198. ------ ----------- ---- ----------- ---------------------------------- 
  1199. 00                 DS   20 
  1200. 14     ZOOSIG      HEX  A7DCFDC4    ;File signature 
  1201. 18     ZOO1PTR     HEX  00000000    ;pointer to 1st header 
  1202. 1C     ZOO?        HEX  00000000    ;? 
  1203. 20     ZOOMVER     DB   00          ;version making archive 
  1204. 21     ZOOMIN      DB   00          ;minimum version needed to extract 
  1205.  
  1206.  
  1207. FILE HEADER 
  1208. ----------- 
  1209.  
  1210. OFFSET LABEL       TYP  VALUE        DESCRIPTION 
  1211. ------ ----------- ---- ----------- ---------------------------------- 
  1212. 00     ZOOFSIG     HEX  A7DCFDC4    ;signature 
  1213. 04     ZOOFTYP     DB   00          ;? 
  1214. 06     ZOOFCMP     DB   00          ;Compression method 
  1215. 08     ZOOFNXH     HEX  00000000    ;Nxt hdr ofst frm Start of ZOO file 
  1216. 0A     ZOOFCUR     HEX  00000000    ;Offset of this hdr 
  1217. 0E     ZOOFDAT     DW   0000        ;Last mod file date (MS-DOS) 
  1218. 10     ZOOFTIM     DW   0000        ;Last mod file time (MS-DOS) 
  1219. 12     ZOOFCRC     DW   0000        ;CRC-16 
  1220. 14     ZOOFOSZ     HEX  00000000    ;Uncompressed size 
  1221. 18     ZOOFNSZ     HEX  00000000    ;Compressed size 
  1222. 1C     ZOOFMVER    DB   00          ;version that made this file 
  1223. 1D     ZOOFMIN     DB   00          ;minimum version needed to extract 
  1224. 1E     Z00FDEL     DB   00          ;1 if file deleted from archive 
  1225. 1F     ZOOFCMTP    HEX  00000000    ;pointer to comment, 0 if none 
  1226. 23     ZOOFCMTL    DW   0000        ;length of comment 
  1227. 25     ZOOFNAM     DS   13          ;filename 
  1228.  
  1229.  
  1230. ZOO METHOD 
  1231. ---------- 
  1232.  
  1233.        NAME        METHOD  DESCRIPTION 
  1234.        ----------- ------ -------------------------------------------- 
  1235.        Stored              No compression used 
  1236.        Crunched            Packing, LZW, 4K buffer, var len (9-12 bits) 
  1237.  
  1238. POSITIONING IN FILE 
  1239. ------------------- 
  1240.  
  1241. Begining of 1st File header = Begining of File + ZOO1PTR 
  1242.        or 
  1243.                             = Begining of File + $21 
  1244.  
  1245. Begining of File Data = Begining of File Header + $31 
  1246.  
  1247. Begining of Next File = Begining of File + ZOOFNXH 
  1248.  
  1249. Begining of File Comment = Begining of File Header + ZOOFCMTP 
  1250.  
  1251.           ************************************************** 
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.                                                                Page 20 
  1258.  
  1259.  
  1260.                              TIME VALUES 
  1261.                              =========== 
  1262.  
  1263. MS-DOS TIME FORMAT 
  1264. ------------------ 
  1265.  
  1266.        LABEL       BIT        DESCRIPTION 
  1267.        ----------- --------- ----------------------------------------- 
  1268.        DATE        15-9       Year 
  1269.                     8-5       Month 
  1270.                     4-0       Day (all zeroes means no date) 
  1271.  
  1272.        TIME        15-11      Hours (military) 
  1273.                    10-5       Minutes 
  1274.                     4-0       Seconds 
  1275.  
  1276.  
  1277. ProDOS/SOS TIME FORMAT (APPLE) 
  1278. ------------------------------ 
  1279.  
  1280.        LABEL       BIT        DESCRIPTION 
  1281.        ----------- --------- ----------------------------------------- 
  1282.        DATE        15-9       Year (0-99) 
  1283.                     8-5       Month 
  1284.                     4-0       Day 
  1285.  
  1286.        TIME        15-8       Hour (military time) 
  1287.                     7-0       Minutes 
  1288.  
  1289.           ************************************************** 
  1290.  
  1291.  
  1292.                             EXTENDED FILES 
  1293.                             -------------- 
  1294.  
  1295. Extended files are a storage format used by a variety of operating 
  1296. systems. The filename information points to a file that points to 2 other 
  1297. files known as the DATA FORK and the RESOURCE FORK. 
  1298.  
  1299. The resource fork contains information about, and/or for the use of, the 
  1300. data fork. In porting amongst systems the resource fork is probably of 
  1301. no use. 
  1302.  
  1303. The data fork contains the actual file. 
  1304.  
  1305.           ************************************************** 
  1306.  
  1307.  
  1308.                               FILENAMES 
  1309.                               --------- 
  1310.  
  1311. File name lengths, legal characters and format vary amongst the various 
  1312. operating systems. MS-DOS allows a wider variety of characters while the 
  1313. Apple operating systems allow longer names with no set format (no 
  1314. extensions). Any program must be ready to convert a filename into the 
  1315. current operating system format as well as handle any paths (either by 
  1316. creating or ignoring them). 
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.                                                                Page 21 
  1324.  
  1325.  
  1326. A suggestion would be to use a more universal standard for the filenames 
  1327. of files that are likely to be ported (ie; Text, ASCII Source, GIF, ASCII 
  1328. data files, etc) while making no special effort with executable code 
  1329. (including tokenized BASIC) filenames. 
  1330.  
  1331. Such a standard might be: 
  1332.  
  1333.                a filename of no more than 13 or less than 6 characters 
  1334.                legal characters A-Z (all uppercase) the '.' and 0-9 
  1335.                periods to be used only once in a file to make an MS-DOS 
  1336.                     type extension (ie; .TXT, .DOC, etc) 
  1337.                the filename MUST start with an alphabetic character (A-Z) 
  1338.  
  1339. ********************************************************************** 
  1340.  
  1341.  
  1342. Information taken from files by Alex Bamdad, Rahul Dhesi, Jim Dorsey, Don 
  1343. Elton, Colin James, Phil Katz, Raymond Lau, Gary Little, Andrew Nicholas, 
  1344. Haruhiko Okumura, Martin Peckham, Mike Sax, Tim Swihart and probably 
  1345. others. 
  1346.  
  1347.