Diff for /np2/bios/bios09.c between versions 1.5 and 1.6

version 1.5, 2004/03/30 08:48:46 version 1.6, 2004/03/31 19:23:37
Line 17  void bios0x09_init(void) { Line 17  void bios0x09_init(void) {
         SETBIOSMEM16(MEMW_KB_BUF_HEAD, 0x0502);          SETBIOSMEM16(MEMW_KB_BUF_HEAD, 0x0502);
         SETBIOSMEM16(MEMW_KB_BUF_TAIL, 0x0502);          SETBIOSMEM16(MEMW_KB_BUF_TAIL, 0x0502);
         SETBIOSMEM16(MEMW_KB_CODE_OFF, 0x0e00);          SETBIOSMEM16(MEMW_KB_CODE_OFF, 0x0e00);
         SETBIOSMEM16(MEMW_KB_CODE_SEG, 0xfd00);          SETBIOSMEM16(MEMW_KB_CODE_SEG, 0xfd80);
         keyboard_resetsignal();  
 }  }
   
 static void updateshiftkey(void) {  static void updateshiftkey(void) {
   
         BYTE    shiftsts;          UINT8   shiftsts;
         UINT    base;          UINT    base;
   
         shiftsts = mem[MEMB_SHIFT_STS];          shiftsts = mem[MEMB_SHIFT_STS];
         mem[0xa3ff6] &= 0x3f;                                                   // KEYBOARD LED          mem[0xa3ff6] &= 0x3f;                                                   // KEYBOARD LED
         mem[0xa3ff6] |= (BYTE)(shiftsts << 5);          mem[0xa3ff6] |= (UINT8)(shiftsts << 5);
         if (shiftsts & 0x10) {          if (shiftsts & 0x10) {
                 base = 7;                  base = 7;
         }          }
Line 54  void bios0x09(void) { Line 53  void bios0x09(void) {
         UINT32  base;          UINT32  base;
         UINT    kbbuftail;          UINT    kbbuftail;
   
         key = iocore_inp8(0x41);          key = CPU_AL;
         pos = (key & 0x7f) >> 3;          pos = (key & 0x7f) >> 3;
         bit = 1 << (key & 7);          bit = 1 << (key & 7);
         if (!(key & 0x80)) {          if (!(key & 0x80)) {
                 mem[0x0052a + pos] |= bit;                  mem[0x0052a + pos] |= bit;
                 code = 0xffff;                  code = 0xffff;
                 base = GETBIOSMEM16(MEMW_KB_SHIFT_TBL);                  base = GETBIOSMEM16(MEMW_KB_SHIFT_TBL);
                 base += 0xfd000;                  base += 0xfd800;
                 if (key <= 0x51) {                  if (key <= 0x51) {
                         if ((key == 0x51) || (key == 0x35) || (key == 0x3e)) {                          if ((key == 0x51) || (key == 0x35) || (key == 0x3e)) {
                                 code = mem[base + key] << 8;                                  code = mem[base + key] << 8;
Line 124  void bios0x09(void) { Line 123  void bios0x09(void) {
                         }                          }
                 }                  }
         }          }
         iocore_out8(0x00, 0x20);  
 }  }
   

Removed from v.1.5  
changed lines
  Added in v.1.6


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