         // Read bytes
         readBytes = m64File.read(inputBuffer, INPUT_BUFFER_SIZE*2);
         if (readBytes == 0) {
-            Serial.println(F("Failed to read next inputs from file. (This is recoverable)"));
+            screen.println(F("Failed to read next inputs from file. (This is recoverable)"));
         }
         else {
             bufferALoaded = true;
             if (readBytes != INPUT_BUFFER_SIZE*2) {
-                Serial.println(F("End of M64 file found. Loading remaining bytes."));
+//                screen.println(F("End of M64 file found. Loading remaining bytes."));
                 bufferEndPos = readBytes / 4 - 1;
                 // Close file
                 m64File.close();

            // Record if it took longer than expected
            updateTime = micros() - updateTime;
            if (updateTime > INPUT_BUFFER_UPDATE_TIMEOUT * 1000) {
                Serial.print(F("Input buffer update took to long ("));
                Serial.print(updateTime / 1000);
                Serial.println(F(" ms)"));
            }
            break;
        case 0x02:
            // A read. If the address is 0x8000, return 32 bytes of 0x80 bytes,

  digitalWrite(N64_PIN, LOW);
  pinMode(N64_PIN, INPUT);

  pinMode(NEXT, INPUT_PULLUP);
  pinMode(SELECT, INPUT_PULLUP);
  next.attach(NEXT);
  select.attach(SELECT);

  // Initialize SD card
  if (!SD.begin(SD_SS_PIN)) {
    m64OpenSuccess = false; 
    screen.println(F("SD initialization failed!"));
    return;
  }
  screen.println(F("SD initialization done."));

  // Setup buffer
  bufferALoaded = false;
