One thing I might try next is to use the HAM screen mode as a polygon filler. You'd only need HAM5 as well, not full HAM6.
The theory is, fill the whole screen with $10 which copies the pixel to the left but changes the blue component, then you can fill any shape instantly by using the paletted colours $0-$F (as long as these colours only use red and green components), simply plot the colour you want down the left hand edge and make sure to set it back again on the other edge. One could render something like a tunnel fairly easily.