What does it mean (page 36 of the reference manual Apr06) that when in 16-bit mode the EMI outputs the address shifted? Is it ''regular''? As far as I know there are no memory devices that accept A0 not equal 0 when in 16-bit mode... I hope there is an error in the reference manual.
When you use a 16bit wide data bus the address is intended related with the word. If you need write the lower or higher byte of the word you have to use the emi_wrln and emi_wrhn.