   #include "tetris.h"
 };
 
-struct { byte *gt1; char *name; } gt1Files[] = {
+const struct { byte *gt1; char *name; } gt1Files[] = {
   { TinyBASIC_gt1, "Tiny BASIC"               }, // 2702 bytes
   { WozMon_gt1,    "WozMon"                   }, // 595 bytes
 #if maxStorage >= 10000

      }
    }
  #endif

  // PS/2 keyboard events
  byte key = keyboard_getState();
  if (key != 255) {
    byte f = fnKey(key^64);          // Ctrl + function key?
    if (f) {
      if (f == 1)                    // Ctrl-F1 is help
        doMapping();
      else if (f-2 < arrayLen(gt1Files))
        doTransfer(gt1Files[f-2].gt1);// Send built-in GT1 file to Gigatron
    }

    while (1) {                      // Send to Gigatron until keyboard driver idle
      critical();
      sendFirstByte(key);            // Synchronize with vPulse and send code
      nonCritical();

      if (key == 255)                // Until state is idle again
        break;
      delay(15);                     // Allow PS/2 interrupts for a reasonable window
      key = keyboard_getState();
    }
  }

  static byte oldValue = 0;
  delay(15);                         // Allow PS/2 interrupts for a reasonable window
  critical();
  byte newValue = receiveBits();
  nonCritical();
  if (newValue != oldValue) {
    #if hasSerial
      Serial.print(": Got ");
      Serial.println(newValue);
    #endif
    oldValue = newValue;
  }
}

void prompt()

    Serial.flush();
  #endif

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