                      
             TMK1553B v3.02  Microsoft Windows NT
                
             (    IBM PC AT
              c     26765.52-87).
                   (   tmkguide.doc).

       TMK1553B      
 26765.52-87 (MIL-STD-1553B)  Microsoft Windows NT   
 tmk1553b.sys.  tmk1553b.sys     
$(WINDIR)\system32\drivers. 

           ,   
,      Windows NT.   
          
 Win32 ,    tmkconfig.

     API  TMK1553B  Microsoft Windows NT   
    TMKLL4  MS-DOS.   
 ,     ,   
   .       
  

#include "ntmk.c"

      C/C++  ntmk.c, 
       TMKLL4   
TMK1553B.

             TmkOpen: 

DWORD TmkOpen();

          
.       . 
     CreateFile   
,   GetLastError.

         TMK1553B    TmkClose:

void TmkClose();

      ,   ,    Windows 
NT,         0  7.  
    ,    tmkconfig, 
      : 

int tmkconfig(int tmkNumber);

        Windows NT     
      ,      
  tmkconfig ,       
   .    tmkconfig  
 .      -   
    ,     . 

       ,    ,   
 tmkdone:

int tmkdone(int tmkNumber);

        ,  
 ALL_TMKS,     ,  
.

          tmkconfig   (  
  )      
 TMKLL4  MS-DOS, ..      
 (  tmkselect),       
,     .

       tmkguide.doc, tmkref.doc.

          API Windows NT    
EM_MASK  DI_MASK,         
 ERAO_MASK, MEO_MASK, IB_MASK, TO_MASK, EM_MASK, EBC_MASK, DI_MASK, 
ELN_MASK, G1_MASK, G2_MASK    'S_' 
.   : S_ERAO_MASK, S_MEO_MASK, S_IB_MASK, 
S_TO_MASK, S_EM_MASK, S_EBC_MASK, S_DI_MASK, S_ELN_MASK, S_G1_MASK, 
S_G2_MASK.

         TMKLL4   TMK1553B   
   : bcdefintnorm, bcdefintexc, bcdefintx, 
bcdefintsig, rtdefintcmd, rtdefinterr, rtdefintdata, mtdefintx, 
mtdefintsig, bcrestore, rtrestore, mtrestore, tmksave, tmkrestore, 
tmkdefirq, tmkundefirq.

       TMK1553B        
  Win32.       
 (handle)       
   tmkdefevent,      
   Win32,    Win32 API 
CreateEvent:

void tmkdefevent(HANDLE hEvent, BOOL fEventSet);

  hEvent    .  
 fEventSet  TRUE     
  TMK1553B   SetEvent,   FALSE -  
 PulseEvent.

!       fEventSet 
 (  TRUE).  ,  
 ResetEvent    tmkdefevent.

              
,  ,   .   
  tmkgetevd:

void tmkgetevd(TTmkEventData *pEvD);

        TTmkEventData, 
     :

typedef struct
{
  int nInt;
  unsigned short wMode;
  union
  {
    struct
    {
      unsigned short wResult;
      unsigned short wAW1;
      unsigned short wAW2;
    } bc;
    struct
    {
      unsigned short wBase;
      unsigned short wResultX;
    } bcx;
    struct
    {
      unsigned short wStatus;
      unsigned short wCmd;
    } rt;
    struct
    {
      unsigned short wBase;
      unsigned short wResultX;
    } mt;
    struct
    {
      unsigned short wStatus;
    } mrt;
  };
} TTmkEventData;

              , 
   !      
      .  
    ,    
TMKLL4  MS-DOS    TMK1553B  Microsoft Windows NT.  
       
  TMKLL4  :

bcdefintnorm   wMode=BC_MODE, nInt=1,   bc.wResult;
bcdefintexc    wMode=BC_MODE, nInt=2,   bc.wResult,
               bc.wAW1, bc.wAW2;
bcdefintx      wMode=BC_MODE, nInt=3,   bcx.wResultX,
               bcx.wBase;
bcdefintsig    wMode=BC_MODE, nInt=4,   bcx.wBase;

rtdefintcmd    wMode=RT_MODE, nInt=1,   rt.wCmd;
rtdefinterr    wMode=RT_MODE, nInt=2,   rt.wStatus;
rtdefintdata   wMode=RT_MODE, nInt=3,   rt.wStatus;

mtdefintx      wMode=MT_MODE, nInt=3,   mt.wResultX,
               mt.wBase;
mtdefintsig    wMode=MT_MODE, nInt=4,   mt.wBase.
mtdefintx      wMode

       ,      
   (     ),   
   tmkgetevd     ,   
 TTmkEventData       (
   TTmkEventData   nInt=0  ). 
    .  ,    
      tmkgetevd   
;         tmkgetevd 
  ,        .

       v2.00      TX6/TE6  
   ().        
   4   ()    
.       - 
 ,          ,
  ,    4   ,  
.

          :
TMK_DATA rtenable(TMK_DATA rtEnable);
int mrtgetmaxn();
DWORD mrtconfig(int mrtNumber);
int mrtselected();
TMK_DATA mrtgetstate();
void mrtdefbrcsubaddr0();
int mrtreset();

      rtenable,    -  
     .    
       .  
   -400  -400,      
.    rtenable(RT_ENABLE),  
 rtenable(RT_DISABLE).    (RT_ENABLE 
RT_DISABLE)    rtenable(RT_GET_ENABLE).

     ,     rtreset  rtdefaddress 
 .  rtreset     tmkconfig  bcreset 
mtreset,      ,    
  rtenable(RT_DISABLE).    
    rtdefaddress.   rtreset  
 /.

     mrtgetmaxn     . 
       
.    ,     8
 ( 0  7) mrtgetmaxn  7.  tmkgetmaxn 
     .    
     ,   8,  tmkgetmaxn 
    .  ,  
    4 ,  tmkgetmaxn  11.

     mrtconfig    tmkconfig  , 
      .   
    ,   ,    , 
mrtconfig.  mrtconfig   ,  16 
    ,   ,  
16  -  ,   .   (,  
     )    .

          .   
         mrtconfig.   -  
 mrtconfig  ,   tmkconfig   
.  ,        
 , ,      ( 
 rtlock, rtunlock, rtbusy),    
( rtdefmode, rtgetmode, rtdefirqmode, rtgetirqmode), 
  ( rtreset, mrtreset).    
   tmkconfig,       ,
    .  rtreset,    
,         ,  
   ,         
.  mrtreset        
     .

      mrtconfig  tmkconfig  /   
 ,   ,  tmkselect.

     mrtselected       
  .     tmkselected  mrtselected 
      .   tmkselected 
  ,  mrtselected -  .

     mrtreset         
 .

            bcreset  mtreset,  
  ,       
  ,       . 
     bcreset  .  / 
bcreset    .

     mrtgetstate       
(.    ).  rtgetstate, 
      ,    
  ,   .

     mrtdefbrcsubaddr0     
       ,    
   (.    ).  
,        ,    
     ,       
    .

(c)  "  ", 1998,2006.
