diff --git a/src/lcd/lcd.c b/src/lcd/lcd.c
deleted file mode 100644
index d5f7ea57d35a4eaf8e37774722b174db097a55a6..0000000000000000000000000000000000000000
--- a/src/lcd/lcd.c
+++ /dev/null
@@ -1,340 +0,0 @@
-/*  Author: Steve Gunn
- * Licence: This work is licensed under the Creative Commons Attribution License.
- *           View this license at http://creativecommons.org/about/licenses/
- *
- *  
- *  - Jan 2015  Modified for LaFortuna (Rev A, black edition) [KPZ]
- */
-
-#include <avr/io.h>
-#include <avr/interrupt.h>
-#include <util/delay.h>
-#include "font.h"
-#include "ili934x.h"
-#include "lcd.h"
-
-lcd display;
-
-void init_lcd()
-{
-    /* Enable extended memory interface with 10 bit addressing */
-    XMCRB = _BV(XMM2) | _BV(XMM1);
-    XMCRA = _BV(SRE);
-    DDRC |= _BV(RESET);
-    DDRB |= _BV(BLC);
-    _delay_ms(1);
-    PORTC &= ~_BV(RESET);
-    _delay_ms(20);
-    PORTC |= _BV(RESET);
-    _delay_ms(120);
-    write_cmd(DISPLAY_OFF);
-    write_cmd(SLEEP_OUT);
-    _delay_ms(60);
-    write_cmd_data(INTERNAL_IC_SETTING,          0x01);
-    write_cmd(POWER_CONTROL_1);
-        write_data16(0x2608);
-    write_cmd_data(POWER_CONTROL_2,              0x10);
-    write_cmd(VCOM_CONTROL_1);
-        write_data16(0x353E);
-    write_cmd_data(VCOM_CONTROL_2, 0xB5);
-    write_cmd_data(INTERFACE_CONTROL, 0x01);
-        write_data16(0x0000);
-    write_cmd_data(PIXEL_FORMAT_SET, 85);     /* 16bit/pixel */
-    set_orientation(West);
-    clear_screen();
-    display.x = 0;
-    display.y = 0;
-    display.background = BLACK;
-    display.foreground = GREEN;
-    write_cmd(DISPLAY_ON);
-    _delay_ms(50);
-    write_cmd_data(TEARING_EFFECT_LINE_ON, 0x00);
-    EICRB |= _BV(ISC61);
-    PORTB |= _BV(BLC);
-}
-
-void lcd_brightness(uint8_t i)
-{
-    /* Configure Timer 2 Fast PWM Mode 3 */
-    TCCR2A = _BV(COM2A1) | _BV(WGM21) | _BV(WGM20);
-    TCCR2B = _BV(CS20);
-    OCR2A = i;
-}
-
-void set_orientation(orientation o)
-{
-    display.orient = o;
-    write_cmd(MEMORY_ACCESS_CONTROL);
-    if (o==North) { 
-        display.width = LCDWIDTH;
-        display.height = LCDHEIGHT;
-        write_data(0x48);
-    }
-    else if (o==West) {
-        display.width = LCDHEIGHT;
-        display.height = LCDWIDTH;
-        write_data(0xE8);
-    }
-    else if (o==South) {
-        display.width = LCDWIDTH;
-        display.height = LCDHEIGHT;
-        write_data(0x88);
-    }
-    else if (o==East) {
-        display.width = LCDHEIGHT;
-        display.height = LCDWIDTH;
-        write_data(0x28);
-    }
-    write_cmd(COLUMN_ADDRESS_SET);
-    write_data16(0);
-    write_data16(display.width-1);
-    write_cmd(PAGE_ADDRESS_SET);
-    write_data16(0);
-    write_data16(display.height-1);
-}
-
-
-
-void set_frame_rate_hz(uint8_t f)
-{
-    uint8_t diva, rtna, period;
-    if (f>118)
-        f = 118;
-    if (f<8)
-        f = 8;
-    if (f>60) {
-        diva = 0x00;
-    } else if (f>30) {
-        diva = 0x01;
-    } else if (f>15) {
-        diva = 0x02;
-    } else {
-        diva = 0x03;
-    }
-    /*   !!! FIXME !!!  [KPZ-30.01.2015] */
-    /*   Check whether this works for diva > 0  */
-    /*   See ILI9341 datasheet, page 155  */
-    period = 1920.0/f;
-    rtna = period >> diva;
-    write_cmd(FRAME_CONTROL_IN_NORMAL_MODE);
-    write_data(diva);
-    write_data(rtna);
-}
-
-void fill_rectangle(rectangle r, uint16_t col)
-{
-    setupDraw(r);
-/*  uint16_t x, y;
-    for(x=r.left; x<=r.right; x++)
-        for(y=r.top; y<=r.bottom; y++)
-            write_data16(col);
-*/
-    uint16_t wpixels = r.right - r.left + 1;
-    uint16_t hpixels = r.bottom - r.top + 1;
-    uint8_t mod8, div8;
-    uint16_t odm8, odd8;
-    if (hpixels > wpixels) {
-        mod8 = hpixels & 0x07;
-        div8 = hpixels >> 3;
-        odm8 = wpixels*mod8;
-        odd8 = wpixels*div8;
-    } else {
-        mod8 = wpixels & 0x07;
-        div8 = wpixels >> 3;
-        odm8 = hpixels*mod8;
-        odd8 = hpixels*div8;
-    }
-    uint8_t pix1 = odm8 & 0x07;
-    while(pix1--)
-        write_data16(col);
-
-    uint16_t pix8 = odd8 + (odm8 >> 3);
-    while(pix8--) {
-        write_data16(col);
-        write_data16(col);
-        write_data16(col);
-        write_data16(col);
-        write_data16(col);
-        write_data16(col);
-        write_data16(col);
-        write_data16(col);
-    }
-}
-
-void fill_rectangle_indexed(rectangle r, uint16_t* col)
-{
-    uint16_t x, y;
-    setupDraw(r);
-    for(x=r.left; x<=r.right; x++)
-        for(y=r.top; y<=r.bottom; y++)
-            write_data16(*col++);
-}
-
-void fill_rectangle_indexed_MEM(rectangle r, PGM_P imgdata)
-{
-    uint16_t x, y;
-    rectangleInRegion(&r);
-    setupDraw(r);
-    uint16_t pixVal;
-    for(x=r.left; x<=r.right; x++)
-        for(y=r.top; y<=r.bottom; y++){
-            pixVal = pgm_read_word(imgdata);
-            imgdata+=2;
-            write_data16(pixVal);
-        }
-}
-
-void compositeTest(rectangle r, uint16_t* copyReg){
-    uint16_t x, y;
-    write_cmd(COLUMN_ADDRESS_SET);
-    write_data16(r.left);
-    write_data16(r.right);
-    write_cmd(PAGE_ADDRESS_SET);
-    write_data16(r.top);
-    write_data16(r.bottom);
-    write_cmd(MEMORY_READ);
-    uint16_t* ptr = copyReg;read_data();
-    for(x=r.left; x<=r.right; x++)
-        for(y=r.top; y<=r.bottom; y++){
-            unsigned char p0 = read_data();
-            unsigned char p1 = read_data();
-            unsigned char p2 = read_data();
-            unsigned char r = p0 >> 2;
-            unsigned char g = p1 >> 2;
-            unsigned char b = p2 >> 2;
-            *ptr = (((uint16_t)b)>>1) + (((uint16_t)g) << 5) + ((((uint16_t)r)>>1) << 11);
-            ptr+=2;
-        }
-
-    write_cmd(MEMORY_WRITE);
-    ptr = copyReg;
-    for(x=r.left; x<=r.right; x++)
-        for(y=r.top; y<=r.bottom; y++){
-            write_data16(*ptr);
-            ptr+=2;
-        }
-}
-
-void screenDump(rectangle r){
-    write_cmd(COLUMN_ADDRESS_SET);
-    write_data16(r.left);
-    write_data16(r.right);
-    write_cmd(PAGE_ADDRESS_SET);
-    write_data16(r.top);
-    write_data16(r.bottom);
-    write_cmd(MEMORY_READ);
-    uint16_t x, y;
-    read_data(); //Throw away a byte
-    for(x=r.left; x<=r.right; x++)
-        for(y=r.top; y<=r.bottom; y++){
-            unsigned char r = read_data() >> 2;
-            unsigned char g = read_data() >> 2;
-            unsigned char b = read_data() >> 2;
-            uint16_t value = (((uint16_t)b)>>1) + (((uint16_t)g) << 5) + ((((uint16_t)r)>>1) << 11);
-        }
-}
-
-void clear_screen()
-{
-    display.x = 0;
-    display.y = 0;
-    rectangle r = {0, display.width-1, 0, display.height-1};
-    fill_rectangle(r, display.background);
-}
-
-void display_char(char c)
-{
-    if (c == '\n') {
-        display.x = 0;
-        display.y += 16;
-    }
-    if (display.y > 200) {
-        display.y = 0;
-        rectangle r;
-        r.left = 0;
-        r.right = 319;
-        r.top = 0;
-        r.bottom = 239;
-        fill_rectangle(r, 0);
-    }
-
-    uint16_t x, y;
-    PGM_P fdata;
-    uint8_t bits, mask;
-    uint16_t sc=display.x, ec=display.x + 4, sp=display.y, ep=display.y + 7;
-
-    if (c < 32 || c > 126) return;
-    fdata = (c - ' ')*5 + font5x7;
-    write_cmd(PAGE_ADDRESS_SET);
-    write_data16(sp);
-    write_data16(ep);
-    for(x=sc; x<=ec; x++) {
-        write_cmd(COLUMN_ADDRESS_SET);
-        write_data16(x);
-        write_data16(x);
-        write_cmd(MEMORY_WRITE);
-        bits = pgm_read_byte(fdata++);
-        for(y=sp, mask=0x01; y<=ep; y++, mask<<=1)
-                write_data16((bits & mask) ? display.foreground : display.background);
-    }
-    write_cmd(COLUMN_ADDRESS_SET);
-    write_data16(x);
-    write_data16(x);
-    write_cmd(MEMORY_WRITE);
-    for(y=sp; y<=ep; y++)
-            write_data16(display.background);
-
-    display.x += 6;
-    if (display.x >= display.width) { display.x=0; display.y+=8; }
-}
-
-void display_string(char *str)
-{
-    uint8_t i;
-    for(i=0; str[i]; i++) 
-        display_char(str[i]);
-}
-
-void display_string_xy(char *str, uint16_t x, uint16_t y)
-{
-    uint8_t i;
-    display.x = x;
-    display.y = y;
-    for(i=0; str[i]; i++)
-        display_char(str[i]);
-}
-
-void rectangleInRegion(rectangle* r){ //LETS FIX STUFFFF!!
-    if(r->top > r->bottom)
-        r->top = r->bottom;
-    if(r->top > 32000)
-        r->top = 0;
-    if(r->bottom > 32000)
-        r->bottom = 0;
-    if(r->top >= display.height)
-        r->top = display.height-1;
-    if(r->bottom >= display.height)
-        r->bottom = display.height-1;
-
-    if(r->left > r->right)
-        r->left = r->right;
-    if(r->left > 32000)
-        r->left = 0;
-    if(r->right > 32000)
-        r->right = 0;
-    if(r->left >= display.width)
-        r->left = display.width-1;
-    if(r->right >= display.width)
-        r->right = display.width-1;
-}
-
-void setupDraw(rectangle r){
-    write_cmd(COLUMN_ADDRESS_SET);
-    write_data16(r.left);
-    write_data16(r.right);
-    write_cmd(PAGE_ADDRESS_SET);
-    write_data16(r.top);
-    write_data16(r.bottom);
-    write_cmd(MEMORY_WRITE);
-}
-