The idea is that VMPC2000XL on Windows uses the shortname entry that is part of most people's FATs (additional to the long name users usually see in Explorer and other applications).
This is not handled correctly, however. If we create a directory named morethanmorethanmorethanmorethan in Documents/VMPC2000XL/Volumes/MPC2000XL, the moment we want to open the LOAD or SAVE screen VMPC2000XL crashes. If we create a slightly shorter named directory, like morethanmorethanmorethan, LOAD or SAVE does not crash, but we see the long file name. This is not the intended behaviour. The intended behaviour is to show the short name, i.e. MORETH~1.
Maybe we should get rid of this optional shortname parsing on Windows. Directories could always be renamed, regardless of platform. To implement this, we have to take into account that renaming morethanmorethanmorethan to MORETH~1 results in a no-op if short file names are enabled for the file system (and by default they are). Easiest is probably to first rename the directory to some UUID, and then rename it to MORETH~1.
Additionally we want the directory to be renamed to MORETHAN, if there is no conflict with other file names.
The idea is that VMPC2000XL on Windows uses the shortname entry that is part of most people's FATs (additional to the long name users usually see in Explorer and other applications).
This is not handled correctly, however. If we create a directory named
morethanmorethanmorethanmorethan
inDocuments/VMPC2000XL/Volumes/MPC2000XL
, the moment we want to open the LOAD or SAVE screen VMPC2000XL crashes. If we create a slightly shorter named directory, likemorethanmorethanmorethan
, LOAD or SAVE does not crash, but we see the long file name. This is not the intended behaviour. The intended behaviour is to show the short name, i.e.MORETH~1
.Maybe we should get rid of this optional shortname parsing on Windows. Directories could always be renamed, regardless of platform. To implement this, we have to take into account that renaming
morethanmorethanmorethan
toMORETH~1
results in a no-op if short file names are enabled for the file system (and by default they are). Easiest is probably to first rename the directory to some UUID, and then rename it toMORETH~1
.Additionally we want the directory to be renamed to
MORETHAN
, if there is no conflict with other file names.