コード例 #1
0
 public void OutputFrame(ParsedFrame frame)
 {
     this.m_cells.Clear();
     for (short i = 0; i < 0x10; i = (short)(i + 1))
     {
         for (short j = 0; j < 0x30; j = (short)(j + 1))
         {
             byte num3 = frame.CellData(i, j);
             byte num5 = 1;
             for (int k = 0; k < this.m_boardsUsed; k++)
             {
                 Point point = this.m_boardLocations[k];
                 Point point2 = (this.m_boardMultipliers[point.Y, point.X]);
                 if ((num3 & num5) != 0)
                 {
                     this.m_cells.Add((uint)((((j + point2.X) << 0x10) * this.m_cellSize) | ((i + point2.Y) * this.m_cellSize)));
                 }
                 num5 = (byte)(num5 << 1);
             }
         }
     }
     if (!base.IsDisposed)
     {
         if (base.InvokeRequired)
         {
             base.Invoke(new MethodInvoker(this.Refresh));
         }
         else
         {
             this.Refresh();
         }
     }
 }
コード例 #2
0
ファイル: Hardware.cs プロジェクト: jmcadams/vplus
 private void OutputFrame(ParsedFrame frame)
 {
     for (short i = 0; i < 0x10; i = (short) (i + 1))
     {
         for (short j = 0; j < 0x30; j = (short) (j + 1))
         {
             Out(this.m_dataPort, frame.CellData(i, j));
             Out(this.m_controlPort, 10);
             Out(this.m_controlPort, 11);
         }
         Out(this.m_controlPort, 12);
         Out(this.m_dataPort, i);
         Out(this.m_controlPort, 6);
         Out(this.m_controlPort, 11);
     }
 }