Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6725 | siemargl | 1 | Tandem Port History |
2 | =================== |
||
3 | |||
4 | Hi, I'm Dave Smith and I work at BP Oil UK, looking after their European card |
||
5 | processing system since 1992. We need to send lots of files via FTP to other |
||
6 | BP machines (Novell, NT, Sun...). Sending large files was frowned upon, so the |
||
7 | search for a zip product was on. |
||
8 | |||
9 | We tried the GZIP product from Twinsoft Netherlands but it was complicated to |
||
10 | use and it was not widely known by other arts of BP. |
||
11 | |||
12 | What we really wanted was a PKZIP compatible product, as this is a widely known |
||
13 | product. By chance when surfing the web I discovered the Info-ZIP web site. |
||
14 | This claimed PKZIP 2.04g compatibility and had a number of ports, was free, and |
||
15 | even had source code, but unfortunately no Tandem version :-( |
||
16 | |||
17 | Thus in the autumn 1996 I bit the bullet and took on the job of porting the |
||
18 | code to Tandem NSK (Guardian). This meant dusting off my circa 1985 'C' |
||
19 | programming skills and firing up the Tandem 'C' compiler - not known for its |
||
20 | ease of use, especially debugging 8-; This was all on D30 by the way. |
||
21 | |||
22 | To start this off I had to choose an existing port to base te Tandem one on. |
||
23 | Nearest (?) was the VM-CMS/MVS port by George Petrov. The main similarity |
||
24 | being that these machines are record based, and have a similarish filing system |
||
25 | to Guardian. |
||
26 | |||
27 | First to be tackled was ZIP. By the end of 1996 I had a version which compiled |
||
28 | and ran (giving the program banner) - which seemed like a major acheivement at |
||
29 | the time. |
||
30 | |||
31 | In December 1996 I forwarded a version of ZIP to Info-ZIP which wor |
||
32 | ked only on Edit files, and had no concept of directories. Became ZIP 2.1 |
||
33 | |||
34 | By March 1997 I had improved ZIP so that it could cope with Unstructured files |
||
35 | as well (Became ZIP 2.2). I also had ported a version of UNZIP which could |
||
36 | create Unstructured files (not Edit) - UNZIP 5.20 |
||
37 | |||
38 | At the start of September 1997 I sent UNZIP with Edit file support to Info-ZIP |
||
39 | (incorporated into 5.32) |
||
40 | |||
41 | In March 1998 I submitted file I/O improvements (SBB) for ZIP (2.3a) |
||
42 | |||
43 | In August 1998 I added Tandem DEFINE processing for ZIP (2.3e). This was a |
||
44 | feature required by BP to allow them to store files with a different internal |
||
45 | name than the physical file being zipped (without renaming it). |
||
46 | Also added storing of proper UTC timestamps which allow for DST & timezone. |
||
47 | |||
48 | Also in August I added the same file I/O improvements for UNZIP (5.33f) |
||
49 | |||
50 | I then added the ability to update the unzipped files last modified and last |
||
51 | open timestamps - this required help from TNSC to allow me access to the |
||
52 | priviliged procedure call. Also can give the files back to the original user |
||
53 | by use of the '-X' flag. |
||
54 | |||
55 | At the end of 1998 I was given the go ahead to add the zipping of Enscribe |
||
56 | files. This first version stores all Enscribe file attributes EXCEPT SQL, alt |
||
57 | key and partition information. |
||
58 | |||
59 | ZIP now uses its own Guardian I/O (rather than the 'C'library) for the reading |
||
60 | of files to be zipped. |
||
61 | |||
62 | Unstructured files use Large Transfer mode and READ (56K or 30K reads) |
||
63 | Edit files use IOEdit routines |
||
64 | Enscribe files use READ and SBB and add LF to the end of each record. |
||
65 | |||
66 | UNZIP has the ability to update the filecode of files restored to ther original |
||
67 | value (Unstructured only) |
||
68 | |||
69 | |||
70 | To Do ZIP |
||
71 | =========== |
||
72 | 1. Change I/O to use NSK/Large Transfer mode in fwrite of ZIP file itself- this |
||
73 | will dramaticaly speed up updating an existing zipfile. When updating an |
||
74 | existing zipfile it copies it to a temporary file currently using only SBB. |
||
75 | 2. Add raw binary mode to allow storing of raw data in zip file - e.g. only to |
||
76 | be unzipped on Tandem ! This is simplest/fastest way to provide full |
||
77 | Enscribe support for Tandem platform - with no cross-platform support. |
||
78 | 3. Add SQL support !! |
||
79 | |||
80 | To Do UNZIP |
||
81 | =========== |
||
82 | 1. Re-write the I/O routines to use NSK to recreate the original Enscribe file |
||
83 | structure. |
||
84 | 2. Use NSK Large Transfer mode I/O for reading/writing of ZIP file |
||
85 | 3. Add raw binary mode to allow restoration of Tandem file from previous raw |
||
86 | data ZIP (see above) |
||
87 | 4. Add SQL support !! |
||
88 | |||
89 | |||
90 | |||
91 | Current Versions on Website |
||
92 | =========================== |
||
93 | |||
94 | ZIP 2.3 |
||
95 | UNZIP 5.5 |
||
96 | |||
97 | As of February 17th 2002 |