
I guess it is not a bug....just the most pitiful implementation of external memory I have ever seen. You need to fix it in software with an inline that looks at the address you are reading and return either the high or low byte based on even/odd addresses.
Can't even fix it in hardware because reads don't use the upper/lower byte enable pins (both always active), and address bus, externally, comes pre-shifted losing A0.
Can't use memcpy, strcpy, or ANY library that might do a byte read.
Get this...writes work perfectly because byte lane selection works for those.
English























