Here is some background on the path syntax in RISC OS:
Comparison:
Windows C:\progs\test\unit1.pas
Linux /home/progs/test/unit1.pas
RISC OS SCSIFS:4.$.progs.!test.unit1 (filetype pas)
In RISC OS the first part is the filesystm (eg. ADFS, IDEFS, SCSIFS, RAM, FAT32FS, CDFS, HOSTFS (RPCemu))
Second part is the drive number (0,1,2,3,4,5,6,7)
Third part is the root sign "$"
Following parts are the subfolder path.
Last part is the actual filename.
There is no extention in RISC OS for the file type. The file type is saved as part of the file info.
Sadly it is not possible to have same names with different extentions (file types) as files are not accessed with the file type just by the name that doesn't include the file type.
Also as standard in RISC OS there is no difference with upper or lower case names.
This can be activated but it is not the standard setting.
So for example for C the solution for this dilema is solved by subfolders that have the name "o","c"and "h".
So in case Pascal needs also different file types with same file name same convention might be used:
RISC OS SCSIFS:4.$.progs.!test.pas.unit1
In RISC OS the (!) is used to represent a program folder that includes some set of files like:
!Boot (file type "Obey") This file is run by the OS when the (!) folder is seen first time.
This is used to setup paths for some files or sets file types.
!Run (file type "Obey") This file is run when the user starts the app by a double click.
Here normally the loading of modules is done or version numbers checked
before the actual !Runimage is started.
!Sprites (file type "Sprite") In the image file the icon of the app is stored that is shown in the filer.
There is normally two files !appname (68 x 68 pixels) and
sm!appname (34 x 34 px) But the images can be bigger also like 140 x 68 px.
Sprites (file type "Sprite") Here all the icons are saved that are used in the window definitions.
!Runimage (file type "Absolute") This is the actual program code.
!Help (file type can be text, PDF or basically any file) This file is started when use the menu entry
"Help" in the filer of the selected file. It will start the program
associated with the file type and load the file.
Res (file type "Resource") In this file all windows, toolbars and menues are stored for the program.
It can be edited by !ResEdit. !ResEdit looks actually very similar like
the window editor of Lazarus / Borland Delphi. But Lazurus is better
structured than !ResEdit.
With this Resource files also an internationalization can be achieved by
saving the files for different languages in a subfolder "resources".
The neat thing about the (!) Pling folders is that they hide all files that are not usefull for the normal user. So if the program needs some data it will be stored in !app.data .