示例#1
0
 public static void ValidateParams(SpectrumRendererParams timing)
 {
     if (timing.c_ulaIntBegin <= -timing.c_frameTactCount ||
         timing.c_ulaIntBegin >= timing.c_frameTactCount)
     {
         throw new ArgumentException("ulaIntBegin");
     }
     if (timing.c_ulaIntLength <= -timing.c_frameTactCount ||
         timing.c_ulaIntLength >= timing.c_frameTactCount)
     {
         throw new ArgumentException("ulaIntLength");
     }
     if (timing.c_ulaWidth != (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2 ||
         timing.c_ulaHeight != (timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom))
     {
         throw new ArgumentException("width/height");
     }
     if (timing.c_ulaLineTime < 128)
     {
         throw new ArgumentException("ulaLineTime");
     }
     if (timing.c_frameTactCount < timing.c_ulaLineTime * 192)
     {
         throw new ArgumentException("frameTactCount/ulaLineTime");
     }
     //...
 }
示例#2
0
        /// <summary>
        /// Create default renderer params (Pentagon 128K)
        /// </summary>
        public static SpectrumRendererParams CreateParams()
        {
            // Pentagon 128K
            // Total Size:          448 x 320
            // Visible Size:        320 x 240 (32+256+32 x 24+192+24)
            var timing = new SpectrumRendererParams();

            timing.c_frameTactCount    = 71680;
            timing.c_ulaLineTime       = 224;
            timing.c_ulaFirstPaperLine = 80;
            timing.c_ulaFirstPaperTact = 65;// 68;      // 68 [32sync+36border+128scr+28border]
            timing.c_ulaBorder4T       = false;
            timing.c_ulaBorder4Tstage  = 1;

            timing.c_ulaBorderTop    = 32;
            timing.c_ulaBorderBottom = 32;
            timing.c_ulaBorderLeftT  = 16;
            timing.c_ulaBorderRightT = 16;

            timing.c_ulaIntBegin    = 0;
            timing.c_ulaIntLength   = 32;
            timing.c_ulaFlashPeriod = 25;

            timing.c_ulaWidth  = (timing.c_ulaBorderLeftT + 128 + timing.c_ulaBorderRightT) * 2;
            timing.c_ulaHeight = timing.c_ulaBorderTop + 192 + timing.c_ulaBorderBottom;
            return(timing);
        }