 
 void game_draw_char(uint8_t c, int x, int y, uint8_t color)
 {
-    if (game_render_y < (y & 0xf) || game_render_y >= (y & 0xf) + FONT_HEIGHT)
+    if (game_render_y < (y & ADDR_LOW) || game_render_y >= (y & ADDR_LOW) + FONT_HEIGHT)
         return;
-    int pos = (int)c * FONT_HEIGHT + (game_render_y - (y & 0xf));
+    int pos = (int)c * FONT_HEIGHT + (game_render_y - (y & ADDR_LOW));
     uint8_t d = pgm_read_byte_near(font_data + pos);
     for (int i = 0; i < FONT_WIDTH; ++i)
     {
         if ((d >> (FONT_WIDTH - 1 - i)) & 1)
         {
-            game_render_buf[x + i + ((y & 0xf0) << 2)] = game_make_color(color);
+            game_render_buf[x + i + ((y & ADDR_HIGH) << ADDR_SHIFT)] = game_make_color(color);
         }
     }
 }

    addrcpin  = digitalPinToBitMask(C); 
    addrdport = portOutputRegister(digitalPinToPort(D));
    addrdpin  = digitalPinToBitMask(D); 

    clockport = portOutputRegister(digitalPinToPort(CLOCK));
    clockpin  = digitalPinToBitMask(CLOCK); 

    pinMode(B, OUTPUT);
    pinMode(C, OUTPUT);
    pinMode(D, OUTPUT);
#ifdef E
    pinMode(E, OUTPUT);
#endif

    pinMode(IR1, OUTPUT);
    pinMode(IG1, OUTPUT);
