Filing system numbers

From BeebWiki
Revision as of 16:09, 26 February 2017 by Jgharston (talk | contribs) (Added filing system selection code.)
Jump to: navigation, search

Each filing system has a unique number that identifies it and allows it to be selected. The following is a list of currently defined filing system numbers.

   0 No current filing system        30 Fax:
   1 1200 baud cassette              31 Z88:
   2 300 baud cassette               32 SCSIDeskFS:
   3 ROM filing system, ROM:         33 NFS: (UNIX Network FS)
   4 Disk filing system, DISK:       34 Serial2:
   5 Network, NET: (CoProFS)         35 DFSDeskFS:
   6 Telesoftware                    36 DayIBMFS:
   7 IEEE filing system, IEEEFS:     37 CDFS:
   8 Acorn ADFS                      38 ChipFS:, CFS:, RISCardFS:
   9 Host filing system, HostFS:     39 pcfs:
  
  10 Videodisk filing system, VFS:   40 BBScanFS:
  11 CoProFS, Acorn WDFS             41 BroadcastLoaderUtils
  12 Acacia RamFS, NetPrint:         42 ChunkFS
  13 Null:                           43 DOSFS:, MSDOSFS:, MSDOS:
  14 Printer:                        44 NoRiscFS:
  15 Serial:                         45 Nexus filing system
  16 Harston ADFS                    46 ResourceFS
  17 Vdu:                            47 PipeFS
  18 RawVdu:                         48 NexusFilerFS
  19 Kbd:                            49 IDEFS:
  
  20 RawKbd:                         50 CCPrintFS
  21 DeskFS:                         51 VideoDigitiserFS
  22 Computer Concepts RomFS:        52 SoundDigitiserFS
  23 RamFS:, RAM:                    53 Device:
  24 RISCiXFS:, UnixFS:              54 Parallel:
  25 Streamer, DigiTape              55 VCMNetFS
  26 SCSIFS:, SCSI:                  56 ArcFS:
  27 Digitiser, TVFS:                57 NexusPrintFS
  28 Scanner, ScanFS:                58 PIA
  29 MultiFS:, Petrov DOSFS          59 RSDosFS
  
  60 dbFS                           128 SPSTFS 
  61 PCompress:                     134 FastSpool 
  66 SparkFS:                       136 FlashFS
  71 BeebItFS:                      141 BDFS
  77 MirrorFS:                      142 raFS:
  79 FTP:                           145 lprFS
  86 FontFS:                        148 CDRFS 
  91 Memphis                        152 ParaFS  
  96 AddressDevice                  156 LanMan98
  99 ShareFS                        158 CDROMFS
  92 LFS: (65Link)                  162 TFTP:
 101 Computer Concepts PrintQueueFS 170 ZIDEFS:
 102 LanMan                         192 SDFS:
 104 OmniPrint                      205 AudioFS
 105 AppleFS                      
 111 IOmega ZipFS:, iZipFS:        
 115 ATAFS:                       
 118 CacheFS
 121 MenonFS
 123 IZipFS

Reading filing system numbers

The current filing system number is returned by OSARGS 0,0. A filing system number can be converted to its name on RISC OS systems using

       SYS "OS_FSControl",33,fsnumber%,buffer,buflen

which returns a null-terminated string in buffer, or "" if not known.

Selecting filing system

The filing system number can be used to select the filing system by making service call &12.

 A%=143:X%=18:Y%=filingsystemnumber
 CALL OSBYTE

The TAPE and ROM filing systems cannot be selected with service call &12, they have to be selected with OSBYTE 140,speed for TAPE and OSBYTE 141 for ROM.

 Y%=filing system number
 X%=speed for TAPE
 IF Y%<3 THEN A%=140 ELSE IF Y%=3 THEN A%=141 ELSE A%=143:X%=18
 CALL OSBYTE

Notes

The filing system number on 8-bit systems must be less than &80, as bit 7 being set is used to indicate that no temporary filing system is available.

CoProFS can be set to any number between 1 and 15 with *OPT 7,num. It defaults to 5 (which clashes with NetFS). It is recommended to make CoProFS use 11 with *OPT 7,11.

HADFS can be set to any number between 5 and 16 with *OPT 2,num. It defaults to 16.

WDFS (filing system 11) appears to be a preliminary allocation by Acorn for the Winchester Disk Filing System before ADFS was designed with hard drive support.

Some documentation lists Acacia RamFS as having filing system number 16. This is incorrect, it is actually 12.

When a DOS disk or partition is opened as an image file, the returned filing system number is 0.

Jgharston 22:13, 1 September 2007 (BST)