   return 0.95 <= vSync && vSync <= 1.20 && 0.95 <= hSync && hSync <= 1.05;
 }
 
+#if hasSerial
 void doCommand(char line[])
 {
   switch (toupper(line[0])) {

  // Wait for Loader to be running
  delay(1000);
}

// Because the Arduino doesn't have enough RAM to buffer
// a complete GT1 file, it processes these files segment

  case 'L': doLoader();                       break;
  case 'P': doTransfer(gt1File);              break;
  case 'U': doTransfer(NULL);                 break;
  case '.': doLine(&line[1]);                 break;
  case 'T': doTerminal();                     break;
  case 'W': sendController(~buttonUp,     2); break;
  case 'A': sendController(~buttonLeft,   2); break;
  case 'S': sendController(~buttonDown,   2); break;
