chunk new_unscramble(chunk RX_DATA_IN) { static chunk RX_FEEDBACK(0); chunk RX_DATA_OUT(0); RX_DATA_OUT[ 0] = RX_DATA_IN[ 0] ^ RX_FEEDBACK[ 0] ^ RX_FEEDBACK [ 2]; RX_DATA_OUT[ 1] = RX_DATA_IN[ 1] ^ RX_FEEDBACK[ 1] ^ RX_FEEDBACK [ 3]; RX_DATA_OUT[ 2] = RX_DATA_IN[ 2] ^ RX_FEEDBACK[ 2] ^ RX_FEEDBACK [ 4]; RX_DATA_OUT[ 3] = RX_DATA_IN[ 3] ^ RX_FEEDBACK[ 3] ^ RX_FEEDBACK [ 5]; RX_DATA_OUT[ 4] = RX_DATA_IN[ 4] ^ RX_FEEDBACK[ 4] ^ RX_FEEDBACK [ 6]; RX_DATA_OUT[ 5] = RX_DATA_IN[ 5] ^ RX_FEEDBACK[ 5] ^ RX_FEEDBACK [ 7]; RX_DATA_OUT[ 6] = RX_DATA_IN[ 6] ^ RX_FEEDBACK[ 6] ^ RX_FEEDBACK [ 8]; RX_DATA_OUT[ 7] = RX_DATA_IN[ 7] ^ RX_FEEDBACK[ 7] ^ RX_FEEDBACK [ 9]; RX_DATA_OUT[ 8] = RX_DATA_IN[ 8] ^ RX_FEEDBACK[ 8] ^ RX_FEEDBACK [10]; RX_DATA_OUT[ 9] = RX_DATA_IN[ 9] ^ RX_FEEDBACK[ 9] ^ RX_FEEDBACK [11]; RX_DATA_OUT[10] = RX_DATA_IN[10] ^ RX_FEEDBACK[10] ^ RX_FEEDBACK [12]; RX_DATA_OUT[11] = RX_DATA_IN[11] ^ RX_FEEDBACK[11] ^ RX_FEEDBACK [13]; RX_DATA_OUT[12] = RX_DATA_IN[12] ^ RX_FEEDBACK[12] ^ RX_FEEDBACK [14]; RX_DATA_OUT[13] = RX_DATA_IN[13] ^ RX_FEEDBACK[13] ^ RX_FEEDBACK [15]; RX_DATA_OUT[14] = RX_DATA_IN[14] ^ RX_FEEDBACK[14] ^ RX_FEEDBACK [16]; RX_DATA_OUT[15] = RX_DATA_IN[15] ^ RX_FEEDBACK[15] ^ RX_FEEDBACK [17]; RX_DATA_OUT[16] = RX_DATA_IN[16] ^ RX_FEEDBACK[16] ^ RX_FEEDBACK [18]; RX_DATA_OUT[17] = RX_DATA_IN[17] ^ RX_FEEDBACK[17] ^ RX_FEEDBACK [19]; RX_DATA_OUT[18] = RX_DATA_IN[18] ^ RX_FEEDBACK[18] ^ RX_FEEDBACK [20]; RX_DATA_OUT[19] = RX_DATA_IN[19] ^ RX_FEEDBACK[19] ^ RX_FEEDBACK [21]; RX_DATA_OUT[20] = RX_DATA_IN[20] ^ RX_FEEDBACK[20] ^ RX_FEEDBACK [22]; RX_DATA_OUT[21] = RX_DATA_IN[21] ^ RX_FEEDBACK[21] ^ RX_FEEDBACK [23]; RX_DATA_OUT[22] = RX_DATA_IN[22] ^ RX_FEEDBACK[22] ^ RX_FEEDBACK [24]; RX_DATA_OUT[23] = RX_DATA_IN[23] ^ RX_FEEDBACK[23] ^ RX_FEEDBACK [25]; RX_DATA_OUT[24] = RX_DATA_IN[24] ^ RX_FEEDBACK[24] ^ RX_FEEDBACK [26]; RX_DATA_OUT[25] = RX_DATA_IN[25] ^ RX_FEEDBACK[25] ^ RX_FEEDBACK [27]; RX_DATA_OUT[26] = RX_DATA_IN[26] ^ RX_FEEDBACK[26] ^ RX_FEEDBACK [28]; RX_DATA_OUT[27] = RX_DATA_IN[27] ^ RX_FEEDBACK[27] ^ RX_FEEDBACK [29]; RX_DATA_OUT[28] = RX_DATA_IN[28] ^ RX_FEEDBACK[28] ^ RX_DATA_IN[ 0]; RX_DATA_OUT[29] = RX_DATA_IN[29] ^ RX_FEEDBACK[29] ^ RX_DATA_IN[ 1]; RX_FEEDBACK = RX_DATA_IN; return RX_DATA_OUT; }
spp Karol_scramble_RX(spp RX_DATA_IN, int i) { static spp RX_FEEDBACK [4] = {0,0,0,0}; spp RX_DATA_OUT(0); RX_DATA_OUT[ 0] = RX_DATA_IN[ 0] ^ RX_FEEDBACK[i][ 0] ^ RX_FEEDBACK[i] [ 2]; RX_DATA_OUT[ 1] = RX_DATA_IN[ 1] ^ RX_FEEDBACK[i][ 1] ^ RX_FEEDBACK[i] [ 3]; RX_DATA_OUT[ 2] = RX_DATA_IN[ 2] ^ RX_FEEDBACK[i][ 2] ^ RX_FEEDBACK[i] [ 4]; RX_DATA_OUT[ 3] = RX_DATA_IN[ 3] ^ RX_FEEDBACK[i][ 3] ^ RX_FEEDBACK[i] [ 5]; RX_DATA_OUT[ 4] = RX_DATA_IN[ 4] ^ RX_FEEDBACK[i][ 4] ^ RX_FEEDBACK[i] [ 6]; RX_DATA_OUT[ 5] = RX_DATA_IN[ 5] ^ RX_FEEDBACK[i][ 5] ^ RX_FEEDBACK[i] [ 7]; RX_DATA_OUT[ 6] = RX_DATA_IN[ 6] ^ RX_FEEDBACK[i][ 6] ^ RX_FEEDBACK[i] [ 8]; RX_DATA_OUT[ 7] = RX_DATA_IN[ 7] ^ RX_FEEDBACK[i][ 7] ^ RX_FEEDBACK[i] [ 9]; RX_DATA_OUT[ 8] = RX_DATA_IN[ 8] ^ RX_FEEDBACK[i][ 8] ^ RX_FEEDBACK[i] [10]; RX_DATA_OUT[ 9] = RX_DATA_IN[ 9] ^ RX_FEEDBACK[i][ 9] ^ RX_FEEDBACK[i] [11]; RX_DATA_OUT[10] = RX_DATA_IN[10] ^ RX_FEEDBACK[i][10] ^ RX_FEEDBACK[i] [12]; RX_DATA_OUT[11] = RX_DATA_IN[11] ^ RX_FEEDBACK[i][11] ^ RX_FEEDBACK[i] [13]; RX_DATA_OUT[12] = RX_DATA_IN[12] ^ RX_FEEDBACK[i][12] ^ RX_FEEDBACK[i] [14]; RX_DATA_OUT[13] = RX_DATA_IN[13] ^ RX_FEEDBACK[i][13] ^ RX_FEEDBACK[i] [15]; RX_DATA_OUT[14] = RX_DATA_IN[14] ^ RX_FEEDBACK[i][14] ^ RX_FEEDBACK[i] [16]; RX_DATA_OUT[15] = RX_DATA_IN[15] ^ RX_FEEDBACK[i][15] ^ RX_FEEDBACK[i] [17]; RX_DATA_OUT[16] = RX_DATA_IN[16] ^ RX_FEEDBACK[i][16] ^ RX_FEEDBACK[i] [18]; RX_DATA_OUT[17] = RX_DATA_IN[17] ^ RX_FEEDBACK[i][17] ^ RX_FEEDBACK[i] [19]; RX_DATA_OUT[18] = RX_DATA_IN[18] ^ RX_FEEDBACK[i][18] ^ RX_FEEDBACK[i] [20]; RX_DATA_OUT[19] = RX_DATA_IN[19] ^ RX_FEEDBACK[i][19] ^ RX_FEEDBACK[i] [21]; RX_DATA_OUT[20] = RX_DATA_IN[20] ^ RX_FEEDBACK[i][20] ^ RX_FEEDBACK[i] [22]; RX_DATA_OUT[21] = RX_DATA_IN[21] ^ RX_FEEDBACK[i][21] ^ RX_FEEDBACK[i] [23]; RX_DATA_OUT[22] = RX_DATA_IN[22] ^ RX_FEEDBACK[i][22] ^ RX_FEEDBACK[i] [24]; RX_DATA_OUT[23] = RX_DATA_IN[23] ^ RX_FEEDBACK[i][23] ^ RX_FEEDBACK[i] [25]; RX_DATA_OUT[24] = RX_DATA_IN[24] ^ RX_FEEDBACK[i][24] ^ RX_FEEDBACK[i] [26]; RX_DATA_OUT[25] = RX_DATA_IN[25] ^ RX_FEEDBACK[i][25] ^ RX_FEEDBACK[i] [27]; RX_DATA_OUT[26] = RX_DATA_IN[26] ^ RX_FEEDBACK[i][26] ^ RX_FEEDBACK[i] [28]; RX_DATA_OUT[27] = RX_DATA_IN[27] ^ RX_FEEDBACK[i][27] ^ RX_FEEDBACK[i] [29]; RX_DATA_OUT[28] = RX_DATA_IN[28] ^ RX_FEEDBACK[i][28] ^ RX_DATA_IN[ 0]; RX_DATA_OUT[29] = RX_DATA_IN[29] ^ RX_FEEDBACK[i][29] ^ RX_DATA_IN[ 1]; RX_FEEDBACK[i] = RX_DATA_IN; return RX_DATA_OUT; }