I have found what appears to be a discrepancy between the OpenMSX V9990 emulation and real hardware.
In my game I fill the background by filling a 4x192 pixel strip on the far left of the screen, and then doing an LMMM copy of area sized (252,192) from (0,0) to (4,0)... the idea being that the copy reads the bytes it just wrote, and fills the whole screen.
This works fine on OpenMSX, but on the real hardware it appears there is a 2 byte cache or other delay of some kind ,as the function was not writing the data it had just read, causing a 'streaking' of objects that got worse over time.
Changing the width of the copied area to 8 pixels resolved the issue.
I have a photo of the screen below, right is the correct one, left is the faulty one... note that even if the gradient was not copying, the 'flag' of the castle should have copied all the way across the screen if the copy command was working as expected.
Thanks,
Keith
http://www.chibiakumas.com/download/V9990Bug.png