I see you have tried to map the UNO Arduino designation for pins onto the Mega Core pins thinking this makes it compatible. Unfortunately the Arduino pin numbers are abstracted from the real bit register allocations in different processors and this means that bits get scattered inconveniently when trying to use pins as a parallel port (8 bits in this case).
So you have ended up with display data pin to Atmega2561 port bit allocation that is rather inconvenient:
TFT Mega Core port and bit
D0 PA5
D1 PA4
D2 PC5
D3 PC6
D4 PC7
D5 PG2
D6 PA7
D7 PA6
This means you will need to do 6 shift operations to get the bits from the data value into the right bit position in each port, plus all the assocaited ANDs and ORs. So the "Leonardo w/Breakout board" example is going to be a better indicator of how this has to be done.
Essentially what you need to do is use the AND (&), OR (|) and shift (<< or >>) operators to isolate the bits to shift and combine into the registers. Read this too. Dont forget you need to do the reverse shifts for reading the display too (if this is needed) and also you need to set the right bits in the direction control registers of each port.
As David says, the penalty for this rather random bit mapping is going to be slower updates of the screen, whether this matters depends on you needs.
I guess you now realize that mapping D0-7 to PA0-7 would have made life so much easier. If you decide to re-layout the PCB then I would get the rest of your project running using the serial port for debugging in case there are other "gotchas" in the design, and salvage a board by lifting pins and hand wiring up the PA0-7 pins to test the display actually works.