// Form Characters on 32x32 LED Display
//
// Uses a fairly standard 32x32 matrix display (similar to Adafruit version).
// Written by Boomer48: January 2021

// Make routines globally visible
void Display_String(char value[5], byte Line_Y);
//----------------------------------------------------------------------------

void Display_A(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 4);
}

void Display_B(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_C(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_D(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_E(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
  bitSet(cells[y + 6], x + 4);
}

void Display_F(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 6], x);
}

void Display_G(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_H(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 4);
}

void Display_I(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x + 2);
  bitSet(cells[y + 2], x + 2);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 5], x + 2);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_J(byte x, byte y) {
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_K(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 3);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 2);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 3);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 4);
}

void Display_L(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
  bitSet(cells[y + 6], x + 4);
}

void Display_M(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 1);
  bitSet(cells[y + 1], x + 3);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 2);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 4);
}

void Display_N(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 1);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 2);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 4);
}

void Display_O(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_P(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 6], x);
}

void Display_Q(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 3);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 4);
}

void Display_R(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 3);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 4);
}

void Display_S(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_T(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x + 2);
  bitSet(cells[y + 2], x + 2);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 5], x + 2);
  bitSet(cells[y + 6], x + 2);
}

void Display_U(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_V(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x + 1);
  bitSet(cells[y + 5], x + 3);
  bitSet(cells[y + 6], x + 2);
}

void Display_W(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 1);
  bitSet(cells[y + 5], x + 3);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 4);
}

void Display_X(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x + 1);
  bitSet(cells[y + 2], x + 3);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 4], x + 1);
  bitSet(cells[y + 4], x + 3);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 4);
}

void Display_Y(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 5], x + 2);
  bitSet(cells[y + 6], x + 2);
}

void Display_Z(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x + 3);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 4], x + 1);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
  bitSet(cells[y + 6], x + 4);
}

void Display_0(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 3);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 4);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 1);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_1(byte x, byte y) {
  bitSet(cells[y], x + 2);
  bitSet(cells[y + 1], x + 1);
  bitSet(cells[y + 1], x + 2);
  bitSet(cells[y + 2], x + 2);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 5], x + 2);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_2(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 5], x + 1);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
  bitSet(cells[y + 6], x + 4);
}

void Display_3(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_4(byte x, byte y) {
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x + 2);
  bitSet(cells[y + 1], x + 3);
  bitSet(cells[y + 2], x + 1);
  bitSet(cells[y + 2], x + 3);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 1);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 4], x + 3);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x + 3);
  bitSet(cells[y + 6], x + 3);
}

void Display_5(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_6(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 3], x);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_7(byte x, byte y) {
  bitSet(cells[y], x);
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y], x + 4);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x + 3);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 4], x + 2);
  bitSet(cells[y + 5], x + 2);
  bitSet(cells[y + 6], x + 2);
}

void Display_8(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_9(byte x, byte y) {
  bitSet(cells[y], x + 1);
  bitSet(cells[y], x + 2);
  bitSet(cells[y], x + 3);
  bitSet(cells[y + 1], x);
  bitSet(cells[y + 1], x + 4);
  bitSet(cells[y + 2], x);
  bitSet(cells[y + 2], x + 4);
  bitSet(cells[y + 3], x + 1);
  bitSet(cells[y + 3], x + 2);
  bitSet(cells[y + 3], x + 3);
  bitSet(cells[y + 4], x + 4);
  bitSet(cells[y + 5], x + 4);
  bitSet(cells[y + 6], x + 1);
  bitSet(cells[y + 6], x + 2);
  bitSet(cells[y + 6], x + 3);
}

void Display_String(char value[5], byte Line_Y) {
  byte Line_X;

  for (byte x = 0; x < 5; x++)
  {
    Line_X = (x * 6) + 1;

    switch (value[x]) {
      case 'A':
        Display_A(Line_X, Line_Y);
        break;
      case 'B':
        Display_B(Line_X, Line_Y);
        break;
      case 'C':
        Display_C(Line_X, Line_Y);
        break;
      case 'D':
        Display_D(Line_X, Line_Y);
        break;
      case 'E':
        Display_E(Line_X, Line_Y);
        break;
      case 'F':
        Display_F(Line_X, Line_Y);
        break;
      case 'G':
        Display_G(Line_X, Line_Y);
        break;
      case 'H':
        Display_H(Line_X, Line_Y);
        break;
      case 'I':
        Display_I(Line_X, Line_Y);
        break;
      case 'J':
        Display_J(Line_X, Line_Y);
        break;
      case 'K':
        Display_K(Line_X, Line_Y);
        break;
      case 'L':
        Display_L(Line_X, Line_Y);
        break;
      case 'M':
        Display_M(Line_X, Line_Y);
        break;
      case 'N':
        Display_N(Line_X, Line_Y);
        break;
      case 'O':
        Display_O(Line_X, Line_Y);
        break;
      case 'P':
        Display_P(Line_X, Line_Y);
        break;
      case 'Q':
        Display_Q(Line_X, Line_Y);
        break;
      case 'R':
        Display_R(Line_X, Line_Y);
        break;
      case 'S':
        Display_S(Line_X, Line_Y);
        break;
      case 'T':
        Display_T(Line_X, Line_Y);
        break;
      case 'U':
        Display_U(Line_X, Line_Y);
        break;
      case 'V':
        Display_V(Line_X, Line_Y);
        break;
      case 'W':
        Display_W(Line_X, Line_Y);
        break;
      case 'X':
        Display_X(Line_X, Line_Y);
        break;
      case 'Y':
        Display_Y(Line_X, Line_Y);
        break;
      case 'Z':
        Display_Z(Line_X, Line_Y);
        break;
      case ' ':
        // Do nothing
        break;
      case '0':
        Display_0(Line_X, Line_Y);
        break;
      case '1':
        Display_1(Line_X, Line_Y);
        break;
      case '2':
        Display_2(Line_X, Line_Y);
        break;
      case '3':
        Display_3(Line_X, Line_Y);
        break;
      case '4':
        Display_4(Line_X, Line_Y);
        break;
      case '5':
        Display_5(Line_X, Line_Y);
        break;
      case '6':
        Display_6(Line_X, Line_Y);
        break;
      case '7':
        Display_7(Line_X, Line_Y);
        break;
      case '8':
        Display_8(Line_X, Line_Y);
        break;
      case '9':
        Display_9(Line_X, Line_Y);
        break;
    }
  }
}
