I have a question.
a long file name has more than one entry must they follow each other

and a question in FAT
when deleting a file entry shall I shift up remaining entries

thanks ;
Yes, they must. A set of a long name entries immediately precede a short name. Every long name entry has a number, in its 1st byte, which designates an ordinal number of a long entry. The last entry's ordinal number is ORed with 0x40.a long file name has more than one entry must they follow each other
You may do it, but it is not necessary. It will significantly slow your driver. Usually, a driver just sets 1st byte of a short name and all of its long name entries to 0xE5 (0x5 is used for japanese(?) languages, and 0x0 means that the entry is deleted, there are no valid (non-deleted) entries after it) signature, which means, that the entry is deleted and can be used for a new file.when deleting a file entry shall I shift up remaining entries
I found winimage already doing that. and also I noticed that it ignores all entries after the first entry name begin with '\0'Usually, a driver just sets 1st byte of a short name and all of its long name entries to 0xE5
which means the bit 6 while the first 5 bits are index of the long file name entry.The last entry's ordinal number is ORed with 0x40.
that is because when a disk is formated, all entries become /0 -- and the MS driver (and all other drivers -- its a required part of the spec) write entries in the first availible slot, therefore, if you find a file which begins with /0, that means that entry has never been used, and because the entries are used in order, it also means no further enteries have ever been used -- its a performance shortcut
I found winimage already doing that. and also I noticed that it ignores all entries after the first entry name begin with '\0'
so using the value 0xE5 is reasonable than 0x00