make sure that only one thing reads from chipram at at time:
chargen or painter.
advance colour ram address each character.
try to fix chargen buffer reading address reset (seems to be free running).
add debug logic for raster buffer read and write addresses.