--- np2/bios/bios09.c 2004/03/31 19:23:37 1.6 +++ np2/bios/bios09.c 2005/02/07 14:46:07 1.9 @@ -26,8 +26,8 @@ static void updateshiftkey(void) { UINT base; shiftsts = mem[MEMB_SHIFT_STS]; - mem[0xa3ff6] &= 0x3f; // KEYBOARD LED - mem[0xa3ff6] |= (UINT8)(shiftsts << 5); + mem[MEMB_MSW6] &= 0x3f; // KEYBOARD LED + mem[MEMB_MSW6] |= (UINT8)(shiftsts << 5); if (shiftsts & 0x10) { base = 7; } @@ -46,9 +46,9 @@ static void updateshiftkey(void) { void bios0x09(void) { - BYTE key; + UINT8 key; UINT pos; - BYTE bit; + UINT8 bit; UINT16 code; UINT32 base; UINT kbbuftail; @@ -57,7 +57,7 @@ void bios0x09(void) { pos = (key & 0x7f) >> 3; bit = 1 << (key & 7); if (!(key & 0x80)) { - mem[0x0052a + pos] |= bit; + mem[MEMX_KB_KY_STS + pos] |= bit; code = 0xffff; base = GETBIOSMEM16(MEMW_KB_SHIFT_TBL); base += 0xfd800; @@ -85,10 +85,10 @@ void bios0x09(void) { } else { if (key == 0x60) { - CPU_INTERRUPT(6, -1); +// CPU_INTERRUPT(6, -1); } else if (key == 0x61) { - CPU_INTERRUPT(5, -1); +// CPU_INTERRUPT(5, -1); } else if (key < 0x70) { code = mem[base + key - 0x0c] << 8; @@ -115,12 +115,10 @@ void bios0x09(void) { } } else { - if (key < 0xf5) { - mem[0x0052a + pos] &= ~bit; - if (key >= 0xf0) { - mem[MEMB_SHIFT_STS] &= ~bit; - updateshiftkey(); - } + mem[MEMX_KB_KY_STS + pos] &= ~bit; + if ((key >= 0xf0) && (key < 0xf5)) { + mem[MEMB_SHIFT_STS] &= ~bit; + updateshiftkey(); } } }