GENERAL ERRORS
==============

Errors ocurring while executing or compiling words take the form

    ? MSG # n

where 'n' is one of the following:

    0 - undefined word
    1 - stack empty
    2 - dictionary full
    4 - word already defined
    7 - stack full
   17 - not compiling
   18 - not executing
   19 - conditionals not paired
   20 - stack position mismatch during compilation
   21 - word protected
   30 - page allocation error
   31 - not supported with ROM image
   32 - return stack full
   33 - return stack empty


I/O ERRORS
==========

Errors returned by KERNAL routines take the form

    ? I/O # Kn

where 'n' is one of the following:

    0 - terminated by STOP
    1 - too many open files
    2 - file already open
    3 - file not open
    4 - file not found
    5 - device not present
    6 - file is not an input file
    7 - file is not an output file
    8 - file name missing
    9 - illegal device number
  240 - top of memory changed (RS-232)

Status values indicating an error take the form

    ? I/O # Sn

where 'n' is a combination of one or more of the following:

    1 - time out write (serial)
    2 - time out read (serial)
    4 - short block (tape)
    8 - long block ( tape)
   16 - unrecoverable read error (tape)
   32 - checksum error (tape)
  128 - device not present (serial)

For RS-232 channels the values are the following:

    1 - Parity error
    2 - Framing error
    4 - Receive buffer overrun
   16 - CTS missing
   64 - DSR missing
  128 - BREAK detected
