6 Error messages

This chapter lists all the HADFS error messages, each preceded by the appropriate error codes. The error codes are returned by the BASIC function ERR. The errors are listed in alphabetical order, and some similar error messages have the same error number.

&CF 207 Bad attribute The *ACCESS command has been attempted with an access string containing characters other than WRELP.

&FE 254 Bad command The command was not recognised by HADFS, nor was it found as a transient command in the CSD or the library.

&CD 205 Bad drive An attempt to use an invalid drive number. Valid drives are :0 to :9 and :A to :Z. :W to :Z map onto :0 to :3.

&CC 204 Bad filename An illegal filename was used, eg part of the name was longer than ten characters or less than one character, or contained a control character or a character larger than ~, or one of the special characters %, &, ^ or @ used incorrectly.

&FC 252 Bad number The <size> parameter of the *INSTALL command or the <nn> parameter of the *FORM command was wrongly used.

&CB 203 Bad option An invalid argument to a *OPT command.

&B0 176 Bad rename Not enough parameters were given to the *RENAME command, or an attempt was made to rename the $ directory.

&A8 168 Broken directory An attempt has been made to access a directory where HADFS cannot find the reference to it in its parent directory. This would happen if the directory header or the parent directory has been corrupted. You will also get this error if you OPENOUT a file, and then CLOSE it before BPUTting any data, leaving it zero bytes long.

&96 150 Can't delete CSD You are not allowed to delete the currently selected directory. Use *DIR to change the CSD.

&97 151 Can't delete LIB You are not allowed to delete the current library. Use *LIB to change the current library.

&A2 162 Can't delete URD You are not allowed to delete the user root directory. Use *I AM or *MOUNT to change the URD.

&BF 191 Can't extend An attempt has been made to move PTR past the end of a file opened for writing, but there is no free space after the file on the disk for it to expand into. Future versions of HADFS may attempt to move the file to lessen the possibility of this error occuring.

&93 147 Cannot run this code The load address and execution address high bytes disagree about which processor the file should be run in, eg load: FFFF0900, exec: 00000900.

&DE 222 Channel A random access operation has been attempted on a channel that is not valid to HADFS. HADFS uses channels 25 to 29.

&DE 222 Channel not open A random access operation has been attempted on an HADFS channel that has not been opened.

&B0 176 Circular rename An attempt to rename a directory inside itself or one of its sub- directories. Will also occur if trying to rename between a BigDir and a SmallDir.

&98 152 Compaction required A creation operation (SAVE, *CDIR, OPENOUT) has been attempted on a disk where the free space map has become too fragmented.

&C7 199 Data CRC error at D:SSSSSS &C7 199 ID CRC error at D:SSSSSS Some data on the disk has become corrupted.

&B4 180 Dir. not empty An attempt has been made to delete a directory which still contains files or directories.

&C8 200 Disk changed An attempt has been made to access a disk, but it is not in the drive.

&C7 199 Disk Error VV at D:SSSSSS A disk error has occured that does not have a textual error message.

&C6 198 Disk full There is not enough free space on the disk to do the requested operation. This includes SAVE, *CDIR, opening new files or extending existing files. This error will also occur if there appears to be enough disk space, but the free space map is fragmented so that there are only small bits of space available, none large enough to be used.

&C9 201 Disk read only A write operation has been attempted on a disk that is write-protected.

&D2 210 Drive x not present An attempt has been made to access a drive :2 to :V and there is no support routine for the drive, or drive :0 or :1 have been set external with *OPT 7 and there is no support routine for them, or there is no DFS OSWORD &7F routine to support drives :0 and :1 internally.

&DF 223 End of file This error occurs if two consecutive attempts have been made to read from a file whose end has been reached. The first failure will have been flagged by the Carry being set following a OSBGET or OSGBPB.

&C3 195 Entry locked An attempt has been made to remove, rename or overwrite a file or directory which is locked.

&BD 189 File execute only An attempt to read or write to a file which has the execute-only access bit set.

&C4 196 File exists An attempt has been made with *RENAME to name a file or directory with the same name as an existing file or directory or *CDIR to create a new directory with the same name as an existing file.

&C2 194 File open An attempt has been made to delete, rename, or overwrite a file that is open, or to open a file that has already been opened for writing. A file can be opened many times at once for reading, but only once for writing.

&BD 189 Insufficient access An attempt has been made to read or load a file with no R attribute bit, or to write to a file with no W attribute bit.

&A8 168 Is a directory An attempt to read from or write to a channel opened on a directory.

&BE 190 XXXXX is not a directory An attempt to access a file as though is was a directory, eg with *DIR, *LIB, *CAT or *EX.

&B5 181 XXXXX is not a file An attempt to access a directory as though it was a file, eg with LOAD.

&C6 198 Length too long An attempt to create a file whose length would be 512K or longer on a small disk or 4G or larger on a large disk. The maximum file length on a small disk is 524287 (&7FFFF) bytes. This is 512K-1 bytes. The maximum file length on large disks is 4294967295 (&FFFFFFFF) bytes. This is 4G-1 bytes.

&C8 200 Not an HADFS disk An attempt to use HADFS on a non-HADFS disk.

&BD 189 Not enabled An attempt has been made to use a dangerous command, *FORM or *INSTALL, without first using *ENABLE, or answering Y to the Go? prompt.

&D6 214 XXXXX not found The file or directory referenced was not found.

&BD 189 Not open for reading An attempt has been made to read from a channel that is only open for writing.

&C1 193 Not open for update An attempt has been made to write to a channel that is only open for reading.

&B7 183 Outside file An attempt has been made to move PTR past the end of a file opened for reading.

&B0 176 Rename across disks An attempt has been made to use *RENAME with the two filenames referencing different disks. This could come about with a command such as:

*RENAME Prog %.Prog

if the library directory is on a different disk.

&C7 199 Sector not found at D:SSSSSS An attempt has been made to access a sector that does not exist on the disk or is wildly out of range, larger than 2559 on a floppy disk. This could be because the disk has become corrupted somehow, or the HADFS memory has become corrupted.

&C0 192 Too many open An attempt has been made to open a sixth file. Only five files may be open at once, only four of them being for output on the BBC.

&C7 199 Track 0 not found at D:SSSSSS The disk drive couldn't find track zero on a disk. This is usually because the disk has become corrupted. This usually does not affect HADFS much, as the root catalogue is not stored on track zero. A system disk stores some system files there, so this would mean you cannot boot the disk, and data disks may have part of an HADFS file stored there, so part of that file would be inaccessible.

&CE 206 Unsupported directory This error is given if a large directory, used on disks larger than 16M in size, is read with versions of HADFS that do not support them.

&FD 253 Wildcards A wildcard character # or * was found where a full filename specification was needed, eg in *DELETE, *SAVE, *CDIR and the destination of *RENAME.

&C7 199 Write fault at D:SSSSSS An error occured when writing to a disk. This is usually because of an error with the drive, or sometimes the disk.

Disk errors report the sector the error occurs at as D:SSSSSS where D is the drive, and SSSSSS is the absolute sector number in hexadecimal. On floppy disks, SSSSSS is sector+10*track+800*side.

The different between Length too long, Disk full and Can't extend

Length too long is returned if you try to create a file longer than will fit with the directory structure used using OSFILE, ie SAVE or CREATE. Small directories, used on small disks, can hold files containing up to 512K-1 bytes. Large directories, used on large disks, can hold files containing up to 4G-1 bytes.

Disk full is returned if there is not a large enough area of free space on a disk to create a file using any creation command, ie SAVE, CREATE, CDIR, OPENOUT.

Can't extend if returned if there is not enough space to extend an opened file, or if you try to extend it past the maximum size the directory structure can store, eg 512K-1 bytes in small directories.

Error codes, numerically ordered

Hex Dec &93 147 I cannot run this code &94 148 &95 149 &96 150 Can't delete CSD &97 151 Can't delete LIB &98 152 Compaction required &99 153 Free space map full &9A 154 Bad disk &9B 155 Too many disks &9C 156 Illegal use of ^ &9D 157 &9E 158 Ambiguous disk name &9F 159 Not same disk &A0 160 &A1 161 &A2 162 Can't delete URD &A3 163 &A4 164

&A5 165 &A6 166 &A7 167 &A8 168 Broken directory XXXXX broken from parent &A8 168 Is a directory &A9 169 Bad free space map &AA 170 &AB 171 &AC 172 Bad user name &AD 173 Mode x &AD 173 Sizes don't match &AE 174 Not logged on &AE 174 Same disk &AF 175 Types don't match &B0 176 Bad rename &B0 176 Rename across disks &B0 176 Circular rename &B1 177 Already a user &B2 178 PW file full &B3 179 Directory full &B4 180 Dir. not empty &B5 181 XXXXX is not a file Is a directory &B6 182 Map fault &B7 183 Outside file &B8 184 Too many users &B9 185 Bad password &BA 186 Insufficient privilege &BB 187 Wrong password &BC 188 User not known &BD 189 Not enabled &BD 189 File execute only &BD 189 Insufficient access &BD 189 Not open for reading &BE 190 XXXXX is not a directory &BF 191 Can't extend Who are you? &C0 192 Too many open &C1 193 Not open for update &C2 194 File open &C3 195 Entry locked &C4 196 File exists &C4 196 Types don't match &C5 197 Drive fault &C6 198 Disk full &C6 198 Length too long &C7 199 CRC error in ID at D:SSSSSS &C7 199 CRC error in data at D:SSSSSS &C7 199 Track 0 not found at D:SSSSSS &C7 199 Write fault at D:SSSSSS &C7 199 Sector not found at D:SSSSSS &C7 199 Disk Error VV at D:SSSSSS &C8 200 Not an HADFS disk &C8 200 Disk changed &C9 201 Disk read only &CA 202 Bad sum &CB 203 Bad option &CC 204 Bad filename &CD 205 Bad drive &CE 206 Unsupported directory type Bad directory &CF 207 Bad attribute &D0 208 &D1 209 &D2 210 Drive x not present &D3 211 Drive empty &D4 212 Disk not found &D5 213 Disk not present &D6 214 XXXXX not found

&DC 220 Syntax &DD 221 &DE 222 Channel &DE 222 Channel not open &DF 223 End of file

&FC 252 Bad number &FD 253 Wildcards &FE 254 Bad command