Okay thank you both for the feedback. I have gone through the initialization that is in the Adafruit libraries for the Blacktab parameter. I don't know whether this is the right option but again the documentation is poor for the libraries so I didn't know which to use so I went with the simplest.
This is my initialization followed by my write to the memory:
//Display initialization
void init_display(void){
uint8_t command[1]; //Initialize send buffer
uint8_t data[6]; //Initialize send buffer
// 1: Software reset, 0 args, w/150 ms delay
command[0] = ST7735_SWRESET;
TFT_Write(command, 1, CMD);
delay(150);
// 2: Out of sleep mode, 0 args, w/500 ms delay
command[0] = ST7735_SLPOUT;
TFT_Write(command, 1, CMD);
delay(500);
// 3: Frame rate ctrl - normal mode, 3 args: Rate = fosc/(1x2+40) * (LINE+2C+2D)
command[0] = ST7735_FRMCTR1;
data[0] = 0x01;
data[1] = 0x2C;
data[2] = 0x2D;
TFT_Write(command, 1, CMD);
TFT_Write(data, 3, DATA);
// 4: Frame rate control - idle mode, 3 args: Rate = fosc/(1x2+40) * (LINE+2C+2D)
command[0] = ST7735_FRMCTR2;
data[0] = 0x01;
data[1] = 0x2C;
data[2] = 0x2D;
TFT_Write(command, 1, CMD);
TFT_Write(data, 3, DATA);
// 5: Frame rate ctrl - partial mode, 6 args: Dot inversion mode, Line inversion mode
command[0] = ST7735_FRMCTR3;
data[0] = 0x01;
data[1] = 0x2C;
data[2] = 0x2D;
data[3] = 0x01;
data[4] = 0x2C;
data[5] = 0x2D;
TFT_Write(command, 1, CMD);
TFT_Write(data, 6, DATA);
// 6: Display inversion ctrl, 1 arg, no delay: No inversion
command[0] = ST7735_INVCTR;
data[0] = 0x07;
TFT_Write(command, 1, CMD);
TFT_Write(data, 1, DATA);
// 7: Power control, 3 args, no delay: -4.6V, Auto
command[0] = ST7735_PWCTR1;
data[0] = 0xA2;
data[1] = 0x02;
data[2] = 0x84;
TFT_Write(command, 1, CMD);
TFT_Write(data, 3, DATA);
// 8: Power control, 1 arg, no delay: VGH25 = 2.4C VGSEL = -10 VGH = 3 * AVDD
command[0] = ST7735_PWCTR2;
data[0] = 0xC5;
TFT_Write(command, 1, CMD);
TFT_Write(data, 1, DATA);
// 9: Power control, 2 args, no delay: Opamp current small, Boost frequency
command[0] = ST7735_PWCTR3;
data[0] = 0x0A;
data[1] = 0x00;
TFT_Write(command, 1, CMD);
TFT_Write(data, 2, DATA);
// 10: Power control, 2 args, no delay: BCLK/2, Opamp current small & Medium low
command[0] = ST7735_PWCTR4;
data[0] = 0x8A;
data[1] = 0x2A;
TFT_Write(command, 1, CMD);
TFT_Write(data, 2, DATA);
// 11: Power control, 2 args, no delay
command[0] = ST7735_PWCTR5;
data[0] = 0x8A;
data[1] = 0xEE;
TFT_Write(command, 1, CMD);
TFT_Write(data, 2, DATA);
// 12: Power control, 1 arg, no delay:
command[0] = ST7735_VMCTR1;
data[0] = 0x0E;
TFT_Write(command, 1, CMD);
TFT_Write(data, 1, DATA);
// 13: Don't invert display, no args, no delay
command[0] = ST7735_INVON;
TFT_Write(command, 1, CMD);
// 14: Memory access control (directions), 1 arg:
command[0] = ST7735_MADCTL;
data[0] = 0xC0;
TFT_Write(command, 1, CMD);
TFT_Write(data, 1, DATA);
// 15: set color mode, 1 arg, no delay:
command[0] = ST7735_COLMOD;
data[0] = 0x05;
TFT_Write(command, 1, CMD);
TFT_Write(data, 1, DATA);
}
//Draw a bitmap to the display
void draw_bmp_display(uint8_t* TxBuffer){
uint8_t colstart = 2;
uint8_t rowstart = 1;
uint8_t command[1]; //Initialize send buffer
uint8_t data[4]; //Initialize send buffer
command[0] = ST7735_CASET;
data[0] = 0x00;
data[1] = colstart;
data[2] = 0x00;
data[3] = colstart + 159;
TFT_Write(command, 1, CMD);
TFT_Write(data, 4, DATA);
command[0] = ST7735_RASET;
data[0] = 0x00;
data[1] = rowstart;
data[2] = 0x00;
data[3] = rowstart + 127;
TFT_Write(command, 1, CMD);
TFT_Write(data, 4, DATA);
command[0] = ST7735_RAMWR;
TFT_Write(command, 1, CMD);
for(int lines = 0; lines < 165; lines ++){ //Just a test for now dumping values to the memory.
TFT_Write(TxBuffer, 128, DATA);
}
}