TFT Flicker and Colour Issues

I have a 3.5" MCUFriend LCD about which I previously posted, asking for help getting it working with an Arduino Mega. I have since gotten it to work on both a Mega and Uno, with the below exceptions, which constitute my current question:

  • display flickers
  • colours are incorrect (see attachment)

The driver is an ILI9488, and I am currently using a modified MCUFriend library posted here. The results are the same between the Uno and Mega, except the Mega is slower.

What is causing the colour and flicker issues?

The attached picture was generated with the below code.

#define RED     0xF800
#define GREEN   0x07E0
#define BLUE    0x001F
#define YELLOW  0xFFE0

tft.fillRect(0,0,TFTWIDTH/2,TFTHEIGHT/2,RED);                     //upper left
tft.fillRect(TFTWIDTH/2,0,TFTWIDTH/2,TFTHEIGHT/2,GREEN);          //upper right
tft.fillRect(TFTWIDTH/2,TFTHEIGHT/2,TFTWIDTH/2,TFTHEIGHT/2,BLUE); //lower right
tft.fillRect(0,TFTHEIGHT/2,TFTWIDTH/2,TFTHEIGHT/2,YELLOW);        //lower left