Confusing Behavior with 2D Array in Flash

Ah, that's making more sense. I've re-worked my code to just have the whole thing declared as a single 2D array because that's a little easier to understand at a quick glance.

One thing I'm still a bit confused on, if I used a hardcoded index it worked fine, but if I used a variable it failed. Any thoughts on why that be?

For example, the following would fail:

Serial.print(pgm_read_byte(&(array[i][j])), DEC);

But this would print the correct data:

Serial.print(pgm_read_byte(&(array[0][j])), DEC);

I see why the code itself is wrong, but I don't understand why hardcoding the first index would allow it to work. Obviously I'd rather just code this correctly, but I'd like to understand this better because it tripped me up for the better part of a day.

Thanks!