you can try storing storing all the file names that your PIC's array is capable of storing then when your cursor goes down to the last file name, do another serin but this time use the waitstr function and wait for the last file name in your list. you will then receive an new batch or list of file names. You can do this again and again if there are too many file names in your flash drive. As for going up to view the previous files names., you can save the last file name every batch and when you want to get to a specific batch, do a serin and wait for the last file name of the batch before that particular batch where you want to get to. i would advice that you lessen the file names per batch because based on my experience, the pic hangs when for example you are set to receive 8 files but receives only 7 or less. This is just my idea. its not yet complete though.. there are so many other ways to address to the problem of getting all the file names from a flash drive printed in you lcd.