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