     initBuffers();
     curFrame = 0;
     numFrames = newNumFrames;
+    console = N64;
     interrupts();
+
+    setupConsole();
+
+    if (doLoop)
+      setPower("1");
  
     return true;
 }

  // Configure controller pins
  pinMode(N64_PIN, INPUT_PULLUP);
  digitalWrite(N64_PIN, LOW);

  attachInterrupt(N64_PIN, n64Interrupt, FALLING);

  // Let the N64 line interrupt anything else
  NVIC_SET_PRIORITY(IRQ_PORTD, 1);

  // Initialize SD card
  if (!sd.begin()) {


static void advanceBuffer(long bytes)
{
  curFrame++;

  lastFrameTime = read64Timer();
            
  if (curFrame == numFrames) {
    lockedPrintln("C:", lastFrameTime / (double)(MICRO_BUS_CYCLES * 1000 * 1000));
    finished = true;
    finalTime = lastFrameTime;
  }

  size_t pos = bufferPos + bytes;
  if (pos == bufferEndPos) {
    if (hold)
