예제 #1
0
 /// <summary>
 /// Builds up current scanline character information
 /// Ther GA modifies HSYNC and VSYNC signals before they are sent to the monitor
 /// This is handled here
 /// Runs at 1Mhz
 /// </summary>
 private void GACharacterCycle()
 {
     if (CRCT.VSYNC && CRCT.HSYNC)
     {
         // both hsync and vsync active
         CurrentLine.AddCharacter(Phase.HSYNCandVSYNC);
     }
     else if (CRCT.VSYNC)
     {
         // vsync is active but hsync is not
         CurrentLine.AddCharacter(Phase.VSYNC);
     }
     else if (CRCT.HSYNC)
     {
         // hsync is active but vsync is not
         CurrentLine.AddCharacter(Phase.HSYNC);
     }
     else if (!CRCT.DISPTMG)
     {
         // border generation
         CurrentLine.AddCharacter(Phase.BORDER);
     }
     else if (CRCT.DISPTMG)
     {
         // pixels generated from video RAM
         CurrentLine.AddCharacter(Phase.DISPLAY);
     }
 }