 #endif
 
   #if hasSerial
-    #define readNext() {\
-      nextByte = gt1 ? pgm_read_byte(gt1++) : nextSerial();\
-      if (nextByte < 0) return;\
-    }
+    #define readNext()\
+      if (gt1)\
+        nextByte = pgm_read_byte(gt1++);\
+      else {\
+        nextByte = nextSerial();\
+        if (nextByte < 0) return;\
+      }
     #define ask(n)\
       if (!gt1) {\
         Serial.print(n);\
         Serial.println("?");\
       }
   #else
-    #define readNext() {\
-      nextByte = pgm_read_byte(gt1++);\
-      if (nextByte < 0) return;\
-    }
+    #define readNext() (nextByte = pgm_read_byte(gt1++))
     #define ask(n)
   #endif
 
-  byte segment[300] = {0}; // Multiple of N for padding
+  byte segment[256] = {0}; // sendFrame() will read up to index 299 but that's ok
 
   ask(3);
   readNext();

    Serial.flush();
  #endif

  for (int i=0; i<10; i++) {
    sendController(~buttonDown, 2);
    delay(50);
  }

      }
    }
  #endif
}

void prompt()
