Lettura file su SD, problemi con nome file

Bonasera!!!
Per un mio nuovo progettino no la necessità di leggere dei file in formato .txt memorizzati su una SD. L'SD viene letta senza problemi ma se carico i programmi di prova della libreria i nomi dei file sono strani, non sono effettivamente quelli che ho messo io.
Nella SD ho memorizzato un file che ho chiamato "File di prova 1.txt" e ciò che listfiles mi stampa a seriale è questo:

Initializing SD card...initialization done.
SPOTLI~1/
	STORE-V2/
		3FAC23~1/
			PSID.DB		8192
			TM~1.SNO		0
			TM~1.LIO		0
			LIO~1.CRE		0
			TMP.CAB		0
			CA~1.CRE		0
			INDEXS~1		28
			~1.IND		4096
			~~2.IND		16
			~~~3.IND		3277
			~~~~4.IND		4096
			~~~~~5.IND		344
			~~~~~~34.IND		4096
			~~~~~~37.IND		344
			~~~~~~40.IND		2056
			~~~~~~43.IND		8
			~~~~~~46.IND		704
			~~~~~~48.IND		13
			~1.DIR		65536
			LIVE~1.IND		4096
			LIVE~~2.IND		32768
			LIVE~~~3.IND		3277
			LIVE~~~4.IND		4096
			LIVE~~~5.IND		8192
			LIVE~~69.IND		4096
			LIVE~~72.IND		8192
			LIVE~~75.IND		8224
			LIVE~~78.IND		1024
			LIVE~~82.IND		65536
			LIVE~~85.IND		0
			LIVE~1.DIR		65536
			STORE.DB		118784
			STOR~1.DB		118784
			REVERS~1		65536
			TMPSPO~1.STA		4096
			STORE_~1		4
			JOURNA~1.COR/
			JOURNA~1.LIV/
			JOURNA~2.LIV/
			JOURNA~3.LIV/
				RETIRE.1		0
			JOURNA~4.LIV/
			JOURNA~1.ASS/
			JOURNA~2.ASS/
			JOURNA~1.HEA/
			JOURNA~1.MIG/
			JOURNA~2.MIG/
			JOURNA~1		0
			JOURNA~1.SCA/
				RETIRE.2		0
			SHUTDO~1		4
			REVERS~1.SHA		3136
			~1.SHA		4096
			PERMST~1		553
			0DIREC~1.SHA		1088
			~~~~~169.SHA		2
			LIVE~1.SHA		4096
			LIVE~~2.SHA		1744
			LIVE~~~3.SHA		1744
			LIVE~~~4.SHA		65536
			LIVE~~~5.SHA		8
			LIVE~189.SHA		2056
			LIVE0D~1.SHA		1088
			LIVE~197.SHA		2
			STOR~1.UPD		3
			REVERS~1.UPD		2
			TMPSPO~1.LOC		7675
	STORE-V1/
		VOLUME~1.PLI		348
	VOLUME~1.PLI		4000
FSEVEN~1/
	FSEVEN~1		36
	000000~1		76
	000000~2		71
FILEDI~1.TXT		386
_FILED~1.TXT		4096
done!

A me non interessano tutti questi file ma solo "File di prova 1.txt", che sarebbe quello che lui trova come FILEDI~1.TXT di 386 byte praticamente alla fine, quindi con un label che non è il solito che ho messo io... Qualcuno sa come mai? Ho capito come fare a non leggere tutti i file che ci sono e a prendere solo in considerazione quello, ma non ho ancora capito come mai il nome del file non è quello che ho messo io...

Usi un nome file lungo, non va bene

Devi usare un nome file corto, come sul vecchio msdos

8 caratteri di nome, no spazi
3 di estensione

Ok, vero… Rimane comunque il problema che a seriale mi stampa come se le lettere fossero tutte maiuscole…
Ho scritto del codice per filtrare un po le cose e farmi stampare a seriale solo i file con estensione .txt, ma d ogni file che metto mi stampa anche il nome di un altro file, che non esiste, o almeno non si vede…
Se ad esempio memorizzo un file che si chiama PCB_1.txt, a seriale mi stampa per quel file PCB_1.TXT e PCB~1.TXT … come mai?

Non ho più sistemi Windows da tempo
Quindi vado a memoria
Temo che per gestire nomi file lunghi di volumi far Windows usi una tabella che crea un file di nome corto e privato, fatta corrispondere da software col nome file lungo e pubblico

Io proverei a formattare la se in fat16 e non creerei nulla

Sposto la se su arduino e creo un file vuoto da li

Di nuovo sul pc edito, ma non creo, il file sul pc

Magari stasera da casa provo con Windows in macchina virtuale, ma non posso promettere

Non mettere NESSUN file con nomi più lunghi di 8+3 sulla SD e dovresti essere a posto.