ok, so here's my (rather simple) idea. Apologies to torne who has already seen this.
The
xbox-linux page describes a directory entry as such:
CODE
Offset Size Description
0 1 Size of filename (max. 42)
1 1 Attribute as on FAT
2 42 Filename in ASCII, padded with 0xff (not zero-terminated)
44 4 First cluster
48 4 File size in bytes
52 2 Modification time
54 2 Modification date
56 2 Creation time
58 2 Creation date
60 2 Last access time
62 2 Last access date
My thoughts were for a kernel hack that intercepts this data going to/from the hard drive.
I want to double the amount of data (was 64, now 128 bytes) used for a directory entry.
Use a 2nd block of 64bytes entirely for an additional filename storage, for 106 characters total.
The directory entries would essentially be interleaved on the hard drive:
Block 0=normal xbox entry as described above for 1st file.
Block 1=additional filename storage
Block 2=file 2 normal entry as described above
Block 3=file 2 filename storage
etc.
The downside of this is that in a root directory of any partition, you can now only store 128 files. Is that really a big deal to anyone? I have like maybe 15 files in my C: partition and perhaps 6 in E,F.
Subdirectories are not limited to this. Thus, copying a game with hundreds of files in the root directory of a DVD will not be affected because no one copies a game disk to the root directory of their hard drive.
Games that use a copy protection trick of using longer than 42 character filenames would not be affected by this hack-in fact the game should still work as normal without requiring any hex editing of the xbe.
DVDs themselves are read using a different file system parsing (or so I believe) so this should not interfere with CD/DVD media at all.
Some apps would have to be updated to take advantage of this. Apps that only reserve 42 bytes for a filename buffer would probably crash if a longer filename was returned.
This patch could also be partition specific. Keep drives C and E the 42 character method, drive F uses FATx+. That would keep the MS dashboard and games out of the picture, only homebrewed stuff using the F, G drives could enable this feature.
Anyway, that's the results from my 2 minute pondering into the issue. There's lots of unkowns (mostly on how to do a kernel patch) and there's certainly more to it than meets the eye I'm sure.
Feel free to shoot some holes in this.