--- np2/io/pit.c 2003/10/16 17:57:57 1.1.1.1 +++ np2/io/pit.c 2003/10/25 20:51:53 1.3 @@ -149,6 +149,7 @@ void itimer_setflag(int ch, BYTE value) pit.mode[ch] = value; } else { // latch + pit.mode[ch] &= ~0x30; pit.latch[ch].w = itimer_latch(ch); } } @@ -217,6 +218,7 @@ BYTE itimer_getcount(int ch) { // system timer static void IOOUTCALL pit_o71(UINT port, BYTE dat) { +// TRACEOUT(("pic71: %d", dat)); if (itimer_setcount(0, dat)) { return; } @@ -257,11 +259,13 @@ static void IOOUTCALL pit_o77(UINT port, int ch; +// TRACEOUT(("pic77: %x", dat)); ch = (dat >> 6) & 3; if (ch != 3) { itimer_setflag(ch, dat); if (ch == 0) { // 書込みで itimerのirrがリセットされる… pic.pi[0].irr &= (~1); + setsystimerevent(NEVENT_ABSOLUTE); } if (ch == 1) { beep_modeset();