Got the HIRES working pretty fast after text mode was working, but had some issues with Defence Force and Impossible Mission in the forced text region (bottom 3 text lines). Defence force the ground looked like it was repeating but condenced so obviously something wrong with the character lookup. Then I checked the reference and it struck me, it was using double height text which I hadn't implemented yet. Once that was in order it looked perfect.
Impossible Mission was a bit more tricky. The game is supposed to show only black in the bottom three lines, but for some reasons OCULA was sometimes showing striped blocks. Firing up Oricutron with Impossible Mission and inspecting the memory at that text region showed the game uses it for extra storage but hides it by setting ink to black at the beginning of the line. It also took care to not use the upper bit in the data stored there so the inversion attribute wouldn't be triggered. But for some reason OCULA still triggered inversion. Turned out I had forgotten to mask out the upper bits when fetching the character data, which in this case was other data. So some times the data had the upper bit set and triggered video inversion for that line.
I've tested the diag ROM, and RAM and graphics is passing (including double height and flashing). For some reason it fails to detect the VIA, which is very odd, but just as sign we're far from done

(Sorry for the different hues in the pictures, I've got a bad connection in my cable again)