 
   GD.get_inputs();
   GD.Clear();
-  GD.cmd_text(240, 12, 28, OPT_CENTER,
+  GD.cmd_text(GD.w / 2, 12, 28, OPT_CENTER,
     GD3 ? "Gameduino3 Self test" :
           "Gameduino2 Self test");
   GD.cmd_text(GD.w - 2, 12, 27, OPT_CENTERY | OPT_RIGHTX,
     GD2_VERSION);
   int y;
 
-  y = 50;
+  y = PIXELS(50);
   GD.Begin(POINTS);
   for (int i = 0; i < 6; i++) {
     byte l = 4 << i;
+    int x = map(1 + i, 0, 7, 0, PIXELS(GD.w));
     GD.PointSize(280);
     GD.ColorRGB(0xffffff);
-    GD.Vertex2ii(68 * (i + 1), y, 0, 0);
+    GD.Vertex2f(x, y);
 
     GD.PointSize(240);
     GD.ColorRGB(l, l, l);
-    GD.Vertex2ii(68 * (i + 1), y, 0, 0);
+    GD.Vertex2f(x, y);
   }
   y += 30;
 

    GD.ColorRGB(0x808000);
  else
    GD.ColorRGB(pass ? 0x40ff40 : 0xff4040);
  GD.cmd_text(120, 180, 31, OPT_CENTERY, message);

  GD.ColorRGB(0xffffff);
  GD.Begin(LINES);

void setup()
{
  Serial.begin(UART_SPEED);
  Serial.println("---- GAMEDUINO 2/3 SELFTEST ----");
}

static void ramp(int y, uint32_t color)
