Summary: tested, missing some change box.
I've tested your patch with qmeu-2.0.0 and it mostly works.
qemu-system-i386 -L . -bios emuofw.rom -hda fat:. -vga vmware
But when a burst of text occurs some of the screen is not updated. To reproduce, type show-devs at the ok prompt. See attached window capture.
Forcing an X refresh of qemu does not fix.
Forcing a screen scroll does fix.
Forcing a whole screen change in the Open Firmware driver does fix:
ok select /display screen-changed
Debugger with serial shows char-changed is being called by vm-draw-character.
My guess is that this may be a problem with the qemu-2.0.0 vmware driver, or that the burst of char-changed register writes is lost by qemu. Can you reproduce with later qemu?