support 2nd player streaming from separate raw file
[teensytas.git] / pkts.h
CommitLineData
f20de073 1
2enum tas_pkt_type {
19560e5f 3 PKT_FIXED_STATE = 0xef01,
4 PKT_STREAM_ENABLE = 0xef02,
5 PKT_STREAM_REQ = 0xef03,
6 PKT_STREAM_DATA_TO_P1 = 0xef04,
7 PKT_STREAM_DATA_TO_P2 = 0xef05,
8 PKT_STREAM_DATA_FROM = 0xef06,
9 PKT_STREAM_END = 0xef07,
10 PKT_STREAM_ABORT = 0xef08,
f20de073 11};
12
13struct tas_pkt {
14 uint16_t type;
15 uint16_t size; // for DATA_FROM/TO
16 union {
17 uint8_t data[60];
18 struct {
19 uint32_t frame; // just fyi
19560e5f 20 uint8_t is_p2;
f20de073 21 } req;
22 struct {
23 uint8_t stream_to;
24 uint8_t stream_from;
25 // frame increment on read
19560e5f 26 uint8_t inc_mode;
6d4349fc 27 uint8_t no_start_seq;
f20de073 28 } enable;
29 };
30} __attribute__((packed));
19560e5f 31
32enum inc_mode {
33 INC_MODE_VSYNC = 0,
34 // shared stream index incremented by pl1 or pl2
35 INC_MODE_SHARED_PL1 = 1,
36 INC_MODE_SHARED_PL2 = 2,
be48e888 37 INC_MODE_SEPARATE = 3,
19560e5f 38};