next up previous contents index
Next: TZUSER - editing Up: Using the TZ Previous: TZFIND - access

TZINIT - creating title banks from a text file

The data to be read by TZINIT are prepared on a formatted file, where they can easily be changed. Typically normal free-field format titles on this file look like this:

   *DO MEDI
       3                    #. this is a trailing comment
       1.      217.5993     #. MEDIUM 1 : AIR PATH
       1.5259    7.496      #.        2 : VAC TANK WINDOW
       1.5324   17.0278     #.        3 : MAIN WINDOW
       1.1005   50.54       #. HYDROGEN

   *DO FZO 21 -ACW
       4  0  :TLO3  :/dev/mt12    #. FZ option and file name

The data for the title banks are given one after the other. Each title starts with the 'title header line', marked by *DO in column 1, giving the Hollerith identifier (like MEDI or FZO) and possibly the numeric identifier (like 21), possibly followed by options valid for this title (like -ACW), selecting the way in which the data are to read.

Full specifications for the formats are given in chapter gif.

With these data TZINIT will create in the title structure a bank with a Hollerith ID 'MEDI' and with 9 data words, and also a bank FZO / 21. If this resides in the primary store the program can access the contents of bank MEDI by issueing CALL TZFIND (0,L,'MEDI',0,1) with has the following contents:

         IQ(L+1)     3
          Q(L+2)     1.
          Q(L+3)     217.5993
          Q(L+4)     1.5259
            ...
          Q(L+9)     50.54

If, after digesting the data, the program no longer needed the bank it could remove it with CALL MZDROP (0,L,'.')

To read the title data from a file connected to the logical unit number LUN one calls:

CALL TZINIT (LUN, IXDIV)

LUN
logical unit number,
0: Zebra ``card reader'' IQREAD
-1: Zebra ``terminal input'' IQTTIN
IXDIV
division into which the title structure is to be stored;
IXSTOR
division 2 of store IXSTOR,
0
division 2 of the primary store,
IXSTOR+24
system division of store IXSTOR,
24
system division of the primary store.

TZINIT may be called several times in succession for different files, thus building up the title structure from different sources; on the second or later calls for the same store the division part of IXDIV is ignored.

New title banks are always linked by TZINIT to the end of the title structure; thus this linear structure reflects the chronological order in which the banks have been read. This allows to over-ride a title bank from one file by a title bank from a file read earlier. Take this common example:

      CALL TZINIT (0,IXTITL)
      CALL TZINIT (7,IXTITL)
Giving the same title with different contents on the ``card reader'' over-rides the one from LUN=7.

Note the following problem: as explained when discussion routine MZXREF, Zebra assumes by default that banks in any division do not have links pointing into the system division. Thus, if one puts the title structure into the system division one must not also make links in banks point to title banks, because such a link would not be updated for a garbage collection in the system division. The same is true if the user sends the titles into a ``packagé' division (see the discussion of routine MZDIV). This problem does not exist for links in link areas.



next up previous contents index
Next: TZUSER - editing Up: Using the TZ Previous: TZFIND - access


Janne Saarela
Mon May 15 08:34:47 METDST 1995