--- xmil/io/ppi.c 2004/08/08 15:14:08 1.7 +++ xmil/io/ppi.c 2004/08/11 12:08:16 1.9 @@ -71,7 +71,7 @@ void IOOUTCALL ppi_o(UINT port, REG8 val xl = ((ppi.PORT_C & 0x40)?40:80); if (crtc.s.TXT_XL != xl) { crtc.s.TXT_XL = (UINT8)xl; - crtc.s.GRP_XL = xl << 3; +// crtc.s.GRP_XL = xl << 3; vrambank_patch(); scrnallflash = 1; } @@ -79,9 +79,12 @@ void IOOUTCALL ppi_o(UINT port, REG8 val REG8 IOINPCALL ppi_i(UINT port) { + UINT v; + ppi.PORT_B = cmt_test(); // | cmt_read(); // THUNDER BALL - if (v_cnt < crtc.s.CRT_YL) { + v = pccore_getraster(NULL); + if (v < crtc.s.CRT_YL) { ppi.PORT_B |= 0x80; // 1:DISP } if (subcpu.IBF) { @@ -95,11 +98,11 @@ REG8 IOINPCALL ppi_i(UINT port) { ppi.PORT_B |= 0x10; // 1:RAM } #if 1 - if (!(v_cnt < crtc.s.CRT_VS)) { + if (!(v < crtc.e.vs)) { ppi.PORT_B |= 0x04; // V-SYNC } #else // ラプラステスト…VYSNCが長すぎるらしい - if (v_cnt == crtc.s.CRT_VS) { + if (v_cnt == crtc.e.vs) { ppi.PORT_B |= 0x04; } #endif