<!-- PDF page 290 -->

| Code | Report | Description | Situation |
|---|---|---|---|
| m | Note out of range | A series of sharps or flats has taken a note beyond the range of the sound chip. | **PLAY** |
| n | Out of range | A parameter for a command is too big or too small. If the error is very large, error L results | **PLAY** |
| o | Too many tied notes | An attempt was made to tie too many notes together | **PLAY** |
|  | Invalid mode | The mode specified does not exist | **LAYER** |
|  | Direct command error | An attempt was made to execute a command within a program that's meant to be executed directly from the command line or to **RUN** a procedure definition (**DEFPROC**) | **DEFPROC**, **ERASE**, **LINE**, **LINE MERGE**, **BANK LINE MERGE** |
|  | Loop error | Occurs in **REPEAT...REPEAT UNTIL** loops where a matching **REPEAT UNTIL** or **REPEAT** cannot be found. | **REPEAT...REPEAT UNTIL**, **WHILE** |
|  | No DEFPROC | A **PROC** was found without a matching **DEFPROC...ENDPROC** block | **PROC** |
|  | No ENDIF | An **ELSEIF** was found without a matching **ENDIF** | IF...ELSEIF...ENDIF |
|  | No label | A referenced label, does not exist |  |

### Storage Device Related Errors

The following are reports generated by *NextZXOS* for storage device errors. Those marked in the left-hand column with **RIC** may be followed by the options **Retry, Ignore or Cancel?**

Some reports may occur with the code(s) shown or without them.

| Code | Report | Description |
|---|---|---|
| e | Already exists | The destination filename or directory already exists. Also occurs when attempting to map a drive letter that is already mapped to another device. |
|  | Bad file number | An attempt was made to operate on a file which has not been opened. It is unlikely that this error will ever be seen. |
| f | Bad filename | The filename used does not conform to the filename requirements for the filesystem. |
|  | Bad parameters | One of the values provided is out of range. |
|  | Code length error | Trying to load a **CODE** file from the storage device that is longer than the value given on the **LOAD** command. |
|  | Dest can't be wild | Trying to give a wildcard file specification for the destination file in a **COPY** command when the source also contains wildcard characters. In this case, the destination can only be a drive letter. |
|  | Dest must be path | The source filename in a **COPY** command contains wildcard characters, but the destination is only a single file name. In this case, the destination can only be a path. |
|  | Dir full | Unable to add further entries to the directory, or unable to remove a directory because it contains files or subdirectories. |
| RIC | Disk changed | The disk in the drive has been changed without properly **REMOUNT**ing. |
| RIC | Disk error | An error has occurred accessing a storage device. If this error persists it may indicate that the device is faulty. |
|  | Disk full | Saving or copying files to a storage device has used up the free space. The CAT command can be used to check that there is sufficient free space before attempting such an operation. This may leave a partly-written file if there was only space for some of it. This part should be erased, as any attempt to use it will fail. |
|  | Dot command error | The error that was trapped by **ON ERROR** was generated by a dot command. This is seen only when **ERROR** is used to cause the last trapped error. |
|  | End of file | An attempt has been made to read a byte past the end-of-file position. |
| g,h | File not found | The filename specifies a file that does not exist. |
|  | Fragmented – use .DEFRAG | The file is split into parts across the disk. Defragment it using the .**DEFRAG** dot command. |
|  | In use | An attempt has been made to unmap or re-map a drive that has files open on it, or to access a file that is already open for another purpose. |
|  | Invalid attribute | The attribute character following + or - in a **MOVE** command is not **P**, **S** or **A** (or there is more than one character after the +/-). |
|  | Invalid device | The physical device specified does not exist. |
|  | Invalid drive | A drive letter that does not exist has been specified. |
|  | Invalid partition | The partition specified does not exist, or is the wrong type. |
|  | Invalid path | The path specified does not exist |
|  | No rename between drives | An attempt has been made to use the **MOVE** command specifying source and destination filenames that are on different drives. |

