   ti = max(0, ti - 1);
   if ((ti == 0) && (dying == 0))
     dying = 1;
- 
+
   // Draw 'time remaining' by clearing a black rectangle
   {
     byte tw = 120 - (ti >> 7);
     byte tx = 72;
     GD.SaveContext();
-    GD.ScissorXY(tx, 248);
-    GD.ScissorSize(tw, 8);
+    GD.ScissorXY(sf * tx, sf * 248);
+    GD.ScissorSize(sf * tw, sf * 8);
     GD.Clear();
     GD.RestoreContext();
   }

#define PADX(x) (480 + (x - 3) * 48)
#define PADY(y) (272 + (y - 3) * 48)

  GD.Tag(CONTROL_RIGHT);
  GD.Vertex2ii(PADX(2), PADY(1), ARROW_HANDLE, 0);
  rotate_around(24, 24, 3 * 0x4000);

  GD.Tag(CONTROL_UP);
  GD.Vertex2ii(PADX(1), PADY(0), ARROW_HANDLE, 0);
  rotate_around(24, 24, 2 * 0x4000);

  GD.Tag(CONTROL_LEFT);
  GD.Vertex2ii(PADX(0), PADY(1), ARROW_HANDLE, 0);
  rotate_around(24, 24, 1 * 0x4000);

  GD.Tag(CONTROL_DOWN);
  GD.Vertex2ii(PADX(1), PADY(2), ARROW_HANDLE, 0);
  GD.RestoreContext();

  GD.ColorRGB(255, 85, 0);
  draw_score(3, 1, score);
  draw_score(11, 1, hiscore);

  GD.ColorRGB(255, 255, 255);
  for (byte i = 0; i < lives; i++)
    GD.Vertex2ii(8 * i, 30 * 8, LIFE_HANDLE, 0);

  // for (byte i = 0; i < 16; i++)
  //  GD.wr(atxy(i, 30), (i < lives) ? BG_LIFE : BG_BLACK);

    GD.cmd_translate(F16(8),F16(8));
    GD.cmd_rotate(rot);
    GD.cmd_translate(F16(-8),F16(-8));
    GD.cmd_scale(F16(sf), F16(sf));
    GD.cmd_setmatrix();
  }
  GD.Cell(anim);
  if (x > 224) {
    GD.Vertex2f(sf * (x - 256), sf * y);
  } else {
    GD.Vertex2f(sf * x, sf * y);
  }
}

