Currently I got a lot of fun with a ILI9341 based LCD module (240x320). From the documentation I've learned to set an address window to send pixel data to the display controller. If I got it right, I have to send the pixels row-wise, i.e. all pixels of the first row, then 2nd row and so on. But when I set the address window to 100x100 and simply send 100 pixels, I get a vertical line. So I have to send the pixels column-wise. And that works the same for all possible orientations (X-flip, Y-flip, XY-exchange).
The next strange thing I've found is that I have to swap X (columns) and Y (pages/rows) for the address window to place my drawing box, e.g. for a character, at the correct position. That means start/end column goes into the page address set command and start/end page into the column address set command. Otherwise the next character wouldn't be drawn right of the last one, but beneath it. Again, the same for all display orientations.
I've tripple-checked everything, so I'm a little bit puzzled. Is the documentation wrong or is my Chinglish too bad? Or is there anything else I've missed?