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