$PAGE "MPE TABLE ACCESS:  LOGICAL DEVICE TABLE (LDT)"          <<04430>>00010000
COMMENT                                                        <<04430>>00012000
                                                               <<04430>>00014000
              Overview of Device Tables                        <<04430>>00016000
              -------------------------                        <<04430>>00018000
                                                               <<04430>>00020000
                                                               <<04430>>00022000
            +---------------------------+<-----DST %16         <<04430>>00024000
            |                           |                      <<04430>>00026000
            |   Logical Device Table    |                      <<04430>>00028000
            |                           |                      <<04430>>00030000
            |          (LDT)            |                      <<04430>>00032000
            |                           |                      <<04430>>00034000
            +---------------------------+                      <<04430>>00036000
            |                           |                      <<04430>>00038000
            |    Device Class Table     |                      <<04430>>00040000
            |                           |                      <<04430>>00042000
            |          (DCT)            |                      <<04430>>00044000
            |                           |                      <<04430>>00046000
            +---------------------------+                      <<04430>>00048000
            |                           |                      <<04430>>00050000
            |   Logical Device Table    |                      <<04430>>00052000
            |         Extension         |                      <<04430>>00054000
            |          (LDTX)           |                      <<04430>>00056000
            |                           |                      <<04430>>00058000
            +---------------------------+                      <<04430>>00060000
                                                               <<04430>>00062000
                                                               <<04430>>00064000
                          LOGICAL DEVICE TABLE                 <<04430>>00066000
                         ---------------------                 <<04430>>00068000
                                                               <<04430>>00070000
DST 16(8) = 14(10)                                             <<04430>>00072000
SIR 12(8) = 10(10)                                             <<04430>>00074000
                           Zero Entry Format                   <<04430>>00076000
                           -----------------                   <<04430>>00078000
                                                               <<04430>>00080000
   0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15              <<04430>>00082000
 +--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--+             <<04430>>00084000
0|    Highest entry #    |     Entry size = 5    |             <<04430>>00086000
 +-----------------------+-----------------------+             <<04430>>00088000
 |      Pointer to first Device Class entry      |             <<04430>>00090000
1|          (relative to segment base)           |             <<04430>>00092000
 +-----------------------------------------------+             <<04430>>00094000
2|        Number of Device Class entries         |             <<04430>>00096000
 +-----------------------------------------------+             <<04430>>00098000
3|          Size of Device Class Table           |             <<04430>>00100000
 +-----------------------------------------------+             <<04430>>00102000
4|///////////////////////| Streams device number |             <<04430>>00104000
 +-----------------------------------------------+             <<04430>>00106000
$PAGE                                                          <<04430>>00108000
                          Typical Entry Format                 <<04430>>00110000
                          --------------------                 <<04430>>00112000
                                                               <<04430>>00114000
   0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15              <<04430>>00116000
 +--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--+             <<04430>>00118000
 |                File use count                 |0            <<04430>>00120000
 +-----------------------+-----------------------+             <<04430>>00122000
 |Vol table index if dev |                       |             <<04430>>00124000
 |  type = 0-7, otherwise|     CONTROL-Y pin     |1            <<04430>>00126000
 |  main process pin #   |                       |             <<04430>>00128000
 |  or dev's spooler pin |                       |             <<04430>>00130000
 +-----------------------+-----------------------+             <<04430>>00132000
 |     Record width      |CS|FO|  Device type    |2            <<04430>>00134000
 +-----+--+--+--+--+--+--+-----------------------+             <<04430>>00136000
 |     |  |  |  |  |  |  | Default output device |             <<04430>>00138000
 |  SS | F| M| R| T| H| C|  or class index (C=1) |3            <<04430>>00140000
 +-----+--+--+--+--+--+--+-----------------------+             <<04430>>00142000
 |                    |S |                       |             <<04430>>00144000
 |        Misc        | Q|        VDD index      |4            <<04430>>00146000
 +--------------------+--+-----------------------+             <<04430>>00148000
                                                               <<04430>>00150000
                                                               <<04430>>00152000
CS . . . CS device                                             <<04430>>00154000
FO . . . Special forms                                         <<04430>>00156000
SS . . . spool state                                           <<04430>>00158000
         0 not spooled          reserved                       <<04430>>00160000
         1 spooled input          for                          <<04430>>00162000
         2 spooled output       spooling                       <<04430>>00164000
F  . . . avail to system                                       <<04430>>00166000
M  . . . avail to diagnostics                                  <<04430>>00168000
R  . . . down requested                                        <<04430>>00170000
T  . . . 0 = Trailer enabled  (:HEADON  <ldev> -OR-            <<04430>>00172000
               :HEADOFF <ldev> during a print job)             <<04430>>00174000
         1 = Trailer disabled (:HEADOFF <ldev>)                <<04430>>00176000
H  . . . 0 = Header  enabled  (:HEADON  <ldev>)                <<04430>>00178000
         1 = Header  disabled (:HEADOFF <ldev>)                <<04430>>00180000
C  . . . default device is class index                         <<04430>>00182000
MISC. . . miscellaneous information, device dependent:         <<04430>>00184000
                                                               <<04430>>00186000
   1) For terminal-like devices, default terminal type to be   <<04430>>00188000
        used when not specified in HELLO command.              <<04430>>00190000
   2) For variable density tape drives, contains               <<04430>>00192000
        density information:                                   <<04430>>00194000
                                                               <<04430>>00196000
      WORD4.(1:3) -- actual tape density                       <<04430>>00198000
                     0 = density not yet determined            <<04430>>00200000
                     1 = 1600 BPI                              <<04430>>00202000
                     2 = 6250 BPI                              <<04430>>00204000
      WORD4.(4:3) -- density requested in FOPEN for writes to  <<04430>>00206000
                     unlabelled tapes only                     <<04430>>00208000
                     0 = no FOPEN with write access yet        <<04430>>00210000
                     1 = 1600 BPI                              <<04430>>00212000
                     2 = 6250 BPI                              <<04430>>00214000
SQ  . . . Spooling enabled                                     <<04430>>00216000
;                                                              <<04430>>00218000
$PAGE "MPE TABLE ACCESS:  LOGICAL DEVICE TABLE (LDT) - ",&     <<04444>>00220000
$"DECLARATIONS"                                                <<04444>>00222000
equate                                                                  00224000
                                                                        00226000
       ldt'dst           = %16 << = #14 >>                              00228000
      ,ldt'sir           = %12 << = #10 >>                              00230000
                                                                        00232000
      ,size'of'ldt'entry = %5  << = #5, an ldt entry >>                 00234000
      ,size'of'ldt0'entry= %5  << = #5, the ldt zero entry >>           00236000
;                                                                       00238000
                                                                        00240000
define                                                                  00242000
                                                                        00244000
        << _entry 0_ ( prefix: ldt0 ) >>                                00246000
                                                                        00248000
       ldt0'highest'ent  = 0).(0:8 #                                    00250000
                                                                        00252000
      ,ldt0'ent'size     = 0).(8:8 #                                    00254000
                                                                        00256000
      ,ldt0'ptr'1st'dct'ent = 1 # <<pointer to first device  >>         00258000
           << class entry (relative to table base)           >>         00260000
                                                                        00262000
      ,ldt0'num'dct'ent  = 2 #                                          00264000
                             <<number of device class entries>>         00266000
                                                                        00268000
      ,ldt0'dct'size     = 3 # <<size of device class table  >>         00270000
                                                                        00272000
      ,ldt0'streams'ldev = 4).(8:8 #                                    00274000
                                                                        00276000
                                                                        00278000
        << _typical entry_ ( prefix: ldt0 ) >>                          00280000
                                                                        00282000
      ,ldt'file'use'cnt  = 0 #       <<                    ??>>         00284000
                                                                        00286000
      ,ldt'vol'tbl'indx  = 1).(0:8 #                                    00288000
           <<if ldt'dev'type < 8 then volume table index     >>         00290000
                                                                        00292000
      ,ldt'main'pin      = 1).(0:8 # <<else main process pin >>         00294000
                                                                        00296000
      ,ldt'spooler'pin = 1).(0:8 # <<else pin of IO spooler>>           00298000
                                                                        00300000
      ,ldt'control'y'pin = 1).(8:8 # <<                    ??>>         00302000
                                                                        00304000
      ,ldt'record'width  = 2).(0:8 # <<                    ??>>         00306000
                                                                        00308000
      ,ldt'cs'device     = 2).(8:1 # <<CS device             >>         00310000
                                                                        00312000
      ,ldt'special'forms'on=2).(9:1 # <<Special Forms        >>         00314000
                                                                        00316000
      ,ldt'dev'type      = 2).(10:5 # <<logical device type  >>         00318000
                                                                        00320000
      ,ldt'spool'state   = 3).(0:2 # <<spool state:          >>         00322000
           <<                             0 := not spooled   >>         00324000
           <<                             1 := input spooled >>         00326000
           <<                             2 := output spooled>>         00328000
                                                                        00330000
      ,ldt'avail'to'sys  = 3).(2:1 # <<avail to system       >>         00332000
           << (i.e.   AVAIL                                  >>         00334000
                                                                        00336000
      ,ldt'avail'to'diag = 3).(3:1 # <<avail to diagnostics  >>         00338000
           << (i.e. UNAVAIL  DOWN                            >>         00340000
                                                                        00342000
      ,ldt'down'pending  = 3).(4:1 # <<=DOWN requested       >>         00344000
           << (i.e. UNAVAIL         ;DP or DOWN PENDING)     >>         00346000
                                                                        00348000
      ,ldt'header'trailer= 3).(5:2 # << header/trailer field >>         00350000
                                                                        00352000
      ,ldt'trailer'off   = 3).(5:1 # <<Trailer on=0 / off=1  >>         00354000
                                                                        00356000
      ,ldt'header'off    = 3).(6:1 # <<Header on=0 / off=1   >>         00358000
                                                                        00360000
      ,ldt'class'indx    = 3).(7:1 #                                    00362000
           << default (output) device is class index         >>         00364000
                                                                        00366000
      ,ldt'dflt'out'dev  = 3).(8:8 # << if ldt'c = 0         >>         00368000
                                                                        00370000
      ,ldt'dflt'outdct'indx = 3).(8:8 # << if ldt'c = 1      >>         00372000
                                                                        00374000
      ,ldt'dflt'term'type= 4).(0:7 #                                    00376000
           << if ldt'dev'type = terminal?? default used when >>         00378000
           << not specified in :HELLO command                >>         00380000
                                                                        00382000
      ,ldt'ILT'indx      = 4).(0:7 #                                    00384000
                            <<        Interupt Linkage Table >>         00386000
                            << if ldt'dev'type <>terminal??) >>         00388000
                                                                        00390000
      ,ldt'actual'tape'dens= 4).(1:3 # << mag tapes >>                  00392000
                                                                        00394000
      ,ldt'rqst'tape'dens=4).(4:3 # << mag tapes >>                     00396000
                                                                        00398000
      ,ldt'spool'qs'open = 4).(7:1 #                                    00400000
                               <<spooling enabled (Q's open) >>         00402000
                                                                        00404000
      ,ldt'vdd'indx      = 4).(8:8 # <<                    ??>>         00406000
                                                                        00408000
;                                                                       00410000
