--- np2/io/pit.c 2003/10/25 11:37:40 1.2 +++ np2/io/pit.c 2003/10/25 21:03:43 1.4 @@ -218,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; } @@ -258,11 +259,15 @@ 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); + if (dat & 0x30) { // 一応ラッチ時は割り込みをセットしない + setsystimerevent(NEVENT_ABSOLUTE); + } } if (ch == 1) { beep_modeset();