--- xmil/io/ppi.c 2004/08/02 11:48:14 1.2 +++ xmil/io/ppi.c 2004/08/08 16:39:03 1.8 @@ -1,10 +1,7 @@ #include "compiler.h" #include "pccore.h" #include "iocore.h" -#include "x1_io.h" -#include "x1_crtc.h" -#include "x1_vram.h" -#include "draw.h" +#include "makescrn.h" // ---- 8255 PPI〜 @@ -15,7 +12,7 @@ void IOOUTCALL ppi_o(UINT port, REG8 val UINT8 bit; UINT8 xl; - if (crtc.TXT_XL == 40) { + if (crtc.s.TXT_XL == 40) { ppi.PORT_C |= 0x40; } else { @@ -69,12 +66,12 @@ void IOOUTCALL ppi_o(UINT port, REG8 val // cmt_write(ppi.PORT_C & 1); if ((bak_c & 0x20) && (!(ppi.PORT_C & 0x20))) { - ppi.IO_MODE = 1; + iocore.s.mode = 1; } xl = ((ppi.PORT_C & 0x40)?40:80); - if (crtc.TXT_XL != xl) { - crtc.TXT_XL = (UINT8)xl; - crtc.GRP_XL = xl << 3; + if (crtc.s.TXT_XL != xl) { + crtc.s.TXT_XL = (UINT8)xl; +// crtc.s.GRP_XL = xl << 3; vrambank_patch(); scrnallflash = 1; } @@ -84,7 +81,7 @@ REG8 IOINPCALL ppi_i(UINT port) { ppi.PORT_B = cmt_test(); // | cmt_read(); // THUNDER BALL - if (v_cnt < crtc.CRT_YL) { + if (v_cnt < crtc.s.CRT_YL) { ppi.PORT_B |= 0x80; // 1:DISP } if (subcpu.IBF) { @@ -94,19 +91,19 @@ REG8 IOINPCALL ppi_i(UINT port) { if (subcpu.OBF) { ppi.PORT_B |= 0x20; // 1:SUB-CPU Data empty } - if (!pccore.ROM_SW) { + if (memio.ram) { ppi.PORT_B |= 0x10; // 1:RAM } #if 1 - if (!(v_cnt < crtc.CRT_VS)) { + if (!(v_cnt < crtc.e.vs)) { ppi.PORT_B |= 0x04; // V-SYNC } #else // ラプラステスト…VYSNCが長すぎるらしい - if (v_cnt == crtc.CRT_VS) { + if (v_cnt == crtc.e.vs) { ppi.PORT_B |= 0x04; } #endif - if (crtc.TXT_XL == 40) { + if (crtc.s.TXT_XL == 40) { ppi.PORT_C |= 0x40; } else { @@ -137,7 +134,6 @@ void ppi_initialize(void) { ppi.PORT_B = 0xff; ppi.PORT_C = 0xff; ppi.MODE = 0; - ppi.IO_MODE = 0; } void ppi_reset(void) { @@ -145,6 +141,5 @@ void ppi_reset(void) { ppi.MODE = 0; ppi.PORT_A = 0; ppi.PORT_C |= 0x40; - ppi.IO_MODE = 0; }