--- xmil/io/ppi.c 2004/08/14 12:16:17 1.15 +++ xmil/io/ppi.c 2004/08/18 08:08:13 1.17 @@ -21,6 +21,9 @@ static REG8 getportb(void) { if (clock < crtc.e.dispclock) { ret |= 0x80; // 1:DISP } + + // 実機の動きを見ると どうも 読み込んだらリセットされるようだ? + // 有効範囲が絞れるならそうすべき(VSYNCを取りこぼすソフトがある clock -= crtc.e.vsyncstart; if ((clock >= 0) && (clock < crtc.e.vpulseclock)) { ret |= 0x04; // 1:V-SYNC @@ -44,6 +47,7 @@ static void setportc(REG8 dat) { REG8 modify; modify = ppi.portc ^ dat; + ppi.portc = dat; // cmt_write((REG8)(dat & 1)); if ((modify & 0x20) && (!(dat & 0x20))) { iocore.s.mode = 1;