I arbitrarily grabbed a tube of HM628128ALP EEPROMs from the shelf, slapped one in my little arduino-based programmer, and gave it a quick test and... oddly... I get no odd values read from the ROM in my little displayContents table, instead I get the data from address 0 showing for both address 0 and address 1, the data from address 2 for both 2 and 3, and so on:
000: 2a 2a 0d 0d 2f 2f 34 34 39 39 1a 1a 14 14 0c 0c
...
When I read the odd values outside of a loop, they all read fine. After a while of fooling around I split the ROM-reading loop into an even loop and an odd loop and everything works great.
Has anyone ever seen this before? I don't see it as a "feature" in the datasheet anywhere. I get this for all of my HM628128ALPs but not other EEPROMS.