         }
         flash_write_both(program_start, 0x29); // (n+5) Program Buffer to Flash
 
-        Serial.println("Wait for completion");
+        // Serial.println("Wait for completion");
         // Poll last address written to buffer (program_start + PROGRAM_BLOCK_SIZE - 1), looking at DQ7/6/5/1
         uint32_t poll_comparison_value = read_buf[program_offset + PROGRAM_BLOCK_SIZE-1] & 0x00800080L;  // Compare with DQ7
         // Serial.print("Final word: ");

  if (Serial.available()) {
    int c = Serial.read();
    switch (c) {
      case 'C': {
        // program CPLD
        Serial.println("SEND SVF");
        arduino_play_svf(TMS_PIN, TDI_PIN, TDO_PIN, TCK_PIN, -1);
        Serial.println("SVF DONE");
        break;
      }
      case 'I': {


// request bytes from remote; range_start and range_end are word addresses
bool get_range(uint32_t range_start, uint32_t range_end) {
#ifdef DEBUG_DONT_GET_USB_DATA
  return true;
#endif
  if (check_disconnect()) return false;

  Serial.print(range_start * 4, DEC);
