*DECK,DMP$TCD 
*IF,DEF,TRACE 
USETEXT DMP$PRT 
USETEXT TCD$DMP 
 PROC DMP$TCD(ARRAY$ADDR,ITEM$TAG,ORD); 
BEGIN 
  
ITEM
 ARRAY$ADDR U,
 STAT U,
 TEMP$VAR C(10),
TEMP$VAR2 C(12),
 ITEM$TAG U,
 ORD, 
 ITER I;
 XREF BEGIN 
FUNC XCOD C(10) ; 
 FUNC XCDD C(10) ;
 FUNC XSFW C(10) ;
PROC DMP$ZB5 ;
 END
ARRAY STAT$BLD S(2);
 BEGIN
 ITEM S$MNEM   C(00,00,09); 
 ITEM S$SLASH  C(00,54,01)=["/"]; 
 ITEM S$VAL    C(01,00,02); 
 ITEM S$ENTIRE C(00,00,12); 
 END
  
 ARRAY TCD8DEVDT[0:5];
 ITEM TCD9DEVDT C(00,00,10) = [ 
"CONSOLE",
"CARDRDR",
"LINEPRT",
"PUNCH",
"PLOTTER",
"UNDEFINED."];
  
 ARRAY TCD8DEVTC[0:18]; 
 ITEM TCD9DEVTC C(00,00,10) = [ 
"NULL", 
"M33",
"713",
"M1240",
"2741", 
"M40",
"H2000",
"751",
"T401X",
"HASP$PST", 
"200UT",
"714$30", 
"711",
"714$10", 
"HASP$PRE", 
"734$1",
"2780", 
"3780", 
"UNDEFINED."];
  
P<TCD$DMP> = ARRAY$ADDR;
FOR ITER=0 STEP 1 UNTIL 13
DO BUFF$BUFF[ITER] = " "; 
H$TABLE = "TCD";
TEMP$VAR  = XCOD(ARRAY$ADDR); 
H$ADD = C<2,8>TEMP$VAR ;
H$DESCR = "  (NONE)  "; 
TEMP$VAR  = XCDD(ORD);
H$ORDD = C<7,3>TEMP$VAR ; 
TEMP$VAR  = XCOD(ORD);
H$ORDB = C<7,3>TEMP$VAR ; 
DMP$ZB5(10,HEAD$BUFF,STAT); 
TEMP$VAR  = XCOD(TCD$DEVWORD1); 
BUFF$NAME1 = "DEVWORD1";
BUFF$OCTAL1 = C<5,5>TEMP$VAR ;
BUFF$SLASH1 = "/";
TEMP$VAR  = XCDD(TCD$DEVWORD1); 
BUFF$DEC1 = C<4,6>TEMP$VAR ;
TEMP$VAR  = XCOD(TCD$DEVWORD2); 
BUFF$NAME2 = "DEVWORD2";
BUFF$OCTAL2 = C<5,5>TEMP$VAR ;
BUFF$SLASH2 = "/";
TEMP$VAR  = XCDD(TCD$DEVWORD2); 
BUFF$DEC2 = C<4,6>TEMP$VAR ;
TEMP$VAR  = XCOD(TCD$DEVBSZ); 
BUFF$NAME3 = "DEVBSZ";
BUFF$OCTAL3 = C<5,5>TEMP$VAR ;
BUFF$SLASH3 = "/";
TEMP$VAR  = XCDD(TCD$DEVBSZ); 
BUFF$DEC3 = C<4,6>TEMP$VAR ;
TEMP$VAR  = XCOD(TCD$ORGWIDTH); 
BUFF$NAME4 = "ORGWIDTH";
BUFF$OCTAL4 = C<5,5>TEMP$VAR ;
BUFF$SLASH4 = "/";
TEMP$VAR  = XCDD(TCD$ORGWIDTH); 
BUFF$DEC4 = C<4,6>TEMP$VAR ;
TEMP$VAR  = XCOD(TCD$CURWIDTH); 
BUFF$NAME5 = "CURWIDTH";
BUFF$OCTAL5 = C<5,5>TEMP$VAR ;
BUFF$SLASH5 = "/";
TEMP$VAR  = XCDD(TCD$CURWIDTH); 
BUFF$DEC5 = C<4,6>TEMP$VAR ;
IF TCD$ENDCON THEN
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
DMP$ZB5(14,PRINT$BUFF,STAT);
FOR ITER=0 STEP 1 UNTIL 13
DO BUFF$BUFF[ITER] = " "; 
BUFF$NAME1 = "ENDCON";
BUFF$CHAR1 = TEMP$VAR ; 
TEMP$VAR  = XCOD(TCD$DEVDTTC);
BUFF$NAME2 = "DEVDTTC"; 
BUFF$OCTAL2 = C<5,5>TEMP$VAR ;
BUFF$SLASH2 = "/";
TEMP$VAR  = XCDD(TCD$DEVDTTC);
BUFF$DEC2 = C<4,6>TEMP$VAR ;
S$MNEM = C<0,9>TCD9DEVDT [TCD$DEVDT]; 
TEMP$VAR  = XCDD(TCD$DEVDT);
S$VAL = C<8,2>TEMP$VAR ;
BUFF$NAME3 = "DEVDT"; 
BUFF$CHAR3 = S$ENTIRE;
S$MNEM = C<0,9>TCD9DEVTC [TCD$DEVTC]; 
TEMP$VAR  = XCDD(TCD$DEVTC);
S$VAL = C<8,2>TEMP$VAR ;
BUFF$NAME4 = "DEVTC"; 
BUFF$CHAR4 = S$ENTIRE;
TEMP$VAR  = XCOD(TCD$ERRORS); 
BUFF$NAME5 = "ERRORS";
BUFF$OCTAL5 = C<5,5>TEMP$VAR ;
BUFF$SLASH5 = "/";
TEMP$VAR  = XCDD(TCD$ERRORS); 
BUFF$DEC5 = C<4,6>TEMP$VAR ;
IF TCD$NOTRDY THEN
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
DMP$ZB5(14,PRINT$BUFF,STAT);
FOR ITER=0 STEP 1 UNTIL 13
DO BUFF$BUFF[ITER] = " "; 
BUFF$NAME1 = "NOTRDY";
BUFF$CHAR1 = TEMP$VAR ; 
IF TCD$CARDERR THEN 
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
BUFF$NAME2 = "CARDERR"; 
BUFF$CHAR2 = TEMP$VAR ; 
IF TCD$INPQFULL THEN
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
BUFF$NAME3 = "INPQFULL";
BUFF$CHAR3 = TEMP$VAR ; 
IF TCD$DISKERR THEN 
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
BUFF$NAME4 = "DISKERR"; 
BUFF$CHAR4 = TEMP$VAR ; 
IF TCD$DISKFULL THEN
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
BUFF$NAME5 = "DISKFULL";
BUFF$CHAR5 = TEMP$VAR ; 
IF TCD$JOBERR THEN
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
DMP$ZB5(14,PRINT$BUFF,STAT);
FOR ITER=0 STEP 1 UNTIL 13
DO BUFF$BUFF[ITER] = " "; 
BUFF$NAME1 = "JOBERR";
BUFF$CHAR1 = TEMP$VAR ; 
IF TCD$ACCTERR THEN 
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
BUFF$NAME2 = "ACCTERR"; 
BUFF$CHAR2 = TEMP$VAR ; 
IF TCD$PM THEN
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
BUFF$NAME3 = "PM";
BUFF$CHAR3 = TEMP$VAR ; 
TEMP$VAR  = XCOD(TCD$DEVACN); 
BUFF$NAME4 = "DEVACN";
BUFF$OCTAL4 = C<5,5>TEMP$VAR ;
BUFF$SLASH4 = "/";
TEMP$VAR  = XCDD(TCD$DEVACN); 
BUFF$DEC4 = C<4,6>TEMP$VAR ;
TEMP$VAR  = XCOD(TCD$ORD);
BUFF$NAME5 = "ORD"; 
BUFF$OCTAL5 = C<5,5>TEMP$VAR ;
BUFF$SLASH5 = "/";
TEMP$VAR  = XCDD(TCD$ORD);
BUFF$DEC5 = C<4,6>TEMP$VAR ;
TEMP$VAR  = XCOD(TCD$SKPVAL); 
DMP$ZB5(14,PRINT$BUFF,STAT);
FOR ITER=0 STEP 1 UNTIL 13
DO BUFF$BUFF[ITER] = " "; 
BUFF$NAME1 = "SKPVAL";
BUFF$OCTAL1 = C<5,5>TEMP$VAR ;
BUFF$SLASH1 = "/";
TEMP$VAR  = XCDD(TCD$SKPVAL); 
BUFF$DEC1 = C<4,6>TEMP$VAR ;
IF TCD$SKPDFL THEN
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
BUFF$NAME2 = "SKPDFL";
BUFF$CHAR2 = TEMP$VAR ; 
TEMP$VAR  = XCOD(TCD$REPEAT); 
BUFF$NAME3 = "REPEAT";
BUFF$OCTAL3 = C<5,5>TEMP$VAR ;
BUFF$SLASH3 = "/";
TEMP$VAR  = XCDD(TCD$REPEAT); 
BUFF$DEC3 = C<4,6>TEMP$VAR ;
IF TCD$ACKFLAG THEN 
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
BUFF$NAME4 = "ACKFLAG"; 
BUFF$CHAR4 = TEMP$VAR ; 
TEMP$VAR  = XCOD(TCD$OPT);
BUFF$NAME5 = "OPT"; 
BUFF$OCTAL5 = C<5,5>TEMP$VAR ;
BUFF$SLASH5 = "/";
TEMP$VAR  = XCDD(TCD$OPT);
BUFF$DEC5 = C<4,6>TEMP$VAR ;
IF TCD$FMTFLAG THEN 
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
DMP$ZB5(14,PRINT$BUFF,STAT);
FOR ITER=0 STEP 1 UNTIL 13
DO BUFF$BUFF[ITER] = " "; 
BUFF$NAME1 = "FMTFLAG"; 
BUFF$CHAR1 = TEMP$VAR ; 
IF TCD$BANFLAG THEN 
TEMP$VAR  =  "TRUE" ; 
ELSE
TEMP$VAR  =  "FALSE" ;
BUFF$NAME2 = "BANFLAG"; 
BUFF$CHAR2 = TEMP$VAR ; 
TEMP$VAR  = XCOD(TCD$PRIORITY); 
BUFF$NAME3 = "PRIORITY";
BUFF$OCTAL3 = C<5,5>TEMP$VAR ;
BUFF$SLASH3 = "/";
TEMP$VAR  = XCDD(TCD$PRIORITY); 
BUFF$DEC3 = C<4,6>TEMP$VAR ;
TEMP$VAR  = XCOD(TCD$FORMS);
BUFF$NAME4 = "FORMS"; 
BUFF$OCTAL4 = C<5,5>TEMP$VAR ;
BUFF$SLASH4 = "/";
TEMP$VAR  = XCDD(TCD$FORMS);
BUFF$DEC4 = C<4,6>TEMP$VAR ;
TEMP$VAR  = XCOD(TCD$TRAIN);
BUFF$NAME5 = "TRAIN"; 
BUFF$OCTAL5 = C<5,5>TEMP$VAR ;
BUFF$SLASH5 = "/";
TEMP$VAR  = XCDD(TCD$TRAIN);
BUFF$DEC5 = C<4,6>TEMP$VAR ;
TEMP$VAR  = XCOD(TCD$CMDTY);
DMP$ZB5(14,PRINT$BUFF,STAT);
FOR ITER=0 STEP 1 UNTIL 13
DO BUFF$BUFF[ITER] = " "; 
BUFF$NAME1 = "CMDTY"; 
BUFF$OCTAL1 = C<5,5>TEMP$VAR ;
BUFF$SLASH1 = "/";
TEMP$VAR  = XCDD(TCD$CMDTY);
BUFF$DEC1 = C<4,6>TEMP$VAR ;
DMP$ZB5(14,PRINT$BUFF,STAT);
  
END 
TERM
*ENDIF
