I tested on atmega16/32 16 bit and 8 bit mode. use only #define to change mode.
define LCD_SET_DBH(x) LCD_HI_PORT = x; \
LCD_SET_LATCH(); \ LCD_CLR_LATCH();
define LCD_SET_DBH(x) LCD_HI_PORT = x
It use more 2 instruction to latch hi value. Other is the same. speed is not difference so much. You can view code on www.circuitidea.com Font is convert to .h by font editor. You need to know. AVR have more power. Arduino is simply for every one. But it is 8 bit with 28 pin. Peti fatfs form chan is read only, single file system. But it take a little ram. elm-chan.org/fsw/ff/00index_p.html Design idea - We want to use LCD TFT QVGA. It use data 16 pin and control 5 pin. to use with arduino or small avr. we add latch chip to go to 8 bit 8 pin. using write mode only drop read pin. and put reset pin to AVR reset. - Screen is not enough for application. We need more shield. But each shield design there own. It's hard to bundle to a project. - We need storage. we add SD card. - We write application. We found. We lost time keeper RTC. In new release we put it. Swap some pin for I2C port.