Diff for /np2/io/serial.c between versions 1.14 and 1.16

version 1.14, 2004/03/28 19:50:25 version 1.16, 2004/03/30 08:48:46
Line 9 Line 9
   
 static void keyboard_int(BOOL absolute) {  static void keyboard_int(BOOL absolute) {
   
         if (keybrd.buffers) {          if ((keybrd.ctrls) || (keybrd.buffers)) {
                 if (!(keybrd.status & 2)) {                  if (!(keybrd.status & 2)) {
                         keybrd.status |= 2;                          keybrd.status |= 2;
                         keybrd.data = keybrd.buf[keybrd.bufpos];                          if (keybrd.ctrls) {
                         keybrd.bufpos = (keybrd.bufpos + 1) & KB_BUFMASK;                                  keybrd.ctrls--;
                         keybrd.buffers--;                                  keybrd.data = keybrd.ctr[keybrd.ctrpos];
                                   keybrd.ctrpos = (keybrd.ctrpos + 1) & KB_CTRMASK;
                           }
                           else if (keybrd.buffers) {
                                   keybrd.buffers--;
                                   keybrd.data = keybrd.buf[keybrd.bufpos];
                                   keybrd.bufpos = (keybrd.bufpos + 1) & KB_BUFMASK;
                           }
                           TRACEOUT(("recv -> %02x", keybrd.data));
                 }                  }
                 pic_setirq(1);                  pic_setirq(1);
                 nevent_set(NEVENT_KEYBOARD, keybrd.xferclock,                  nevent_set(NEVENT_KEYBOARD, keybrd.xferclock,
Line 31  void keyboard_callback(NEVENTITEM item)  Line 39  void keyboard_callback(NEVENTITEM item) 
   
 static void IOOUTCALL keyboard_o41(UINT port, REG8 dat) {  static void IOOUTCALL keyboard_o41(UINT port, REG8 dat) {
   
         keybrd.mode = dat;          if (keybrd.cmd & 1) {
                   TRACEOUT(("send -> %02x", dat));
                   keystat_ctrl(dat);
           }
         (void)port;          (void)port;
 }  }
   
Line 74  void keyboard_reset(void) { Line 85  void keyboard_reset(void) {
   
         ZeroMemory(&keybrd, sizeof(keybrd));          ZeroMemory(&keybrd, sizeof(keybrd));
         keybrd.data = 0xff;          keybrd.data = 0xff;
         keybrd.mode = 0x5e;  
 }  }
   
 void keyboard_bind(void) {  void keyboard_bind(void) {
Line 86  void keyboard_bind(void) { Line 96  void keyboard_bind(void) {
   
 void keyboard_resetsignal(void) {  void keyboard_resetsignal(void) {
   
         keybrd.mode = 0x5e;  
         keybrd.cmd = 0;          keybrd.cmd = 0;
         keybrd.status = 0;          keybrd.status = 0;
           keybrd.ctrls = 0;
         keybrd.buffers = 0;          keybrd.buffers = 0;
         keybrd.bufpos = 0;  
         keystat_resendstat();          keystat_resendstat();
 }  }
   
   void keyboard_ctrl(REG8 data) {
   
           if ((data == 0xfa) || (data == 0xfc)) {
                   keybrd.ctrls = 0;
           }
           if (keybrd.ctrls < KB_CTR) {
                   keybrd.ctr[(keybrd.ctrpos + keybrd.ctrls) & KB_CTRMASK] = data;
                   keybrd.ctrls++;
                   if (!nevent_iswork(NEVENT_KEYBOARD)) {
                           keyboard_int(NEVENT_ABSOLUTE);
                   }
           }
   }
   
 void keyboard_send(REG8 data) {  void keyboard_send(REG8 data) {
   
         if (keybrd.buffers < KB_BUF) {          if (keybrd.buffers < KB_BUF) {

Removed from v.1.14  
changed lines
  Added in v.1.16


RetroPC.NET-CVS <cvs@retropc.net>