Hmm, thought I did something similar... if you look at my attempts, the solid colors (patterns 0,5,10,15) aren't shifted. Though I applied the offset to phases rather than pixel_clock_delay.
Attached is a comparison of the results against the colors from the captures: the trouble with Below the Root seems to be that a select few colors are still off (see colors #2 and #9 in mode 4). Any idea what could cause that, if the chroma colors (and most of the artifact colors) appear to be correct?
Ah okay. In that case, three possibilities spring to mind - two easy to fix, one more difficult.
One is that just tweaking the hues of some of the artifact colours a small amount might fix things. Nybble 2 is red and black pixels, so maybe tweaking phases a bit (while leaving the other entries of phases alone) would get you that reddish brown for nybble 2 without affecting the colour of nybble 10 too much.
The second is that the correct pixel_clock_delay might be different for 2bpp mode than for 1bpp mode.
The third one is more difficult - it could be that pixels start and end in slightly different places depending on their colours. In my patch I mentioned such a possibility in the comment "The pixel clock delay calculation is not accurate for 2bpp, but the difference is small and a more accurate calculation would be too slow." Well, maybe in this case the difference is large enough to be visible. The trouble is that without knowing exactly what the circuitry inside the PCjr's PAL is, there's no way of knowing exactly what those delays should be, and there's enough variables that tuning them all would be equivalent to just manually choosing a colour for each possible nybble.