Ich würde die ganze Sache mit dem Array in Assembler lösen.
Externen Speicher habe ich auch shcon angeschloßen (512K) und habe das Speicherinterface links liegen lassen und alles "von Hand" gemacht. War bei mir mit ienem ATmega162.