<<================================================>>                    00001000
<<                                                >>                    00002000
<<                 INCLTRL - G0                   >>                    00003000
<<                                                >>                    00004000
<<================================================>>                    00005000
                                                                        00006000
                                                                        00007000
$IF X8=ON                                                               00008000
                                                                        00009000
COMMENT:                                                                00010000
           TIMER REQUEST LIST (TRL) FOR MPE V                           00011000
           ----------------------------------                           00012000
                                                                        00013000
                                                                        00014000
The system clock interrupts every 100 ms, with the CR being             00015000
automatically cleared.  An exception is the Shared Clock                00016000
Interface measurement service which allows rates as fast as 5 ms.       00017000
The interrupt handler is the procedure TICK.  On entry, DB is           00018000
pointing to the base of timer request list.  Besides timeout            00019000
requests, the clock also controls time slicing.                         00020000
                                                                        00021000
                                                                        00022000
        -------------------------------|                                00023000
    / 0|       NUMBER OF ENTRIES       |                                00024000
    |  |-------------------------------|                                00025000
    | 1|        ENTRY SIZE (4)         |                                00026000
ENT0|  |-------------------------------|                                00027000
    | 2|        FREE LIST PTR          |                                00028000
    |  |-------------------------------|                                00029000
    \ 3|  # of days since last start   |  Series 30/33 only             00030000
       |-------------------------------|                                00031000
    / 4|        QUANTUM/100 ms         |  QTIME                         00032000
    |  |-------------------------------|                                00033000
    | 5|                               |                                00034000
    |  |          TIME OF DAY*         |  DTIME*                        00035000
ENT1| 6|                               |                                00036000
    |  |-------------------------------|                                00037000
    \ 7|     YEAR      |  JULIAN DAY   |                                00038000
       |-------------------------------|                                00039000
    / 8|  PTR TO MOST ACTIVE REQUEST   |  HEAD                          00040000
    |  |-------------------------------|                                00041000
    | 9|          TRACE WORD           |                                00042000
ENT2|  |-------------------------------|                                00043000
    |10|               0               |                                00044000
    |  |                               |  dummy time                    00045000
    \11|               0               |  ----------                    00046000
       |-------------------------------|       |                        00047000
    /12|A|   CODE   | ENTRY # OF NEXT  |       |                        00048000
    |  |-------------------------------|       |                        00049000
    |13|              REQ              |       |                        00050000
ENT3|  |-------------------------------|  assignable                    00051000
    |14|     TIME TO SERVICE AFTER     |  entries                       00052000
    |  |                               |       |                        00053000
    \15| REQUEST IN FRONT (UNIT= 100ms)|       |                        00054000
       |-------------------------------|       |                        00055000
       |                               |       |                        00056000
       |                               |       |                        00057000
     A:  0 if inactive request            ----------                    00058000
         1 if active request                                            00059000
                                                                        00060000
TRL (CONT.)                                                             00061000
---                                                                     00062000
                                                                        00063000
                                                                        00064000
CODE & REQ indicate the type of request.                                00065000
     CODE:        REQ:                 TYPE:                            00066000
       0          DITP                 Hangup                           00067000
       1          DITP                 Carrier failure                  00068000
       2          DITP                 202 turnaround                   00069000
       3          DITP                 Read                             00070000
       4          DITP                 Logon                            00071000
       5          PCBB index           Delay                            00072000
                  to process                                            00073000
       6          DITP                 LP not ready                     00074000
       7          DITP                 2640                             00075000
     %10          Port mask            Msg port timeout                 00076000
     %11          DITP                 Block mode read                  00077000
                                       timeout (30 secs)                00078000
     %12          PCBB index           Watchdog timer for               00079000
                  to process           process                          00080000
                                                                        00081000
                                                                        00082000
The list of pending requests is kept ordered by time with later         00083000
entries at the tail.                                                    00084000
                                                                        00085000
    %20-%37       DITP                 SIO device timeout:              00086000
                                       DIT8.  (code_1 on                00087000
                                       expiration, cleared              00088000
                                       on Timereq.                      00089000
                                                                        00090000
    %5/%6        *DTIME                For Series 30/33, DTIME is       00091000
                                       # of TICS (0.091457 ms)          00092000
                                       since last midnight.             00093000
                                                                        00094000
                                                                        00095000
;                                                                       00096000
$IF                                                                     00097000
<<Definitions for TIMER REQUEST LIST>>                                  00098000
                                                                        00099000
INTEGER POINTER                                                         00100000
   TRL              = %12;                                              00101000
                                                                        00101500
EQUATE                                                                  00101550
   TRLDST           = %23;                                              00101600
                                                                        00102000
DEFINE                                                                  00104000
   TRLNUMENTRIES    = TRL(0)#,                                          00105000
   TRLENTRYSIZE     = TRL(1)#,                                          00106000
   TRLFREELISTP     = TRL(2)#,                                          00107000
   TRLNUMDAYS       = TRL(3)#,                                          00108000
   TRLQTIME         = TRL(4)#,                                          00109000
   TRLDTIME1        = TRL(5)#,                                          00110000
   TRLDTIME2        = TRL(6)#,                                          00111000
   TRLDATE          = TRL(7)#,                                          00111500
   TRLYEAR          = TRL(7).(0:7)#,                                    00112000
   TRLJULIANDAY     = TRL(7).(7:9)#,                                    00113000
   TRLACTVRQHD      = TRL(8)#,                                          00114000
   TRLTRACEWORD     = TRL(9)#;                                          00115000
                                                                        00116000
<<DEFINEs for assignable entries>>                                      00117000
                                                                        00118000
<<Use TRLLINK to access the pointer to next entry>>                     00119000
<<and TRLPTRNEXT to access the next entry>>                             00120000
                                                                        00121000
DEFINE                                                                  00122000
   TRLACTVRQFLAG    = TRL(TRLPTR).(0:1)#,                               00123000
   TRLCODE          = TRL(TRLPTR).(1:5)#,                               00124000
   TRLLINK          = TRL(TRLPTR).(6:10)#,                              00125000
   TRLPTRNEXT       = TRLLINK*TRLENTRYSIZE#,                            00126000
   TRLREQUEST       = TRL(TRLPTR+1)#,                                   00127000
   TRLSERVTIME1     = TRL(TRLPTR+2)#,                                   00128000
   TRLSERVTIME2     = TRL(TRLPTR+3)#;                                   00129000
                                                                        00130000
<<==============================================>>                      00131000
<<                                              >>                      00132000
<<            END OF INCLTRL                    >>                      00133000
<<                                              >>                      00134000
<<==============================================>>                      00135000
