// draw bitmap - colored
 public static void DrawBitmap(Rectangle bounds, uint[] data, uint color, uint transCol, bool transparency)
 {
     for (int i = 0; i < bounds.width * bounds.height; i++)
     {
         int xx = bounds.x + (i % bounds.width);
         int yy = bounds.y + (i / bounds.width);
         if (transparency)
         {
             if (data[i] != transCol)
             {
                 if (driverMode == 0)
                 {
                     SVGA.SetPixel(xx, yy, color);
                 }
                 else if (driverMode == 1)
                 {
                     VGA.SetPixel(xx, yy, Color.ToARGB(color));
                 }
             }
         }
         else
         {
             SVGA.SetPixel(xx, yy, color);
         }
     }
 }
 // fill rectangle
 public static void FillRectangle(Rectangle bounds, uint c)
 {
     for (int i = 0; i < bounds.width * bounds.height; i++)
     {
         int xx = i % bounds.width;
         int yy = i / bounds.width;
         if (bounds.width > 0 && bounds.height > 0)
         {
             if (driverMode == 0)
             {
                 SVGA.SetPixel(bounds.x + xx, bounds.y + yy, c);
             }
             else if (driverMode == 1)
             {
                 VGA.SetPixel(bounds.x + xx, bounds.y + yy, Color.ToARGB(c));
             }
         }
     }
 }