Diff for /xmil/io/ppi.c between versions 1.1 and 1.5

version 1.1, 2004/08/01 05:31:30 version 1.5, 2004/08/05 04:53:15
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "x1_io.h"  
 #include        "x1_crtc.h"  
 #include        "x1_vram.h"  
 #include        "draw.h"  #include        "draw.h"
   
   
Line 15  void IOOUTCALL ppi_o(UINT port, REG8 val Line 12  void IOOUTCALL ppi_o(UINT port, REG8 val
         UINT8   bit;          UINT8   bit;
         UINT8   xl;          UINT8   xl;
   
         if (crtc.TXT_XL == 40) {          if (crtc.s.TXT_XL == 40) {
                 ppi.PORT_C |= 0x40;                  ppi.PORT_C |= 0x40;
         }          }
         else {          else {
Line 72  void IOOUTCALL ppi_o(UINT port, REG8 val Line 69  void IOOUTCALL ppi_o(UINT port, REG8 val
                 ppi.IO_MODE = 1;                  ppi.IO_MODE = 1;
         }          }
         xl = ((ppi.PORT_C & 0x40)?40:80);          xl = ((ppi.PORT_C & 0x40)?40:80);
         if (crtc.TXT_XL != xl) {          if (crtc.s.TXT_XL != xl) {
                 crtc.TXT_XL = (UINT8)xl;                  crtc.s.TXT_XL = (UINT8)xl;
                 crtc.GRP_XL = xl << 3;                  crtc.s.GRP_XL = xl << 3;
                 vrambank_patch();                  vrambank_patch();
                 scrnallflash = 1;                  scrnallflash = 1;
         }          }
Line 84  REG8 IOINPCALL ppi_i(UINT port) { Line 81  REG8 IOINPCALL ppi_i(UINT port) {
   
         ppi.PORT_B = cmt_test(); // | cmt_read();       // THUNDER BALL          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                  ppi.PORT_B |= 0x80;                                     // 1:DISP
         }          }
         if (subcpu.IBF) {          if (subcpu.IBF) {
Line 94  REG8 IOINPCALL ppi_i(UINT port) { Line 91  REG8 IOINPCALL ppi_i(UINT port) {
         if (subcpu.OBF) {          if (subcpu.OBF) {
                 ppi.PORT_B |= 0x20;                                     // 1:SUB-CPU Data empty                  ppi.PORT_B |= 0x20;                                     // 1:SUB-CPU Data empty
         }          }
         if (!pccore.ROM_SW) {          if (memio.ram) {
                 ppi.PORT_B |= 0x10;                                     // 1:RAM                  ppi.PORT_B |= 0x10;                                     // 1:RAM
         }          }
         if (!(v_cnt < crtc.CRT_VS)) {  #if 1
           if (!(v_cnt < crtc.s.CRT_VS)) {
                 ppi.PORT_B |= 0x04;                                     // V-SYNC                  ppi.PORT_B |= 0x04;                                     // V-SYNC
         }          }
         if (crtc.TXT_XL == 40) {  #else                                                           // ラプラステスト…VYSNCが長すぎるらしい
           if (v_cnt == crtc.s.CRT_VS) {
                   ppi.PORT_B |= 0x04;
           }
   #endif
           if (crtc.s.TXT_XL == 40) {
                 ppi.PORT_C |= 0x40;                  ppi.PORT_C |= 0x40;
         }          }
         else {          else {

Removed from v.1.1  
changed lines
  Added in v.1.5


RetroPC.NET-CVS <cvs@retropc.net>