Next: Example Exchange, Previous: Command Structure, Up: Binary monitor [Contents][Index]

### 13.2 Response Structure

byte 0: 0x02 (STX)
byte 1: API version ID (currently 0x01)

  The API version identifies incompatible changes, such as modifying the header structure, or rearranging or changing the meaning of existing response fields. The API version does not need to be incremented for additional fields. If all the variable length fields are prefixed with their lengths then you should be able to add new ones to any response. The client can assume default values for older versions of VICE, and for newer versions of VICE with longer responses it should be able to ignore the extra fields safely.

byte 2-5: response body length. Does not include any header fields
byte 6: response type

  This is usually the same as the command ID

byte 7: error code
  `0x00`

    OK, everything worked

  `0x01`

    The object you are trying to get or set doesn’t exist.

  `0x02`

    The memspace is invalid

  `0x80`

    Command length is not correct for this command

  `0x81`

    An invalid parameter value was present

  `0x82`

    The API version is not understood by the server

  `0x83`

    The command type is not understood by the server

  `0x8f`

    The command had parameter values that passed basic checks, but a general failure occurred
    See Commands for other error codes

byte 8-11: request ID

  This is the request ID given to initiate this response. If the value is 0xffffffff, Then the response was initiated by an event, such as hitting a checkpoint.

byte 12+: response body.

  See Commands.

Next: Example Exchange, Previous: Command Structure, Up: Binary monitor [Contents][Index]