The form_error function has been extended in N.AES, so that a sensible message can be output for all GEMDOS errors for a form_error call.
An N.AES form_error code is calculated from a GEMDOS error-code with:
formcode = ~gemdoscode - 30
~ ist bitweises NOT
In the 'form_error codes' table (below) all possible N.AES form_error codes are listed next to the corresponding GEMDOS errors. The first column holds the form_error code and the name of the associated object in the system resource, the second column the corresponding GEMDOS error and the third column a short description of the error.
Please note that not all form_error codes have a GEMDOS error assigned to them.
| Code | GEMDOS error | Meaning |
| 0 ERR_TOSERR | !~ | |
| 1 ERR_INVFN | -32 EINVFN | Invalid function |
| 2 ERR_NOTFOUND | -33 EFILNF | File not found |
| 3 ERR_NOTFOUND | -34 EPTHNF | Path not found |
| 4 ERR_NHNDL | -35 ENHNDL | No more handles |
| 5 ERR_ACCDN | -36 EACCDN | Access denied |
| 6 ERR_IHNDL | -37 EBADF | Invalid handle |
| 8 ERR_NSMEM | -39 ENSMEM | Insufficient memory |
| 9 ERR_IMBA | -40 EIMBA | Invalid memory block address |
| 15 ERR_DRIVE | -46 EDRIVE | Invalid drive specification |
| 17 ERR_XDEV | -48 EXDEV | Cross device rename |
| 18 ERR_NOTFOUND | -49 ENMFIL | No more files (fsnext) |
| 27 ERR_LOCKING | -58 ELOCKED | Record is locked already |
| 28 ERR_LOCKING | -59 ENSLOCK | Invalid lock removal request |
| 33 ERR_TOSERR | -64 ERANGE | Range error |
| 34 ERR_INTRN | -65 EINTRN | Internal error |
| 35 ERR_PLFMT | -66 EPLFMT | Invalid program load format |
| 36 ERR_GSBF | -67 EGSBF | Memory block growth failure |
| 49 ERR_LOOP | -80 ELOOP | Too many symbolic links |
| 50 ERR_PIPE | -81 EPIPE | Write to a broken pipe |
For each of the various form_errors there is also a corresponding alert box in the system resource file N_AESSYS.RSC, whose symbolic constant starts with 'ERR_' and is also listed in the first column of the 'form_error codes' table.