Post Reply 
50g: copy all stored objects to SD card individually
10-16-2016, 07:26 PM
Post: #19
RE: 50g: copy all stored objects to SD card individually
(10-16-2016 05:30 PM)DavidM Wrote:  
Code:
10/16/2016  01:14 PM                14 LCASE        lcase
10/16/2016  01:14 PM                14 lcase_~1     lcase;;;;;;;
Interesting that the SFN is showing as lower case here, but the file was still accessible and I had no trouble deleting it with Win7. So perhaps the problem is actually still there and Win7 was handling it anyway.
Very interesting! :-) The first entry is fine, whereas in the second example the SFN is obviously faulty (it should read "LCASE_~1" instead). So, the calculator is still not properly upcasing the SFN when the original filename is too long to still fit into a SFN.

There's something special about the first entry as well, and it might lead us to some bug trigger condition. It looks as if the calculator created a LFN even though this wasn't absolutely required as the filename was short enough to still fit into the 8.3 scheme. So the LFN exists only to preserve the case. This is perfectly fine from the perspective of the filesystem, but the VFAT filesystem defines four optional cases for which it is possible to preserve the case of the filename without creating a separate LFN entry in the filesystem. In any of these four special cases, the filename's case is stored in 2 bits of the same 32-byte directory entry which holds the SFN: One bit defines if the (up to 8 characters long) name part of the filename is all uppercase or all lowercase, the other bit defines if the (up to 3 characters long) extension part of the filename is all uppercase or lowercase. Since the "lcase" example was all lowercase, we don't know, if the calculator actually stored a LFN or just recorded the special case info. Let's see what the calculator makes out of the following:

:3:"Mixcase" STO force LFN entry (unless treated as "mixcase")
:3:"CamelC" STO force LFN entry
:3:"UPCASE" STO SFN is sufficient, no LFN support required at all
:3:"SPECIÄL" STO no reason to create a LFN entry but some system may do
:3:"speziäl" STO no reason to create a LFN entry, but LFN support required
:3:"specÿal" STO no uppercase equivalent for ÿ in codepage 437 or 850
:3:"speci■l" STO special character from critical range 80h..9Fh (■ = \[] = 158)

Greetings,

Matthias


--
"Programs are poems for computers."
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: 50g: copy all stored objects to SD card individually - matthiaspaul - 10-16-2016 07:26 PM



User(s) browsing this thread: 1 Guest(s)