> > low-resolution and high-resolution scanlines can be mixed,
> It's worse than that, some systems can change pixel clock mid scan line and not all
> systems have resolutions that are integer doubles.
yeah, that would be worse.
Luckily I've not actually encountered any that do that myself, for the systems I've encountered they specifically say that pixel clock changes only take place for the next frame, although you can change multiplier mid-scanline. I'd imagine if you're changing the actual pixel clock mid scanline that's very tricky to create a stable display with even on real hardware.
obviously for such cases there's even less chance of this kind of 'make assumptions based on surrounding pixels' type shader working.
but yeah, that's the type of thing that MAME will need to handle in the future.
the gist of it is that horizontal resolutions don't really exist.
IIRC there are demos on some systems that change the resolution when outside of the visible screen area to trick the hardware into giving them more DMA cycles too because in the lower resolutions you get more cycles and the hardware wasn't designed to be smart enough to give them to you anyway if you were outside of the visible part of the sceen. I remember reading that, although can't recall the system right now.