I've had multiple cups of coffee tonight...
It's gonna work man! Just wait and see, ye of little faith...
#include <stdio.h>
int main()
{
int R, C, D, T, M[2][2][2][2]={
{
{
{{0},{1}},
{{2},{3}},
},
{
{{4},{5}},
{{6},{7}},
},
},
{
{
{{8},{9}},
{{0xA},{0xB}},
},
{ {{0xC},{0xD}},
{{0xE},{0xF}},
},
}
};
for(R = 0; R < 2; R++) {
for(C = 0; C < 2; C++) {
for(D = 0; D < 2; D++) {
for(T = 0; T < 2; T++) {
if(R==0){M[R][C][D][T]=0x8888;}
printf("MATRIX[%d][%d][%d][%d] = %04X\n",R, C, D, T, M[R][C][D][T]);
}
}
}
}
return 0;
}
MATRIX[0][0][0][0] = 8888
MATRIX[0][0][0][1] = 8888
MATRIX[0][0][1][0] = 8888
MATRIX[0][0][1][1] = 8888
MATRIX[0][1][0][0] = 8888
MATRIX[0][1][0][1] = 8888
MATRIX[0][1][1][0] = 8888
MATRIX[0][1][1][1] = 8888
MATRIX[1][0][0][0] = 0008
MATRIX[1][0][0][1] = 0009
MATRIX[1][0][1][0] = 000A
MATRIX[1][0][1][1] = 000B
MATRIX[1][1][0][0] = 000C
MATRIX[1][1][0][1] = 000D
MATRIX[1][1][1][0] = 000E
MATRIX[1][1][1][1] = 000F
Perhaps prototype/ simulate it first in code?