Using ILI9488

What TFT library are you using?

If your library can be configured for ILI9486 and ILI9488, the library readPixel(x, y) method will do the appropriate conversions.

If you are trying to do the low-level read yourself, it is just a question of following the coloured timing diagrams in the datasheet.

What hardware do you have?
I have only tested the MCUFRIEND_kbv library with SSD1963 on a readable 8080-16 data bus.
And the SSD1963 reads 565 and not 888.
I own many read-write 8080-8 displays, several write-only 8080-16 displays, only a SSD1963 read-write 8080-16.

You can do a simple hardware mod to the "ColdTears 40-pin Adapter for Due" shield to make it readable.
Most "Adapter for Mega" shields can not be modified.

David.

Edit. It looks as if your TFT controller is on an external address bus. Most Arduino style electronics are bashed by GPIO. Your conditional code looks fine to me. (assuming the uint16_t f = *p_lcdAddr; statement strobes the LCD_RD pin appropriately)