    for (byte i = 0; i < nblanks; ++i) lcd.print(" "); }
 
 void info_message(const char *msg1, char *msg2) {
-   lcd.clear();
-   center_message(1, msg1);
+   lcd.clear(); center_message(1, msg1);
    if (msg2) center_message(2, msg2);
    delay(3000);
    lcd.clear(); }

            if (save) {
               if (!row_select) { // name entry: go to next char
                  if (charnum < MAX_FILENAME) ++charnum; }
               else { // abort writing
                  cleanup_filename(file_hdr.filename);
                  info_message("file save aborted", 0);
                  goto exit_loadsave; } }
            else { // load file
               read_file_data(filenum);
               sprintf (string, "file %d loaded", filenum + 1);
               info_message(string, file_hdr.filename);

         case eVrotR:  // move down
            if (!save || row_select) {
               if (filenum < MAX_FILES - 1) {
                  if (++filenum - filenum_on_top > 3)  // scroll up
                     ++filenum_on_top;
                  display_files(filenum_on_top);
                  read_file_hdr(filenum);
                  charnum = 0; } }
            else {   // save, in name: change filename char
               file_hdr.filename[charnum] = changeletter(file_hdr.filename[charnum], true);
               goto update_letter; }
            break;
         case eVrotL:  // move up
            if (!save || row_select) {
               if (filenum > 0) {
                  if (--filenum < filenum_on_top) // scroll down
                     --filenum_on_top;
                  display_files(filenum_on_top);
                  read_file_hdr(filenum);
                  charnum = 0; } }
            else {   // save, in name: change filename char
               file_hdr.filename[charnum] = changeletter(file_hdr.filename[charnum], false);
update_letter:
               lcd.write(file_hdr.filename[charnum]);
