83 lines
2.4 KiB
C
83 lines
2.4 KiB
C
#define JVS_MARK 0xd0
|
|
#define JVS_SYNC 0xe0
|
|
#define JVS_NODE_MASTER 0x00
|
|
#define JVS_NODE_BROADCAST 0xff
|
|
|
|
#define JVS_VERSION_CMD 0x13 // A real board reports 1.1, but we support 1.3
|
|
#define JVS_VERSION_JVS 0x20
|
|
#define JVS_VERSION_COMM 0x10
|
|
|
|
#define JVS_STATUS_OK 0x01
|
|
#define JVS_STATUS_UKCOM 0x02
|
|
#define JVS_STATUS_SUM 0x03
|
|
#define JVS_STATUS_OVERFLOW 0x04
|
|
#define JVS_STATUS_UNKNOWN 0xff // Not a spec-compliant status, but there's none for this!
|
|
|
|
#define JVS_REPORT_OK 0x01
|
|
#define JVS_REPORT_PARAM_NODATA 0x02
|
|
#define JVS_REPORT_PARAM_INVALID 0x03
|
|
#define JVS_REPORT_BUSY 0x04
|
|
|
|
#define JVS_FEATURE_PAD 0x00
|
|
#define JVS_FEATURE_EOF 0x00
|
|
#define JVS_FEATURE_PLAYERS 0x01
|
|
#define JVS_FEATURE_COINS 0x02
|
|
#define JVS_FEATURE_ANALOG 0x03
|
|
#define JVS_FEATURE_ROTARY 0x04
|
|
#define JVS_FEATURE_KEYCODE 0x05
|
|
#define JVS_FEATURE_SCREEN_POS 0x06
|
|
#define JVS_FEATURE_MISC_SWITCH 0x07
|
|
#define JVS_FEATURE_CARDS 0x10
|
|
#define JVS_FEATURE_MEDAL_HOPPER 0x11
|
|
#define JVS_FEATURE_GPIO 0x12
|
|
#define JVS_FEATURE_ANALOG_OUT 0x13
|
|
#define JVS_FEATURE_CHAR_OUT 0x14
|
|
#define JVS_FEATURE_BACKUP 0x15
|
|
|
|
#define JVS_CHARTYPE_UNKNOWN 0x00
|
|
#define JVS_CHARTYPE_NUMBER 0x01
|
|
#define JVS_CHARTYPE_ALNUM 0x02
|
|
#define JVS_CHARTYPE_ALNUM_KATAKANA 0x03
|
|
#define JVS_CHARTYPE_SHIFTJIS 0x04
|
|
|
|
#define JVS_COINSLOT_NORMAL 0x00
|
|
#define JVS_COINSLOT_JAM 0x01
|
|
#define JVS_COINSLOT_COUNTER_DISCON 0x02
|
|
#define JVS_COINSLOT_BUSY 0x03
|
|
|
|
// Mandatory JVS commands
|
|
#define JVS_CMD_RESET 0xf0
|
|
#define JVS_CMD_RESET_ASSERT 0xd9
|
|
#define JVS_CMD_ASSIGN_ADDR 0xf1
|
|
#define JVS_CMD_CHANGE_COMMS 0xf2
|
|
|
|
#define JVS_CMD_READ_ID 0x10
|
|
#define JVS_CMD_GET_CMD_VERSION 0x11
|
|
#define JVS_CMD_GET_JVS_VERSION 0x12
|
|
#define JVS_CMD_GET_COMM_VERSION 0x13
|
|
#define JVS_CMD_GET_FEATURES 0x14
|
|
|
|
#define JVS_CMD_REQUEST_RETRANSMIT 0x2f
|
|
|
|
// Optional JVS commands
|
|
#define JVS_CMD_RECEIVE_MAIN_ID 0x15
|
|
|
|
#define JVS_CMD_READ_SW 0x20
|
|
#define JVS_CMD_READ_COIN 0x21
|
|
#define JVS_CMD_READ_ANALOGS 0x22
|
|
#define JVS_CMD_READ_ROTARY 0x23
|
|
#define JVS_CMD_READ_KEYCODE 0x24
|
|
#define JVS_CMD_READ_SCREEN_POS 0x25
|
|
#define JVS_CMD_READ_MISC_SWITCH 0x26
|
|
#define JVS_CMD_REMAINING_PAYOUT 0x2e
|
|
|
|
#define JVS_CMD_COIN_DECREASE 0x30
|
|
#define JVS_CMD_PAYOUT_INCREASE 0x31
|
|
#define JVS_CMD_WRITE_GPIO1 0x32
|
|
#define JVS_CMD_WRITE_ANALOG 0x33
|
|
#define JVS_CMD_WRITE_CHARACTER 0x34
|
|
#define JVS_CMD_COIN_INCREASE 0x35
|
|
#define JVS_CMD_PAYOUT_DECREATE 0x36
|
|
#define JVS_CMD_WRITE_GPIO2 0x37
|
|
#define JVS_CMD_WRITE_GPIO3 0x38
|