--- xmil/io/sio.c 2004/08/01 05:31:30 1.1 +++ xmil/io/sio.c 2008/06/02 20:07:31 1.4 @@ -5,7 +5,7 @@ #include "iocore.h" -// sw ... 割り込み 1=かける 0=かけない +/* sw ... 割り込み 1=かける 0=かけない */ static void fifo_w(SIOFIFO *sf, REG8 data, REG8 sw) { UINT off; @@ -37,6 +37,7 @@ static REG8 fifo_r(SIOFIFO *sf) { return(data); } +#if 0 static REG8 fifo_chk(SIOFIFO *sf) { REG8 ret; @@ -86,12 +87,13 @@ void sio_int(void) { if (x1_sio1(sio.ch + SIOCH_A)) return; if (x1_sio1(sio.ch + SIOCH_B)) return; } +#endif static void mouse_read(SIOCH *ch) { SINT16 mx; SINT16 my; - BYTE dat0, dat1, dat2; + UINT8 dat0, dat1, dat2; dat0 = mousemng_getstat(&mx, &my, TRUE) & 3; @@ -104,7 +106,7 @@ static void mouse_read(SIOCH *ch) { dat0 |= 0x20; } else { - dat1 = (char)mx; + dat1 = (UINT8)mx; } if (my > 127) { dat2 = 0x7f; @@ -115,33 +117,33 @@ static void mouse_read(SIOCH *ch) { dat0 |= 0x80; } else { - dat2 = (char)my; + dat2 = (UINT8)my; } if ((ch->wr[1] & 0x18) == 0x08) { - fifo_w(&ch->RxD, dat0, 1); // 最初の1バイトだけ受信割り込み + fifo_w(&ch->RxD, dat0, 1); /* 最初の1バイトだけ受信割り込み */ fifo_w(&ch->RxD, dat1, 0); fifo_w(&ch->RxD, dat2, 0); } else { - fifo_w(&ch->RxD, dat0, 1); // 1バイト毎に割り込み + fifo_w(&ch->RxD, dat0, 1); /* 1バイト毎に割り込み */ fifo_w(&ch->RxD, dat1, 1); fifo_w(&ch->RxD, dat2, 1); } } -// ---- +/* ---- */ void IOOUTCALL sio_o(UINT port, REG8 value) { switch(port) { - case 0x1f90: // CH-A データ + case 0x1f90: /* CH-A データ */ if (sio.ch[SIOCH_A].wr[3] & 0x08) { fifo_w(&sio.ch[SIOCH_A].TxD, value, 0); } break; - case 0x1f91: // CH-A コントロール + case 0x1f91: /* CH-A コントロール */ sio.ch[SIOCH_A].wr[sio.ch[SIOCH_A].num] = value; if (sio.ch[SIOCH_A].num) { sio.ch[SIOCH_A].num = 0; @@ -151,16 +153,16 @@ void IOOUTCALL sio_o(UINT port, REG8 val } break; #if 0 - case 0x1f92: // CH-B データ (Mouse) + case 0x1f92: /* CH-B データ (Mouse) */ if (CH_B.wr[3] & 0x08) { fifo_w(&CH_B.T_D, value, 0); } break; #endif - case 0x1f93: // CH-B コントロール (Mouse) + case 0x1f93: /* CH-B コントロール (Mouse) */ if (sio.ch[SIOCH_B].num == 5) { - // RTS(WR5:BIT1)を0から1へ変化させると - // マウスから3バイトのデータが送られてくる + /* RTS(WR5:BIT1)を0から1へ変化させると */ + /* マウスから3バイトのデータが送られてくる */ if (!(sio.ch[SIOCH_B].wr[5] & 2) && (value & 2)) { mouse_read(sio.ch + SIOCH_B); } @@ -182,13 +184,13 @@ REG8 IOINPCALL sio_i(UINT port) { ret = 0; switch(port) { - case 0x1f90: // CH-A データ + case 0x1f90: /* CH-A データ */ if (sio.ch[SIOCH_A].RxD.cnt) { return(fifo_r(&sio.ch[SIOCH_A].RxD)); } break; - case 0x1f91: // CH-A コントロール + case 0x1f91: /* CH-A コントロール */ if (sio.ch[SIOCH_A].num == 0) { if (sio.ch[SIOCH_A].RxD.cnt != 0) { ret |= 1; @@ -199,14 +201,14 @@ REG8 IOINPCALL sio_i(UINT port) { } break; - case 0x1f92: // CH-B データ (Mouse) + case 0x1f92: /* CH-B データ (Mouse) */ if (sio.ch[SIOCH_B].RxD.cnt) { return(fifo_r(&sio.ch[SIOCH_B].RxD)); } break; - case 0x1f93: // CH-B コントロール (Mouse) - if (sio.ch[SIOCH_B].num == 0) { // ?? + case 0x1f93: /* CH-B コントロール (Mouse) */ + if (sio.ch[SIOCH_B].num == 0) { /* ?? */ if (sio.ch[SIOCH_B].RxD.cnt != 0) { ret |= 1; } @@ -220,7 +222,7 @@ REG8 IOINPCALL sio_i(UINT port) { } -// ---- +/* reset */ void sio_reset(void) {