I think it’s tough, but a curiosity now,
Code:
    LCDDATA11.1 = PATTERN.7
How did you define these?
Is PATTERN a single byte you are looking at bits 0-7,
and LCDDATA, there are 11 bytes, and you look at bits 0-7 of all 11 bytes?

I’ve not used that syntax before, but PATTERN.bit7 (to address a bit), or PATTERN[7] (to address a byte).