Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-13 - spec.for
There are 2 other files named spec.for in the archive. Click here to see a list.
      subroutine SPECPackage


      parameter ( NF=  2,NI=  1,NR=  1,NC=  2,NT= 14 )
      parameter ( NdimT=  111,NdimC=   18,NdimH=  124 )

      integer Row, Col, StartField, TermKeys(30), LastKey
      logical Next, Last, Exit, Refresh
      character*80 Menu
      integer FieldNumber
      logical ValidField

      character*    6 C1  
      character*   12 M2  

      character*1 Text(NdimT)
      character*1 Char(NdimC)
      character*1 Help(NdimH)

      character*7 Formats(NF)

      integer TextTable(5,NT), FldTable(7,NF), IntArray(5,NI)
      integer CharTable(2,NC), HelpTable(4,NF)
      real RealArray(5,NR) 

      data Menu(1:40) /
     1   'Up-Previous Field           Down-Next Fi'/
      data Menu(41:80) /
     1   'eld          ^Z-Start Test              '/

 
      data (TextTable(I,  1),I=1,5) /    1,34, 1, 1,1/
      data (Text(I),I=    1,   34) /
     1   ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
     1   ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
     1   ' ',' ',' ',
     1   ' ' /
 
      data (TextTable(I,  2),I=1,5) /   35, 2, 2, 1,1/
      data (Text(I),I=   35,   36) /
     1   ' ',
     1   ' ' /
 
      data (TextTable(I,  3),I=1,5) /   37, 2, 2,33,1/
      data (Text(I),I=   37,   38) /
     1   ' ',
     1   ' ' /
 
      data (TextTable(I,  4),I=1,5) /   39, 2, 3, 1,1/
      data (Text(I),I=   39,   40) /
     1   ' ',
     1   ' ' /
 
      data (TextTable(I,  5),I=1,5) /   41,12, 3, 9,0/
      data (Text(I),I=   41,   52) /
     1   'S','p','e','c','i','m','e','n',' ','I','D',
     1   ' ' /
 
      data (TextTable(I,  6),I=1,5) /   53, 2, 3,33,1/
      data (Text(I),I=   53,   54) /
     1   ' ',
     1   ' ' /
 
      data (TextTable(I,  7),I=1,5) /   55, 2, 4, 1,1/
      data (Text(I),I=   55,   56) /
     1   ' ',
     1   ' ' /
 
      data (TextTable(I,  8),I=1,5) /   57, 2, 4,33,1/
      data (Text(I),I=   57,   58) /
     1   ' ',
     1   ' ' /
 
      data (TextTable(I,  9),I=1,5) /   59, 2, 5, 1,1/
      data (Text(I),I=   59,   60) /
     1   ' ',
     1   ' ' /
 
      data (TextTable(I, 10),I=1,5) /   61,11, 5, 6,0/
      data (Text(I),I=   61,   71) /
     1   'O','r','i','e','n','t','a','t','i','o',
     1   'n' /
 
      data (TextTable(I, 11),I=1,5) /   72, 2, 5,33,1/
      data (Text(I),I=   72,   73) /
     1   ' ',
     1   ' ' /
 
      data (TextTable(I, 12),I=1,5) /   74, 2, 6, 1,1/
      data (Text(I),I=   74,   75) /
     1   ' ',
     1   ' ' /
 
      data (TextTable(I, 13),I=1,5) /   76, 2, 6,33,1/
      data (Text(I),I=   76,   77) /
     1   ' ',
     1   ' ' /
 
      data (TextTable(I, 14),I=1,5) /   78,34, 7, 1,1/
      data (Text(I),I=   78,  111) /
     1   ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
     1   ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
     1   ' ',' ',' ',
     1   ' ' /
 
      data (FldTable(I,    1),I=1,7) / 3,    1,1, 6, 3,21,1 /
      data (CharTable(I,    1),I=1,2) /     1,0 /
      data (HelpTable(I,    1),I=1,4) /     1,   41,    0,    0 /
      data (Help(I),I=    1,   41) /
     1   'E','n','t','e','r',' ','t','h','e',' ','S','p','e','c','i',
     1   'm','e','n',' ','I','D',' ','a','s',' ','a',' ','l','e','g',
     1   'a','l',' ','f','i','l','e','n','a','m',
     1   'e' /
      data Formats(    1) / 'A6     '/
 
      data (FldTable(I,    2),I=1,7) / 6,    2,1,12, 5,18,1 /
      data (CharTable(I,    2),I=1,2) /     7,1 /
      data (HelpTable(I,    2),I=1,4) /    42,   58,  100,   25 /
      data (Help(I),I=   42,   99) /
     1   'S','e','l','e','c','t',' ','S','p','e','c','i','m','e','n',
     1   ' ','O','r','i','e','n','t','a','t','i','o','n',' ','R','e',
     1   'l','a','t','i','v','e',' ','T','o',' ','R','o','l','l','i',
     1   'n','g',' ','D','i','r','e','c','t','i','o','n',
     1   ':' /
      data (Help(I),I=  100,  124) /
     1   'T','r','a','n','s','v','e','r','s','e',' ',' ',' ','L','o',
     1   'n','g','i','t','u','d','i','n','a',
     1   'l' /
      data Formats(    2) / 'A12    '/


      entry SPECClear( Row, Col )


      call ClearScrn( Row, Col, 34,  7 )

      return



      entry SPECTextDsp( Row, Col )

      call DsplyText( Row, Col,
     1   NT, TextTable, NdimT, Text )

      return


      entry SPECDataDsp( Row, Col,
     1   C1  ,M2
     1   )
 
      IEle = FldTable(2,  1)
      L = FldTable(4,  1)
      call ANtoA1( C1  , NdimC, Char, CharTable(1,IEle), L )
 
      IEle = FldTable(2,  2)
      L = FldTable(4,  2)
      call ANtoA1( M2  , NdimC, Char, CharTable(1,IEle), L )

      call DsplyData( Row, Col,
     1   NF, FldTable,
     1   NI, IntArray, NR, RealArray, NC, CharTable, NdimC, Char,
     1   Formats )

      return


      entry SPECValidate( 
     1   C1  ,M2
     1  , ValidField, FieldNumber )
 
      IEle = FldTable(2,  1)
      L = FldTable(4,  1)
      call ANtoA1( C1  , NdimC, Char, CharTable(1,IEle), L )
 
      IEle = FldTable(2,  2)
      L = FldTable(4,  2)
      call ANtoA1( M2  , NdimC, Char, CharTable(1,IEle), L )

      call VldWholeScreen( NF, FldTable,
     1   NI, IntArray, NR, RealArray, NC, CharTable, NdimC, Char,
     1   'SPEC ', ValidField, FieldNumber )

      return


      entry SPECEdit( Row, Col, StartField, TermKeys,
     1   C1  ,M2  ,
     1   Next, Last, Exit, Refresh, LastKey )
 
      IEle = FldTable(2,  1)
      L = FldTable(4,  1)
      call ANtoA1( C1  , NdimC, Char, CharTable(1,IEle), L )
 
      IEle = FldTable(2,  2)
      L = FldTable(4,  2)
      call ANtoA1( M2  , NdimC, Char, CharTable(1,IEle), L )

      call EditScrn( 'SPEC ', Row, Col, StartField, Menu,
     1   TermKeys, NF, FldTable,
     1   NI, IntArray, NR, RealArray, NC, CharTable, NdimC, Char,
     1   Formats, HelpTable, NdimH, Help, Next, Last, Exit,
     1   Refresh, LastKey )
 
      IEle = FldTable(2,  1)
      L = FldTable(4,  1)
      call A1toAN( NdimC, Char, CharTable(1,IEle), L, C1   )
 
      IEle = FldTable(2,  2)
      L = FldTable(4,  2)
      call A1toAN( NdimC, Char, CharTable(1,IEle), L, M2   )

      return
      end