Parallel EEPROM programmer writing wrong bytes


I am building a homebrew Z80 system and have got to the stage where I need to burn a ROM image. Not wanting to reinvent the wheel I searched around to see if anyone had made an arduino based EEPROM programmer and lo and behold they have (project page and there is a forum post documenting the project here)

Even has a nice java GUI to boot. My problem is that when I write an image, then read it back and run it through a difference checker, there are about 30 bytes different at the start of certain 256 byte write cycles.

I'm using an Atmel AT28C256 and an arduino UNO. Wondering if anyone has any solutions to this problem?

Link to difference check