support 2nd player streaming from separate raw file
[teensytas.git] / pkts.h
diff --git a/pkts.h b/pkts.h
index 16877f6..582fa72 100644 (file)
--- a/pkts.h
+++ b/pkts.h
@@ -1,12 +1,13 @@
 
 enum tas_pkt_type {
-       PKT_FIXED_STATE      = 0xef01,
-       PKT_STREAM_ENABLE    = 0xef02,
-       PKT_STREAM_REQ       = 0xef03,
-       PKT_STREAM_DATA_TO   = 0xef04,
-       PKT_STREAM_DATA_FROM = 0xef05,
-       PKT_STREAM_END       = 0xef06,
-       PKT_STREAM_ABORT     = 0xef07,
+       PKT_FIXED_STATE       = 0xef01,
+       PKT_STREAM_ENABLE     = 0xef02,
+       PKT_STREAM_REQ        = 0xef03,
+       PKT_STREAM_DATA_TO_P1 = 0xef04,
+       PKT_STREAM_DATA_TO_P2 = 0xef05,
+       PKT_STREAM_DATA_FROM  = 0xef06,
+       PKT_STREAM_END        = 0xef07,
+       PKT_STREAM_ABORT      = 0xef08,
 };
 
 struct tas_pkt {
@@ -16,13 +17,22 @@ struct tas_pkt {
                uint8_t data[60];
                struct {
                        uint32_t frame; // just fyi
+                       uint8_t is_p2;
                } req;
                struct {
                        uint8_t stream_to;
                        uint8_t stream_from;
                        // frame increment on read
-                       uint8_t use_readinc;
+                       uint8_t inc_mode;
                        uint8_t no_start_seq;
                } enable;
        };
 } __attribute__((packed));
+
+enum inc_mode {
+       INC_MODE_VSYNC = 0,
+       // shared stream index incremented by pl1 or pl2
+       INC_MODE_SHARED_PL1 = 1,
+       INC_MODE_SHARED_PL2 = 2,
+       INC_MODE_SEPARATE = 3,
+};