The actual effect in this specific case is indeed simple scrolling, but it is definitely not obvious that it would work this way because GBVideoPlayer doesn't render by tiles. Remember the image GBVideoPlayer constructs with its tilemap and tileset (Right part in the picture below) is just plain horizontal lines and draws it frames with SCY hacks, so theocratically SCX shouldn't have had any effect on this.
What I'm describing isn't what
the LCDC is rendering, but when
does it render each pixel on a scanline, taking SCX into account. Note that in this specific case SCX = 0, SCX = 8, and SCX = 16 will look exactly the same
, not shifting the image at all.
Higan, BGB and SameBoy all correctly emulate this behavior in this specific scenario
, but probably for different reasons since I never found any documentation of it. I haven't tried to create a test ROM that proves my theory incorrect. In fact, I highly suspect it is, but I don't have a better theory yet, mostly because I don't have an appropriate test ROM.
I hope that explanation makes more sense now.
Now considering Higan does support this behavior, what is your theory on this? Why would SCX even have an effect on that scenario? What would the timings be if you change SCX inside a scanline? That last question is where my theory breaks since this allows you to make a REALLY long scanline.