%{ char *IxDrive_text[] = { " < ", "| < ", " < |", "| < |", " > ", "| > ", " > |", "| > |", "<----", /* driving in */ "|<---", /* driving in against in limit */ "<---|", /* driving in from out limit */ "|<--|", /* driving in both limits. Broke */ "---->", /* driving out */ "|--->", /* driving out from in limit */ "--->|", /* driving out agains out limit */ "|-->|" /* driving out both limits. Broke */ }; %} TM typedef unsigned char IxDriveStat { text "%5d" IxDrive_text[]; } IxDriveStat EtnSt_; invalidate EtnSt_; { EtnSt_ = EtnSt & 0xF; Validate EtnSt_; } %{ char *IdxFlgTxt[8] = { " ", "Scan", "On ", "????", "Off ", "????", "Alt ", "????" }; %} TM typedef unsigned short IndxrFlag { text "%4d" IdxFlgTxt[]; } IndxrFlag EtnFlg; invalidate EtnFlg; { EtnFlg = ( IXStt ) & 7; validate EtnFlg; }