LongFiles is a filing system extension which allows you to use more than 10 character filenames in the standard Acorn desktop. It is transparent in operation, and works with the vast majority of RISC OS applications.
How does it work?
If you've ever looked at a disc from a Windoze95 user, then the chances are that you may have seen filenames such as "PROGRA~1.EXE". The "~" is a special character that is used by Windoze to indicate that it is a long filename; using Windoze95, you will see the long filename, whereas the underlying file system (DOS [FAT]) sees the short filename.
LongFiles works in a similar fashion. When you save a file as "SomeLongName", it will be actually saved as "SomeLo}000". Here, the "}" is the special character, and the "000" is an index to make the whole system work faster (after all, we are using a fast operating system).
When the filing system needs to be catalogued, LongFiles replaces these filenames with their long filenames. This occurs in the Desktop, and also in the command line. Any program which uses standard operating system calls (OS_GBPB) will see the long filenames instead of the short names.
To do all of this, LongFiles claims several filing system routines to do with creating, examining and listing files. Since not all filing systems suffer from this problem, it is possible to claim individual filing systems. Also, LongFiles maintains an index of the long filenames in a special file called "!ZZ!!Z!LF". When cataloging, this file is not displayed, and if there are no LongFiles in the directory, the file is removed. LongFiles can also be removed from filing systems - in which case, you will see the short forms of the filenames, just as you would for a Windoze95 disc.
There are several versions that can be downloaded:
What works with it and what doesn't?
Practically all programs works with it, except for those which have a limited buffer for the filename size. Some of these will work, but will truncate the name. Others may crash.
I hope to maintain a list of those which works with long filenames (and their limits), and those which do not.
Note that this list is very old, and hasn't been maintained for a long time!
|Filer||Yes||Will only display upto 64 characters with RISC OS 3.5+, and will not resize the window on RISC OS 3.1 or earlier. In RISC OS 3.5+, you can rename the file, etc - it is only truncated in the menu/display|
|Desktop||Yes||Will only allow double-clicks on files less than 203 characters in total, including the filing system name and pathname|
Upto 51 characters, depending on zoom level
|!Sonor||Yes||Upto 56 characters, depending on zoom level|
|WebLoad II||Yes||Upto 63 characters|
|Impression Publisher||Kindof||When loading and saving, !Impression will truncate to 10 characters. Version 4.11 tested. It loads the correct file if you have two which start with the same 10 characters|
|Ovation Pro||Yes||Upto 63 characters|
|Replay (standard)||Yes||Upto 171 characters|
|Sibelius 7||No||Sibelius will crash if long filenames are used. Version 3.50 tested.|
|Sibelius 6||Unknown||It is expected that it will perform the same as Sibelius 7|
|Sileblius Junior||Unknown||As Sibelius 6|
Frequently Asked Questions
Can I distribute LongFiles myself?
Yes, you can, provided that all documentation is provided with the release. If you are distributing LongFiles with a commercial package, then please let me know beforehand. There should also be a mention (somewhere) about http://www.tribbeck.com/ so that people can upgrade to the latest version.
Can I distribute/mirror this site?
At this moment in time, I would say no - simply because I haven't decided if I like the new look and feel of this new site. When I've decided to settle the style down a bit, then I may take requests to mirror.
By all means refer to the site by a link from your own site :-)
Does it work with Phoebe?
At the time of writing, Phoebe has not been released, and so it is not known if LongFiles works on Phoebe. I cannot see a reason why it will not work.
Will I need it with Phoebe?
If you intend just to distribute long filenamed files between other Phoebe machines, or those that have been modified with the new FileCore filing system then no, not really.
However, if you wish to send long filenamed files to other machines, then you will. LongFiles will hopefully be extended to recognise the ADFS disc structure, and if it is a Pre-Phoebe format, it will kick in; otherwise, it will allow ADFS to do its structuring.
If you are recieving long filenamed files from users of LongFiles, then I will be producing a "Read-Only" version of LongFiles which will read the discs with the long filenames.
What happened to LongDirs and the rest?
One of the LongFiles bugs (SP001) has shown that LongDirs [and the rest] may become unstable in its current state. I hope to fix it when I have time.
What about FileCore, Unix and LongFiles?
Adam Gundy (email@example.com) has produced code for reading LongFiles (versions 1 and 2) directory files that is available for Unix. Email him for more details. Note that I cannot support this.
How do I create long-filed data suitable for creating a CDFS disk prior to burning the CD?
This is quite technical - only do this if you know what you are doing!
Brief history: In version 2.08, the command *SpecialLongFS was added to allow LongFiles to work with specially prepared CDFS disks, allowing more than 10 character (or 8+3) filenames. This was added because Acorn Arcade wished to recreate their web site on the Acorn User CD-ROM. This was extended in 2.09 so that CDFS automatically defaults to special filenames and characters that can be used under ISO9660 format disks.
If you want to create a directory structure that can be burnt to a CD-ROM with standard Acorn (and also PC) software, you will need to create a directory structure that uses the same special filenames/character that CDFS uses under LongFiles. There are several ways to do this, but it depends on what filing systems you have available to you:
If you have a filing system which you do not use LongFiles with that has enough disk space (such as RAM)
You will need to have a 'source' directory tree on one filing system, and a 'destination' directory tree on another filing system which you do not use LongFiles with (such as the RAM drive).
- Create the source directory tree containing your files.
- *AddLongFS <destination filing system> (or use the front-end)
- *SpecialLongFS <destination filing system> LONG__FS / (you cannot use the front-end for this)
- Copy the source directory to the destination filing system
- *RemoveLongFS <destination filing system>
- Close the destination directory down, and re-open if necessary. You should see that all the filenames are in the new LongFiles format
In order to see it in operation, take a small directory tree (such as ChangeFSI, which is 420K):
- Create a 512K RAM disk.
- Copy !ChangeFSI as ThisIsChangeFSI somewhere else on your hard disk (which is using LongFiles, of course!)
- Press F12, and type *AddLongFS RAM
- Then type *SpecialLongFS RAM LONG__FS /
- Then press RETURN, which will bring you back to the desktop.
- Copy ThisIsChangeFSI to the RAM disk
- When finished, press F12, and type *RemoveLongFS RAM, and then press RETURN again afterwards
- Close the RAM disk down, and re-open it. You should see two files, one called LONG__FS, the other called ThisIs/000
- If you are burning this using a PC, you can copy this onto a DOS floppy (or a DOS formatted Zip disk) quite happily, or if you are using Acorn software, then you can use the RAM::RamDisk0.$ as the source of the CD burn
The best solution in terms of size and useability is to use a Zip disk, or another removable media which has a separate filing system from the others. If you are using Argo's Zip driver, then you can do the above, except use IZipFS instead of RAM.
If you only have one filing system (such as ADFS), or not much disk space
This system is, on the face of it, much simpler than the previous one. However, it does suffer from the drawback that it is not as easy to maintain.
- Create the source directory tree on your hard disk (using standard LongFiles)
- Load !ToCDLFS, and drop the parent directory of the source directory onto ToCDLFS's icon. This will convert the LongFiles names into the CDFS special characters
- If you are burning using a PC, you can copy the new structure onto a DOS floppy, or a DOS formatted Zip disk; if you are using an Acorn, you should be able to use the Acorn software with the source directory that has just been modified
- Since this changes some of special filenames that are used by LongFiles on your hard disk, you will need to use !FromCDLFS in order to convert the directory tree back again.
Hint: If you want to use "LONG__FS" and "/" as the special characters for your normal hard drives, there is nothing stopping you from doing this. You will need to run !ToCDLFS on the entirety of your hard disk(s), and then either add *SpecialLongFS ADFS LONG__FS / in your boot sequence (along with any other FS you use), or set the options, and then save the options in the front-end if you load it on boot-up. Note that if you want to burn your CD (or copy the data onto a DOS formatted disk), then you'll have to kill LongFiles from that FS before copying