wwarthen / FAT

RomWBW HBIOS FAT Filesystem Utility
Other
6 stars 2 forks source link

FAT Can't copy files with % in the name #1

Closed MockbaTheBorg closed 6 months ago

MockbaTheBorg commented 6 months ago

Hi Wayne,

Today I was using FAT to copy some Z80Mumps files from a FAT diskette into my Zeta2, however it refuses to copy files named, for example %DIR.MMP. These files can exist normally both on FAT and CP/M disks. Maybe you can help with this?

Thanks, Marcelo

wwarthen commented 6 months ago

Hi Marcelo,

Well, according to the Digital Research CP/M Manual:

The characters used in specifying an unambiguous file reference cannot contain any of the following special characters: < > . , ; : = ? * [ ] _ % | ( ) / \ while all alphanumerics and remaining special characters are allowed.

Do you have information to the contrary?

Thanks,

Wayne

MockbaTheBorg commented 6 months ago

Hi Wayne,

Well ... not document information, but since I used Mumps in my AppleII as a kid it allowed me to save programs with % in the name (or even named just %.MMP). For some reason naming things with % was kinda a common practice in Mumps. If you point me to where the test is made I can probably make my own version of FAT with this modification, as I understand it is unconventional, but I do have a few Z80 Mumps programs to recover.

Thanks, Marcelo.

wwarthen commented 6 months ago

I did a little documentation research. In all of the CP/M 2.x documentation, I see % listed as an invalid filename character. In all of the CP/M 3.x documentation, % is not listed as invalid. I'm pretty sure there was no true technical reason that % is not allowed and I suspect DRI eventually realized it is OK.

Line 218 of fat.c contains the list of characters not allowed. You could easily remove the %.

I will think about whether I should remove % from the official version of the app.

Thanks for bringing this up.

Wayne

MockbaTheBorg commented 6 months ago

Thanks Wayne ... I will spin a local copy. This is a too small of a use case to break compatibility with CP/M 2.x. I do prefer to remain as true as possible to the original. Thanks a lot!

wwarthen commented 6 months ago

In commit 362e501, I have loosened the "bad" character constraints and now allow a few characters that seem to be a little ambiguous. One of those is the % character.

Thanks,

Wayne