Sorry to bother with, again, stupid things... but, I wonder, why the compiler doesn't manage a way to make boolean variables use 1 bit? Just wondering, like, it could have a list of 8 bit page variables and have 8 boolean variables on each. Anyway, I'm doing this manually, but I hope not in a stupid way that will make people laugh "HA HA!" when they see... :-[
// Multi Boolean Variable //
unsigned int multiBoolean1 = 0;
#define doLCDupdate 0
#define nextPatternReady 1
#define patternBufferN 2
void mB(uint8_t pos, uint8_t value)
{
 bitWrite(multiBoolean1,pos,value);
}
uint8_t mB(uint8_t pos)
{
 return bitRead(multiBoolean1,pos);
}
C doesn't actually have a "boolean" type; it's usually just a synonym for a convenient other native type (int or char)
Single bit variables tend to be expensive to access, although various "extended" features have sometimes allow boolean return values to be communicated via a CPU status bit rather than a full register.
Using bitfields will save a lot of memory (depending on how much booleans you need) but it uses extra code to strip the "bit out the byte". This is typical a memory against speed tradeoff, and it depends on the application.
Rethinking and redesigning your application - create a 2.0 version - leads to more gain that locally optimizing.